我正在使用我的机器人来讲述重要新闻,但当我使用sendMessage该频道时,我收到以下错误:
{"ok":false,"error_code":403,"description":"Error: Forbidden: bot is not a participant of the channel"}
Run Code Online (Sandbox Code Playgroud)
在更改日志中,他们提到通过客户端无法向频道发送消息,但是另一种方法是什么呢?
那么,问题是,如何将我的机器人添加到频道?
Sta*_*hin 105
现在所有客户都允许这样做,但这并不简单.
在任何Telegram客户端:
Administrators小智 49
这就是我在我的频道添加机器人并设置通知的方法:
telegram.me/ whateverIWantAndAvailable
频道ID将是 @whateverIWantAndAvailable
现在设置你的机器人通过在这里发送消息来发送通知:
https://api.telegram.org/botTOKENOFTHEBOT/sendMessage?chat_id= @ whateverIWantAndAvailable &text = Test
机器人将通知的消息是:测试
我强烈建议像这样的消息的urlencode
https://api.telegram.org/botTOKENOFTHEBOT/sendMessage?chat_id= @whateverIWantAndAvailable与文本= 测试%20if%20this%20works
在php中你可以使用urlencode("测试这是否有用"); 在js中你可以encodeURIComponent("测试这是否有用");
我希望它有所帮助
apa*_*ana 22
截至目前:
要将僵尸程序添加到您的频道:
*在某些平台,如mac本机电报客户端,它可能看起来像你可以添加机器人作为成员,但最后它将无法正常工作.
**机器人不需要在您的联系人列表中.
小智 5
您是否使用了正确的 chat_id 并在地址中的“bot”之后包含了您的机器人令牌?(api.telegram.org/bot token /sendMessage)
这个页面解释了一些关于发送的事情(在“sendMessage”部分) - 基本的东西,但我经常忘记基本的东西。
报价:
为了使用 sendMessage 方法,我们需要使用正确的 chat_id。
首先,让我们通过 Telegram 客户端向我们的机器人发送 /start 命令。
发送此命令后,让我们执行 getUpdates 命令。
curl -s \
-X POST \ https://api.telegram.org/bot<token>/getUpdates \ | jq .
Run Code Online (Sandbox Code Playgroud)
响应将如下所示
{ "result": [
{
"message": {
"text": "/start",
"date": 1435176541,
"chat": {
"username": "yourusername",
"first_name": "yourfirstname",
"id": 65535
},
"from": {
"username": "yourusername",
"first_name": "yourfirstname",
"id": 65535
},
"message_id": 1
},
"update_id": 714636917
} ], "ok": true }
Run Code Online (Sandbox Code Playgroud)
我们对属性 result.message[0].chat.id 感兴趣,将此信息保存在别处。
请注意,这只是一个示例,您可能需要设置一些自动机制来处理这些信息 现在我们如何发送消息?很简单,让我们看看这个片段。
curl -s \
-X POST \ https://api.telegram.org/bot<token>/sendMessage \
-d text="A message from your bot" \
-d chat_id=65535 \ | jq .
Run Code Online (Sandbox Code Playgroud)
其中chat_id是之前保存的那条信息。
我希望这有帮助。
| 归档时间: |
|
| 查看次数: |
123581 次 |
| 最近记录: |