python - 无法在 Telegram Bot API 中使用 "send_message"

标签 python api telegram telegram-bot

在我自己的库中,我尝试使用来自 Telegram Bot API 的 "sendMessage" API 方法发送消息。我创建了一个名为“my_channel123”的 channel ,我的用户名为“my_username123”。所以我是 channel 的管理员,也是唯一的用户。

当我尝试从机器人向整个 channel 或我自己发送消息时,我收到错误 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")

我认为错误出在 channel ID 或用户名或两者的格式中。这 3 个调用都正确吗,意思是我用于 chat_id 的格式是否正确?

请注意,最有可能的情况是聊天 ID 或用户名(或者更确切地说,格式)或其他东西因为我的库中的其他 post 和 get 方法可以正常工作。

最佳答案

您必须将机器人添加为 channel 的管理员,然后它才能向 channel 发送消息。在你这样做之后,你的第一行应该可以工作:

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

另请记住,@ 后面的内容应该是 channel 用户名,而不是标题。

关于python - 无法在 Telegram Bot API 中使用 "send_message",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33839496/

相关文章:

iphone - Google Analytics 跟踪在 ios 上对我不起作用,我的 GANTrackerDelegate 永远不会被调用

java - 我们可以做任何我们使用 keytool 和 java.security api 的事情吗,比如 KeyPairGenerator 等

c# - 使用 TLSharp 库转发消息 (C#)

python - 想在 python 中调整终端窗口的大小,工作但不太正确

python - new.instancemethod 在重载脚本中转换为 python 3.3

api - 通过彭博数据许可证验证 OCC 期权符号

java - Telegram Bot 检查该机器人是否在群组中被提及

go - 检查哪些用户向 Telegram Bot 发送表情符号

python - 为什么线性读混排写入不比随机读线性写入快?

python - Python-版本列表而不是不可变列表?