我已经使用BotFather、https://t.me/botfather创建了一个电报机器人
在Raspberry服务器中,我有一些python代码来应答写给bot的消息。
它使用"pyTelegramBotAPI“并基于下面的代码https://www.flopy.es/crea-un-bot-de-telegram-para-tu-raspberry-ordenale-cosas-y-habla-con-ella-a-distancia/
基本上它做的是"bot.polling()“
当我使用智能手机的Telegram应用程序向机器人中写入消息时,它工作得很完美。
问题是当我使用"bash“+ "curl”+ "POST“从另一台计算机向机器人中写入消息时。
服务器没有接收到bash消息,因此不会应答它。
有人能为我遗漏的任何概念提供一些帮助吗?
PD,- bash+curl代码是这样的
#!/bin/bash
TOKEN="1436067683:ABGcHbGWS3ek1UdKvyRWC7Xtuv1DuyvT6A4"
ID="304688070"
MENSAJE="La Raspberry te saluda."
URL="https://api.telegram.org/bot${TOKEN}/sendMessage"
curl -s -X POST ${URL} -d chat_id=${ID} -d text="${MENSAJE}" PD #2。-现在我使用"json“,并且达到了一个有趣的情况:
curl -v -X POST -H 'Content-Type: application/json' -d '{"chat_id":"${ID}", "text":"${MENSAJE}"}' ${URL_sndmsg} ..。产生..。
{"ok":false,"error_code":400,"description":"Bad Request: chat not found"}..。但我没有更改ID也没有令牌...旧的代码仍然会找到聊天...
奇怪
发布于 2020-08-19 01:36:55
bot API的sendMessage端点是一个POST端点,根据the documentation的说法,您需要使用JSON数据与其通信。
您在问题中提出的请求将如下所示:
#!/bin/bash
TOKEN="1436067683:ABGcHbGWS3ek1UdKvyRWC7Xtuv1DuyvT6A4"
ID="304688070"
MENSAJE="La Raspberry te saluda."
URL="https://api.telegram.org/bot${TOKEN}/sendMessage"
curl -s -X POST -H 'Content-Type: application/json' -d '{"chat_id":"${ID}", "text":"${MENSAJE}"}' ${URL}我建议您在进行测试时不要使用-s选项,这样您就可以看到输出并弄清楚它。
https://stackoverflow.com/questions/63447134
复制相似问题