在eJabberd中删除XMPP消息

最大限度

我正在尝试过滤eJabberd中的消息。我收到带有类型服务的消息,对其进行处理,然后将其删除。

我的方法:我只是将return packet设置为<query xmlns="urn:xmpp:receipts"><query>有没有更好的丢包方法?

on_filter_packet({From, To, XML} = Packet) ->
    ?INFO_MSG("on_beanstalkd ~p~n", [Packet]),
    Type = xml:get_tag_attr_s(<<"type">>, XML),
    DataTag = xml:get_subtag(XML, <<"data">>), 

    case Type =:= <<"service">> of
    true -> 
        JSON = xml:get_tag_cdata(xml:get_subtag(XML, <<"body">>)),
        {inserted, ID} = beanstalk:put(BeanstalkdPid, JSON),
        Return = #xmlel{name = <<"query">>, attrs = [{<<"xmlns">>, <<"urn:xmpp:receipts">>}]};
    false ->
        Return = Packet
    end,   
    Return.
乐高积木

您可以只返回atom drop,ejabberd会丢弃该数据包。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在eJabberd中删除XMPP消息

来自分类Dev

在ejabberd中存储消息

来自分类Dev

在ejabberd中存储消息

来自分类Dev

XMPP ejabberd中的实时数据流

来自分类Dev

在ejabberd中过滤消息包的主体

来自分类Dev

如何在 ejabberd 的 xmpp 消息正文中附加自定义数据

来自分类Dev

XMPP流量记录(ejabberd 13.12)

来自分类Dev

XMPP流量记录(ejabberd 13.12)

来自分类Dev

设置 EjabberD XMPP VCard 昵称

来自分类Dev

Ejabberd-将离线消息存储在mysql中

来自分类Dev

Ejabberd-将离线消息存储在mysql中

来自分类Dev

收件人在 Ejabberd 中突然断开时消息丢失

来自分类Dev

XMPP框架中的进程1扩展,用于ejabberd快速重新连接和推送模式

来自分类Dev

XMPP XEP-0198在eJabberd版本2.1.10中不起作用

来自分类Dev

如何在android logcat中以xml格式查看xmpp消息?

来自分类Dev

XMPP阻止消息

来自分类Dev

Facebook XMPP聊天消息

来自分类Dev

xmpp ejabberd-查询用户状态

来自分类Dev

如何从XMPP获取ejabberd的聊天记录

来自分类Dev

如何从ejabberd / xmpp获取最新的房间主题?

来自分类Dev

从消息队列中删除定义数量的消息

来自分类Dev

大消息不会从消息目录中删除

来自分类Dev

在PHP中删除调试消息

来自分类Dev

消息何时从队列中删除?

来自分类Dev

如何在iOS中通过xmpp删除单个聊天?

来自分类Dev

Ejabberd仅打印“消息”包

来自分类Dev

ejabberd不会将未经确认的消息存储到脱机存储中

来自分类Dev

如何从 Erlang 中的 MucSub 事件中提取嵌套的 ejabberd 消息元素

来自分类Dev

如何在Smack 4.1中的XMPP消息标记中添加自定义属性(昵称)