mark9804/Adachi-BOT-fork

发送米游社新闻失败?

Closed this issue · 10 comments

问题描述

发送新闻失败?

复现流程

--

后台日志

错误:消息发送失败,因为“不能转换错误的信息:原神 x 高德地图丨 锵锵,可莉登场!
[CQ:image,type=image,file=base64://……]
>>>点击前往下载可莉导航语音<<<
https://bbs.mihoyo.com/ys/article/14728705”。

代码状态:当前提交

--

代码状态:是否修改

No response

运行环境: Node.js 版本

No response

运行环境: npm 版本

No response

运行环境:操作系统

Linux

其他消息能发,大概是个网络不好产生的bug吧,关了

迪奥娜生日快乐也发不出

发了好几遍

其他消息能发,大概是个网络不好产生的bug吧

这是 bug ,但是和网络无关, Arondight@19ad053#r64016906

这是 bug ,但是和网络无关, Arondight@19ad053#r64016906

我在自己 mac 上跑的测试机器人成功发送了可莉的消息,所以第一个想法是网的问题,第二个想法是会不会我合完代码忘记 restart 了(合完 c092f63 之后重启了一下),之后就是重复发送消息的问题

重复消息我暂时没有想法,得晚上回去看 log 才能猜,upstream/dev 分支的 bot 和我的 raspi 分支的 bot 都在重复发送,所以才开的 discussion 看看是不是普遍情况,现在看来是我自己网的问题导致的?

这个功能的代码我最近还没时间看,目前的想法是新建一个特征表存储已经发送过的消息的某个特征值(比如米游社 post id ),发送之前先过一遍特征表

目前是有这个可能性的,如果你一轮通知五分钟内没有发完,就会重复发送一遍,同理两个五分钟内没有发完,就会发两遍

想法是新建一个特征表存储已经发送过的消息的某个特征值

跟这个没有关系,纯粹是消息发的太慢了,如果你一个消息广播了十分钟没结束,那么特征值也不应该写到数据库,下一轮还会广播,知道上一轮结束写入了数据库,这个循环才会中止

我本地改了一下推上去了,你拉下来看看,应该没问题了

测试的话,就是更新代码,停止 bot ,更改 data/db/news.json ,把 data.timestamp 字段的每个条目最后一位数字改成 0 ,然后启动 bot ,等几分钟

另外为啥我可以关这个 issue ,如果我是这个仓库的协作把我踢掉好了,没有用

感谢老大哥,我测试一下

之前老大哥帮忙覆盖拉取的时候给了老大哥权限,刚刚去掉了