今晚想在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了