首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向XMPP/Jabber会议室发送消息的简单方法?(Shell或Python,Debian wheezy)

向XMPP/Jabber会议室发送消息的简单方法?(Shell或Python,Debian wheezy)
EN

Stack Overflow用户
提问于 2014-07-29 17:43:25
回答 4查看 2.2K关注 0票数 1

将消息发送到XMPP/Jabber会议室的简便方法是什么?是在命令行(Shell),还是使用Python?理想情况下,所有的命令和/或库都应该在Debian wheezy (或jessie)中可用,而不使用pip。

EN

Stack Overflow用户

发布于 2014-07-29 18:15:32

第一

代码语言:javascript
复制
apt-get install python-pyxmpp

然后,像这样的东西

代码语言:javascript
复制
from pyxmpp.all import JID,Iq,Presence,Message,StreamError
from pyxmpp.jabber.muc import MucRoomState, MucRoomManager, MucRoomHandler
from pyxmpp.jabber.client import JabberClient
from pyxmpp.interface import implements
from pyxmpp.interfaces import *
from pyxmpp.streamtls import TLSSettings

def execute(user, password, tls_option, message_handler, idle_function, delay=1):
    global client, roomManager
    tls_settings= TLSSettings(require = True, verify_peer = (tls_option!='tls_no_verify'))
    client= Client(JID(user), password, tls_settings)
    client.connect()

    EchoHandler.message= message_handler
    roomManager = MucRoomManager(client.stream);
    roomManager.set_handlers()


def joinMUC( handler, room_jid, nick, password= None):
    global roomManager
    handler.password= password
    roomState = roomManager.join( room=JID(room_jid), nick=nick, handler=handler, history_maxchars=0, password= password )
    return roomState

from pyxmpp.jabber.muc import MucRoomHandler
roomManager= None
execute(username, password, 'tls_no_verify', process_message_callback, periodic_callback)
state= joinMUC( room_handler, "conferencename@mydomain.tld", user, passwd)
state.send_message("something spammy!")

我从我放在那里的一些旧代码中窃取了这一点,现在我没有办法对其进行测试,但这应该是一个很好的起点。请随意改进它。

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25012370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档