繁体   English   中英

在Telegram Bot API中不能“send_message”

[英]Cannot “send_message” in Telegram Bot API

在我自己的库中,我正在尝试使用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")

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

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

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

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

还要记住, @后面的内容应该是频道用户名 ,而不是标题。

在向频道发送消息时,我认为最简单的方法是使用频道ID发送消息...有几种方法可以获取频道ID

  1. 如果僵尸程序是渠道中的管理员(转到“添加管理员...”并搜索您的机器人添加它),那么在渠道中发送的任何消息,机器人将能够看到它,并在每条消息中有一个发件人的ID,如果它在一个频道,它的频道ID ...
  2. 使用这个机器人@ChannelIdBot ...虽然机器人仍然需要作为管理员在频道中,以便发送消息...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM