首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python bot服务器不接收bash消息-缺少概念

python bot服务器不接收bash消息-缺少概念
EN

Stack Overflow用户
提问于 2020-08-17 16:21:06
回答 1查看 86关注 0票数 0

我已经使用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代码是这样的

代码语言:javascript
复制
#!/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“,并且达到了一个有趣的情况:

代码语言:javascript
复制
curl -v -X POST -H 'Content-Type: application/json' -d '{"chat_id":"${ID}", "text":"${MENSAJE}"}' ${URL_sndmsg} 

..。产生..。

代码语言:javascript
复制
{"ok":false,"error_code":400,"description":"Bad Request: chat not found"}

..。但我没有更改ID也没有令牌...旧的代码仍然会找到聊天...

奇怪

EN

回答 1

Stack Overflow用户

发布于 2020-08-19 01:36:55

bot API的sendMessage端点是一个POST端点,根据the documentation的说法,您需要使用JSON数据与其通信。

您在问题中提出的请求将如下所示:

代码语言:javascript
复制
#!/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选项,这样您就可以看到输出并弄清楚它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63447134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档