通过python将文本消息发送到Telegram Bot

时间:2020-07-26 16:52:31

标签: 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")

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

当前输出是什么: 它什么也没打印

如果有人帮助,那将是很大的帮助,谢谢大家

编辑:2

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

$ pip install flask
$ pip install python-telegram-bot
$ pip install requests

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

**编辑3 **

我从here找到了图像或视频共享URL,但是我的图像是本地的,而不是来自远程服务器的

2 个答案:

答案 0 :(得分:0)

这对我有用

导入电报 可在电报上与@BotFather交谈生成的#token my_token =''

def send(msg,chat_id,token = my_token): “” 向在chatId上指定的电报用户发送提示 chat_id必须是数字! “” 机器人=电报.Bot(令牌=令牌) bot.sendMessage(chat_id = chat_id,text = msg)

答案 1 :(得分:0)

您的代码没有错。您需要做的就是适当的缩进。

主要由于出现空格或制表符错误而发生此错误 您的代码。由于Python使用程序语言,因此您可能会遇到 如果未正确放置选项卡/空格,则会出现此错误。

运行以下代码。它将正常工作:

导入请求

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')

注意:最好将编辑器配置为使选项卡和空格可见以避免这种错误。