文章目录 [显示]
今晚想在 rssbot 上订阅一个博客,发现发了消息竟然没反应。心想可能是容器挂了,上去重启一下。
竟然还没好,而且发现 logs 里有这么怪的一行
error: Error("expected `,` or `}`", line: 2, column: 2388),
这啥?
rssbot.json
坏了?用json.load
试了一下没问题
程序有问题?触发了一个 GitHub actions,从 release 里下载了 binary,也没问题
Rust 的 json 解析有问题?弄了一个空的 json 文件,也还是同样报错。
网络问题?明明是直接在梯子上运行的。
容器问题?直接跑在 alpine 的容器里,host OS 上,也不行
Bot 的 token 失效了?revoke 重新生成一个,还不行。
换个其他 bot 的 token,竟然可以了。
难道是我的 rssbot 被 Durov 扬了?拿起来 bot HTTP api 试试看
- import telebot
- from telebot import apihelper
- import logging
- logging.basicConfig(level=logging.INFO)
- apihelper.proxy = {'https': 'socks5h://127.0.0.1:1080'}
- TOKEN = "548k4qc"
- bot = telebot.TeleBot(TOKEN)
- print(bot.get_me())
活着呢啊……
那是不是 incoming message 被扬了?
- @bot.message_handler(commands=['start', 'help'])
- def send_welcome(message):
- bot.reply_to(message, "Howdy, how are you doing?")
- if __name__ == '__main__':
- bot.polling()
也好用啊……
那再跑一次?竟然好了……
推测原因
不知道为什么莫名其妙的就好了,前前后后花了一个多小时的时间。
推测是,由于这个程序写的有些 bug,导致没能处理用户发送的消息,然后 telegram Bot API 会缓存一定数量的消息,当用户开始 polling 时会发送 updates。但是由于有 bug,导致 bot 无法处理 updates,所以所有后续的 updates 都被 block 住了。
当我用 Python 版本开始 polling 时,updates 就被处理完成了,导致 rssbot 出 bug 的那个 update 也被消耗掉了。
🤦♂️算了我要切换到 inoreader 了