【Python求助】如何通过websocket连接http插件以注册事件

[复制链接]
查看: 165   回复: 3
qmsljl 发表于 2020-8-17 21:03:54 来自手机 | 显示全部楼层 |阅读模式
rt,希望能在http插件里提供一个Demo供参考,感谢
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复 关闭延时

使用道具 举报

xiaoyang888 发表于 2020-9-1 15:02:26 | 显示全部楼层
同求一个例子 谢谢
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

xiaolajiQAQ 发表于 2020-9-7 21:11:35 | 显示全部楼层
用request 127.0.0.0:5700可以吗?
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

zhbzhbzhbz 发表于 2020-9-11 16:50:02 | 显示全部楼层
本帖最后由 zhbzhbzhbz 于 2020-9-11 16:51 编辑
  1. async def websocket_receive():
  2.     async with websockets.connect("ws://localhost:10429/ws") as websocket:
  3.         while True:
  4.             msg = await websocket.recv()
  5.             parse_message(msg)

  6. # 处理消息的函数
  7. def parse_message(msg):
  8.     event = json.loads(msg) # 转换成字典
  9.     print(event)
  10.     if event['Type'] == "GroupMsg":
  11.         sender_qq = event['FromQQ']['UIN'] # int
  12.         print(sender_qq)
  13.         sender_name = event['FromQQ']['Card'] # int
  14.         print(sender_name)
  15.         time = event['TimeStamp']['Recv'] # int
  16.         print(time)
  17.         group_qq = event['FromGroup']['GIN'] # int
  18.         print(group_qq)
  19.         group_name = event['FromGroup']['name'] # int
  20.         print(group_name)
  21.         text = event['Msg']['Text'] # 文件名和文件Id也在这里
  22.         print(text)

  23. asyncio.get_event_loop().run_until_complete(websocket_receive())
复制代码
补充一下,在942512455群(http-api)的群公告中提到:
关于HTTPAPI WebSocket自动掉线
为了节省资源,60秒无任何数据包发送到服务端,连接将被断开
需解决此问题,请创建一个线程每隔10秒向服务端发送一个长度不为0的数据包
这个还没实现,有点麻烦,我估计得开两个线程,每个线程建立一个websocket连接吧
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

您需要登录后才可以回帖   登录 立即注册

高级模式

qmsljl

楼主

|Archiver|手机版|小黑屋|小栗子机器人社区

Powered by 小栗子机器人社区 X3.4 © 2001-2020 Comsenz Inc.