在我自己的库中,我试图使用来自telegram bot api的“send message”api方法发送消息。我创建了一个名为“MyChhanNel123”的频道,我的用户名是“MyuUsReNAME123”。所以我是频道的管理员,也是唯一的用户。
当我试图从一个BOT向整个频道或我自己发送一条消息时,我得到一个错误Bad request 400。我就是这么做的:

my_bot.send_message(chat_id="@my_channel123", text="tetfdsfd")

# or
my_bot.send_message(chat_id="@my_channel123my_username123", text= "tetfdsfd")

# or
my_bot.send_message(chat_id="@my_username123", text="tetfdsfd")

我相信错误是以信道或用户名的ID格式或两者兼而有之。这3个电话都正确吗,这意味着我用来聊天的格式正确吗?
注意,最有可能的情况是聊天室的id或用户名(或者更确切地说,格式)或其他东西,因为我的库中的其他post和get方法工作正常。

最佳答案

在将消息发送到通道之前,必须添加BOT作为通道的管理员。在你这样做之后,你的第一行应该是:

my_bot.send_message(chat_id="@my_channel123", text="tetfdsfd")

还要记住,遵循@的任何东西都应该是频道用户名,而不是标题。

10-02 10:57