问题标签 [sleekxmpp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Ejabberd - 通过 Bot 发送和接收消息
我编写了一个机器人B
,它接收来自客户端的消息C1
并将其转发给客户端C2
,即 2 人可以通过网关连接Bot
。
我正在使用Sleekxmpp,一个用于上述目的的 python 客户端 XMPP 库。
现在客户端C2收到BOT消息的问题。它应该从客户端 C1 接收它。为此,我需要 C1 的密码来授权 C1,我在消息正文中没有它,在正文中发送密码也不安全。
创建网关 BOT 的最佳方法是什么?
python - SleekXMPP-How to check whether the user is authenticated or not?
As the question says, how can I do it? following is the code-
I can see that printing in the logs, but I rather want to check it in the code as well. How can I do it?
xmpp - XMPP - 名册订阅说明
考虑我的 Jabber 服务器上有 2 个用户 Alice 和 Bob。要将订阅添加到名册中both
,我需要执行以下步骤:
Alice 向 Bob 发送订阅请求。
当 Bob 收到请求时,他会批准它。
Bob 也可能对 Alice 的存在感兴趣,所以他订阅了她。
Alice 需要批准 Bob 的请求。
但
现在考虑,Bob 不在服务器上,即他未注册,Alice 试图将他添加到她的名册中。
以下是将要执行的步骤:
Alice 向 Bob 发送订阅请求。
Bob,未注册,没有收到请求。
Alice->Bob 订阅设置为
None
.流程到此结束。
现在,鲍勃自己注册了。爱丽丝如何知道鲍勃自己注册了并且她需要subscription
再次发送请求或者鲍勃如何将通知推送给将他添加到他/她的名册中的每个用户?哪个XEP/Ejabberd 模块可以处理这个问题?
我们调试了 Whatsapp 并了解到,在这种情况下,Bob 会向所有将他添加到他们的名单中的用户推送通知。
python - SleekXMPP 和 Flask Socketio 挂线
我正在尝试创建可以从浏览器控制的 XMPP 客户端。我将 SleekXMPP 用于 XMPP 客户端,将 flask-socketio 用于网站,因此我可以将信息从 XMPP 服务器中继到我的 XMPP 客户端到我的网站前端。如果我使用纯烧瓶,我需要轮询我的服务器以获取其他更新,我宁愿让服务器推送到我的客户端。
我在线程方面遇到了一些问题。连接到服务器工作正常。但是当我断开连接时,我收到一个错误,显示无法杀死 3 个线程。如何在断开连接时杀死这些线程?或者为什么他们没有被杀死?还是我应该使用更好的设置?
谢谢!!
错误:
这是我的python脚本。
对于我的前端
python - 使用 SleekXMPP 在消息节中发送带有自定义元素的 XMPP 消息
我正在开发一个XMPP 机器人,它将向发件人发送/回复一条消息,其中包含以下附加元素
我尝试使用 SleekXMPP Object
,Iq
但Message
无法达到目标。此外,我还尝试使用send_message
方法。
我不确定我的谷歌搜索关键字是否不正确,但我找不到与此相关的任何文档或指南。但是,我确实找到了可能对插件创建相关的指南有所帮助。如果有人可以帮助我,将不胜感激。
谢谢
python - 订阅新收件人:update_roster() 似乎挂起
我有一个小的 python 脚本可以将 xmpp-messages 发送给给定的收件人。如果收件人有现有的订阅,这很好用 - 否则消息将不会被传递。
由于系统定期有新用户,我想到了使用update_roster(recipient,block=False,subscription="both")
. 但不幸的是,脚本似乎挂在那里。
为什么?
请参阅下面的代码...
python - SleekXMPP:“证书已过期。”
我目前正在尝试使用 Python3.5 中的 slimxmpp 模块连接到 XMPP 服务 jabber.at。Jabber.at 的 SSL 证书由 Let's Encrypt 颁发。
我遇到的问题是,当我尝试使用 slimxmpp 登录到我的 jabber.at 帐户时,我收到以下错误:
我已尝试在 Ubuntu 16.04、Manjaro GNOME 17 和 Windows 10 上解决此问题,并在每台机器上全新安装 Python、sslixxmpp 和所有 slimxmpp 依赖项。这并没有什么不同。
在我的每台机器上,我都安装了Let's Encrypt Authority X3 证书,但 slimxmpp 仍然认为证书已过期,即使证书有效期至 2022 年。令人沮丧的是,我能够使用 Pidgin 登录到我的 XMPP 帐户,而且 Pidgin 自动保存的证书(在 Linux 中可以在 ~/.purple/ 下找到)与我直接从 Let's Encrypt 下载的证书完全相同。
我已经尝试手动将 ssl 版本更改sleekxmpp.xmlstream.xmlstream.py:125
为ssl.PROTOCOL_SSLv23
,但这也不起作用。我也尝试过手动指定 Let's Encrypt .crt 文件的路径sleekxmpp.xmlstream.xmlstream.py:140
,但我仍然遇到同样的问题。
我应该注意,我确实在每台机器上都安装了dnspython
、pyasn1
和。pyasn1_modules
虽然我可以通过卸载成功登录到我的 jabber.at 帐户,或者通过设置为pyasn1
明确忽略证书,但这不是我的解决方案 - 我必须加密我的连接。sleekxmpp.xmlstream.xmlstream.py:140
None
有什么我可以做的吗?我已经在这几天了,我还没有在谷歌上找到任何有用的解决方案。
我很感激任何帮助!
nginx - 带有 uwsgi、flask 和 slimxmpp 的 Nginx 服务器
我正在尝试通过将 nginx 服务器与 uwsgi、flask 和 slimxmpp 一起使用来处理一些消息。这是代码。
我使用这些选项通过 uwsgi 运行代码。
当我通过键入命令运行 uwsgi 时,例如“/usr/sbin/uwsgi --ini uwsgi.ini”,它运行良好。我可以发送和接收消息。但是,当我在 CentOS 7 的服务上运行它时,recieve 工作正常,但 send 不工作。我需要更多选择还是缺少一些东西?
python - Python 3 中的 XMPP 线程接收器
我想要做的是使用 Slixmpp 库设置一个 XMPP 接收器,该库在整个脚本执行过程中侦听消息。我认为线程库可能会提供一个解决方案,所以尝试过。这个脚本是一个在线PvP游戏,我需要不断地接收来自对手的信息。
这是我尝试过的代码:
这将返回以下错误:
python - 套接字尝试连接异常
我正在使用slimxmpp将 python 响应发送到即时信使。我有一个活动服务器和一个备份服务器。
目前我正在连接到文档中描述的活动服务器。
最近我收到了一个[WinError 10061] ConnectionRefusedError
. 我不想手动将服务器更改为备份服务器,所以我尝试实现一个try-except
块。
这是我到目前为止得到的
执行脚本后,我收到带有打印的错误消息。到目前为止,一切都很好。但是现在如果与主服务器的第一个连接失败,我想实现第二个连接。
我对 python 中的异常和套接字很陌生,我不知道如何实现这一点。我尝试了下面的块,但脚本自动中止了 try 块的打印。
你能提供一些帮助吗?
编辑: 我现在有一个可行的解决方案,但这似乎是非常糟糕的编码。
首先xmpp.process
是必要的。其次s.connect()
,我认为只是连接到套接字,但xmpp.connect()
需要将 python 脚本连接到 IM 服务器。换句话说:我检查我是否可以连接到ctive_server:myport
一般,如果可以,我通过xmpp.connect()
. 但一定有比我更好的解决方案