将消息发送到XMPP/Jabber会议室的简便方法是什么?是在命令行(Shell),还是使用Python?理想情况下,所有的命令和/或库都应该在Debian wheezy (或jessie)中可用,而不使用pip。
发布于 2014-07-29 18:15:32
第一
apt-get install python-pyxmpp然后,像这样的东西
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!")我从我放在那里的一些旧代码中窃取了这一点,现在我没有办法对其进行测试,但这应该是一个很好的起点。请随意改进它。
https://stackoverflow.com/questions/25012370
复制相似问题