通过 python 向 Telegram Bot 发送短信

Rus*_*war 4 python telegram 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")
Run Code Online (Sandbox Code Playgroud)

预期输出是什么:它应该发送一条短信

当前输出是什么:什么也不打印

如果有人帮忙,那就太好了,谢谢大家

编辑:2

由于未安装以下依赖项,因此无法发送文本。

$ pip install flask
$ pip install python-telegram-bot
$ pip install requests
Run Code Online (Sandbox Code Playgroud)

现在有人可以帮我发送照片吗?我认为它无法通过 URL 发送图像,谢谢大家

**编辑3 **

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

Ami*_*mar 6

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

发生此错误的主要原因是代码中存在空格或制表符错误。由于 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!")
Run Code Online (Sandbox Code Playgroud)

使用机器人库发送图片可能会更容易bot.sendPhoto(chat_id, 'URL')

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