登录 立即注册

首页 > 绿虎论坛 > 建站 > 讨论/求助 (发帖)

标题: 【已实现】继续发布任务,谁有兴趣帮虎绿林写个内信和@消息的WebSocket推送服务

作者: @Ta

时间: 2023-03-08发布,2023-03-19修改

点击: 76000

因为有很多用户进行@消息轮询,虎绿林开始变卡了,所以有必要切换到WebSocket推送。

编程语言不限,需要实现用户身份认证(基于http cookie hu60_sid,应该可以获取到吧)。

参考这个微信推送服务,连接阿里 canal 来获取内信和@消息的实时通知:
https://github.com/hu60t/hu60wap6/blob/master/src/service/wechat-push.php

部署测试环境的方法可以参考 https://hu60.cn/q.php/bbs.topic.102524.html
【可选】步骤21:微信推送服务里面提到了如何部署阿里canal。


[隐藏样式|查看源码]


『回复列表(42|显示机器人聊天)』

1.

如果有人能帮虎绿林做个测试环境的docker镜像,那就再好不过了。我没时间做。

(/@Ta/2023-03-08 22:19//)

2.

关于 @rkonfj 之前提到的ChatGPT机器人功能设想:

该系统可以分为两个模块。一个模块负责维护应用层的用户会话并实现通用的聊天api(REST 或者 WebSocket ),可以暂且称为 chat-server;另一个模块负责和ChatGPT网页chat-server模块交互,暂且称为chat-agent(即为老虎你现在在做的油猴脚本)。
每个拥有 OpenAI 的账号都可以运行chat-agentchat-server拥有所有agent的信息,可以在收到新会话时分配给不同的agent去处理。

如果有人有兴趣,也可以集成在WebSocket推送服务里。比如,推送服务可以把某些uid的@消息设置为公开可见,所有人都可以订阅它的消息。然后它有消息过来时,随机选择一个订阅者发送,然后这个订阅者就可以通过同一连接回复该消息。如果某个订阅者成功回复了消息,此后对于同一用户发来的@消息,都优先转发给这个订阅者(以便保持用户的会话记忆),直到这个订阅者下线。

这样就能实现任何人都能接入机器人了。

不过为了防止滥用,还是需要对用户进行身份认证。用户首先得是一个合法的虎绿林用户,才能订阅机器人消息。这样如果有人捣乱,可以根据uid拒绝他接入。此外,还需要设计为只有收到消息的连接才可以回复,并且收到一条消息只能回复一条消息。还可以设计一个功能,当用户发送类似“屏蔽当前机器人”之类的内容时,给他换个机器人。

(/@Ta/2023-03-08 22:31//)

3.

@胡椒舰长 提供了一个新思路,我们其实可以搭建一个单独的WebSocket推送服务,然后再把 https://github.com/hu60t/hu60wap6/blob/master/src/service/wechat-push.php 改造一下,让它使用stream_socket_send发送到websocket推送服务,这个推送服务再发送给用户。

(/@Ta/2023-03-09 09:37//)

4. @老虎会游泳,这个程序是挂第三方还是你的机器上呢,如果是你的机器上可以直接操作mysql,或者再给虎绿林再构建一个模块,用户账号密码通用就行了
(/@Ta/2023-03-09 09:48//)

5.

@c,我的机器上

(/@Ta/2023-03-09 09:57//)

6.

@c,目前的需求是,对于@消息,应该从ali canal处获取新消息推送,不能轮询MySQL。进行用户身份认证的时候可以查询MySQL。

(/@Ta/2023-03-09 09:59//)

7. @老虎会游泳,那可以考虑做个聊天室模块,然后共享local密码鉴权,实际上你的机器只跑websocket agent
(/@Ta/2023-03-09 09:59//)

8.

@c,目前的需求是,使用cookie中的hu60_sid进行用户身份认证和用户隔离。

(/@Ta/2023-03-09 10:00//)

9. 老虎可以弄一个开发者设置,把消息推送到设置的url里面,跟公众号类似的
(/@Ta/2023-03-13 20:01//)

10.

@老虎会游泳@xggz
一加8Pro

(/@Ta/2023-03-14 01:31//)

11.

@罐子@xggz,你们有兴趣可以对微信推送程序进行改造,添加该功能。

(/@Ta/2023-03-14 01:39//)

12.

websocket服务器也可以基于微信推送程序进行改造。

(/@Ta/2023-03-14 01:40//)

13. 虎60的提醒信息保存多久啊,chat给出的代码段,很有作用,如果想想以后查阅,会被清空吗
(/@Ta/2023-03-15 05:35//)

14. 还有我用的比较频繁,我想赞助你一些费用,这样我一直用都不好意思
(/@Ta/2023-03-15 07:46//)

15. @张小强,提醒消息理论一直保留,聊天室里的对话记录可能会被清空,但是ChatGPT艾特你的提醒消息会一直保留在你的提醒界面里。
(/@Ta/2023-03-15 08:57//)

16. @张小强,你可以用这个笔记插件存起来啊!https://hu60.cn/q.php/bbs.topic.104572.html
(/@Ta/2023-03-15 11:47//)

17. @老虎会游泳,还有我用的比较频繁,我想赞助你一些费用,这样我一直用都不好意思
(/@Ta/2023-03-15 11:56//)

18. @TabKey9,稳不稳
(/@Ta/2023-03-15 11:58//)

19.

@张小强,等@hu60bot的费用耗尽我们再考虑赞助的问题

(/@Ta/2023-03-15 12:29//)

下一页 1/3页,共42楼

回复需要登录

11月22日 13:18 星期五

本站由hu60wap6华为CPU驱动

备案号: 京ICP备18041936号-1