机器人唤醒时向所有用户发送消息



我最近开始修补python,我正在创建我的第一个电报机器人,主要用于管理我的Raspberry Pi和一些与之相关的东西。机器人已经完成,但我想在机器人启动时向所有已经与机器人交互的用户发送一条消息,基本上是说"我准备好了!",但我无法找到任何关于它的信息。

API 中是否已经完成了任何特定方法来执行此操作?还是我应该创建另一个文件来存储所有用户的chat_id并使用python读取它?

谢谢大家的帮助!!问候!

你应该有一个数据库来存储与机器人交互的客户端的聊天 ID。 如果您能够将它们放入列表中,那么工作就完成了一半。 您需要做的就是创建一个"for 循环",并将消息发送到列表中的所有 ID。 例:

message = "Good morning"
chats =[1234447488,3748838477,4748848578,7463638488]
for chat in chats:
bot.send_message(chat_id=chat,text= "message")

如果客户端已删除机器人,则可能会遇到错误。你可以用tryexcept来抓住这一点。

API 中是否已经完成了任何特定的方法来执行此操作?

不,没有这样的方法。

还是应该创建另一个文件来存储所有用户的chat_id并使用python读取?

是的,你应该自己处理。通常,用户 ID 和有关User <-> Bot交互的其他信息存储在服务器上的数据库中,因为它更易于维护和搜索。

因此,如果要在文件中向用户发送纯文本消息,则应为文件中的每个用户调用SendMessage电报机器人API方法。

您应该将用户保存在数据库或文件中。之后,使用 for 逐个send_message数据库或文件中的所有用户。

是的,您应该创建另一个文件或使用数据库来存储与您交互的所有用户的chat_id。您可以检查电报机器人 API 以查看所有可用的命令。如果没有这样的命令,那么你用于 Python 的包装器中可能也不会有任何命令。

最新更新