在Telegram Bot API中不能"send_message"

Ala*_*ano 4 python api telegram telegram-bot

在我自己的库中,我正在尝试使用Telegram Bot API中的"sendMessage" API方法发送消息.我创建了一个标题为"my_channel123"的频道,我的用户名为"my_username123".所以我是频道的管理员和唯一的用户.

当我试图从机器人向整个频道或我自己发送消息时,我收到错误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")
Run Code Online (Sandbox Code Playgroud)

我认为错误是以通道或用户名的ID或两者的格式存在的.所有这3个调用都是正确的,这意味着我用于chat_id的格式是否正确?

请注意,很可能的情况是聊天或user_name的ID(或者更确切地说,格式)或其他内容,因为我的库中的其他post和get方法正常工作.

Nic*_*Lee 6

在将消息发送到频道之前,您必须将机器人添加为频道的管理员.完成后,您的第一行应该工作:

my_bot.send_message(chat_id="@my_channel123", text="tetfdsfd")
Run Code Online (Sandbox Code Playgroud)

还要记住,无论后面是什么都@应该是频道用户名,而不是标题.