python - 通过 python 向 Telegram Bot 发送短信
问题描述
我从早上开始就一直在尝试,但早些时候出现了错误,所以我有了方向,但现在没有错误,甚至没有警告..
代码的样子:
import requests
def send_msg(text):
token = "TOKEN"
chat_id = "CHATID"
url_req = "https://api.telegram.org/bot" + token + "/sendMessage" + "?chat_id=" + chat_id + "&text=" + text
results = requests.get(url_req)
print(results.json())
send_msg("hi there 1234")
预期输出:它应该发送一条短信
当前输出是什么:它什么也不打印
有人帮忙的话会很有帮助,谢谢大家
编辑:2
由于未安装以下依赖项,因此无法发送文本。
$ pip install flask
$ pip install python-telegram-bot
$ pip install requests
现在有人可以帮我发送照片吗?我认为它无法通过 URL 发送图像,谢谢大家
**编辑 3 **
我从这里找到了一个图片或视频共享网址,但我的图片是本地图片,而不是来自远程服务器
解决方案
您的代码没有任何问题。您需要做的就是适当的缩进。
发生此错误主要是因为您的代码中存在空格或制表符错误。由于 Python 使用过程语言,如果您没有正确放置制表符/空格,您可能会遇到此错误。
运行以下代码。它会正常工作:
import requests
def send_msg(text):
token = "your_token"
chat_id = "your_chatId"
url_req = "https://api.telegram.org/bot" + token + "/sendMessage" + "?chat_id=" + chat_id + "&text=" + text
results = requests.get(url_req)
print(results.json())
send_msg("Hello there!")
使用机器人库发送图片可能更容易:bot.sendPhoto(chat_id, 'URL')
注意:最好将编辑器配置为使制表符和空格可见以避免此类错误。