首页 > 解决方案 > 通过 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 **

我从这里找到了一个图片或视频共享网址,但我的图片是本地图片,而不是来自远程服务器

标签: pythontelegrampython-telegram-bot

解决方案


您的代码没有任何问题。您需要做的就是适当的缩进。

发生此错误主要是因为您的代码中存在空格或制表符错误。由于 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')

注意:最好将编辑器配置为使制表符和空格可见以避免此类错误。


推荐阅读