嗨,我有一个python程序,每隔一小时产生一次结果。结果可能是任何事情。该程序将在本地计算机或虚拟专用网络中运行。
我有两个要求 1.将此python生成的结果自动发送到一个电报组[组名“ ourworld”](由我创建),无需用户干预。 (我的台式机电报客户端正在运行,或者web.telegram.org在同一系统中运行)
有什么方法可以满足此要求。是否有任何可用的代码来完成这项工作。请分享信息和详细信息。
编辑:
我面临的问题:
1。使用BotFather创建一个Bot。 2.将此Bot添加到我的组中,这里出现错误,无法添加成员,因此在组中将Bot添加为管理员 3.BOT的令牌记下来。 4.尝试获取ChatId 在这个论坛(https://web.telegram.org/#/im?p=g154513121)中,有人说p = g之后的数字是图表ID,在我的情况下,没有 数字显示这样的@testingname。
- 使用这种方法尝试获取聊天ID https://api.telegram.org/bot738909732:AAE-2l7xAAlYHBXprK_a_bex09g9DMZbbDI/getme 所以这里738909732变成了一个聊天ID(在这种情况下,为什么我们需要单独 调用图表ID) 这是真实的回应!这里的聊天ID是我的“ testingname”的ID,没有为该组生成图表ID。 6.现在打包URL以查看响应,我收到此错误。
如果我在浏览器中运行此输出
{“确定”:false,“错误代码”:400,“描述”:“错误请求:不聊天 found“} {” ok“:false,” error_code“:403,” description“:” Forbidden:bot 无法向机器人发送消息”}
如何解决此问题并使BOT工作。为什么我无法将BOT添加到显示错误“无法添加用户”的组中?
如何使此电报组正常工作。
注意:使用BotFather BOT创建的
答案 0 :(得分:1)
要在没有任何用户干预的情况下将消息发送到电报“组”,您需要电报机器人。使用电报bot-father创建一个。看看这个link。在创建漫游器时还请注意令牌。此方法仅适用于电报组.Telegram频道,这是另一种要遵循的方法,MarxBabu在下面的答复中对此进行了回答。
import requests
# telegram url
url = "https://api.telegram.org/bot<Token>"
def send_mess(text):
params = {'chat_id':-xxxxxxx, 'text': text}
response = requests.post(url + 'sendMessage', data=params)
return response
send_mess(result_you_want_to_send)
要获取chat_id,请遵循here中提到的步骤。注意:群组聊天ID始终以'-'开头。例如组chat_id -356163873。令牌和chat_id只是您向电报组发送消息所需要的。
要发送群组电子邮件,您需要搜索更多,因为我不太了解
答案 1 :(得分:0)
我让它在Raspberry pi上运行。您必须寻找botfather来获取电报令牌。
import telepot
from telepot.loop import MessageLoop
telegram_token = 'xxxx:xxxxxx'
user = 4444444
bot = telepot.Bot(telegram_token)
bot.sendMessage(user, 'Hey!')
要配置gmail,我现在这里没有东西...
答案 2 :(得分:0)
您可以通过SMTP或使用Mailgun Api
用python发送电子邮件我个人更喜欢使用Mailgun,因为它易于设置,发送电子邮件与向Mailgun发送发帖请求一样容易。 您可以获取免费版本的api,并将您的群组电子邮件ID添加到沙箱中(以避免垃圾邮件),然后使用请求通过给定的api令牌发布电子邮件
答案 3 :(得分:0)
如果要向电报组发送消息,bipin_s提供的上述方法适用于chat_id = -xxxxxx。这是正确的id,后跟-符号。
对于“电报频道”中的发布消息,需要对URL进行较小的更改。URL的框架必须如下所示。
url =“ https://api.telegram.org/botTokenID/sendMessage?chat_id=@yourChannelChatID&text=message”
将TokenID替换为您的BOT令牌ID,将yourChannelChatID替换为您的频道图表ID。请注意,该频道ID不是负ID。
代码将如下所示
import request
url = "https://api.telegram.org/botXyz:wwwwDFSJSJSAX/sendMessage?chat_id=@telechanneltesting&text=message"
requests.post(url)
“ URL”中的“消息”将在电报频道中发布。
如何获取频道ID? 在浏览器中转到https://web.telegram.org/#/im,登录后立即搜索您的“频道”。现在在浏览器地址栏中,您将看到一个像https://web.telegram.org/#/im?p=@llliopppppsssssr
的链接p = @ llliopppppssssssr在等号之后,是频道聊天ID。