我想通过电报从Python脚本发送一条消息。 我试图通过telegram cli来实现这一点,包括original version from vysheng和patched version from luckydonald。有了它们,我可以成功地给手机发送信息。 我的问题是:
<<EOF ... EOF
输入失败;程序在控制台上打开,但不输出任何内容。通过-p选项打开端口成功。然后,我可以在nc环境中操作(类似于tg wiki),但我不确定在Python脚本中实现所有这些调用是否明智。
我还发现了另一个脚本,它将命令回显到tg中(忘记源代码),但它也不起作用(类似于上面的<<EOF
)
#!/bin/bash
to=Matthias_SG
msg="test message"
tgpath=/home/matthias/dvl/tg
cd ${tgpath}
(echo "add_contact +xxx Matthias SG"; echo "msg $to $msg") | ${tgpath}/bin/telegram-cli -k tg-server.pub
所以我的问题是: 我是不是该回老皮格家去?我可以通过从subprocess.call或popen输入stringIO来修复shell脚本或将它们修改为Python吗?有人在外面用这个吗?
我认为使用特定的包来制作一个Telegram bot是一个坏主意;您必须保持它们的更新,它们可能不会像您希望的那样工作,除非它们正常工作,而且如果API的一部分发生了更改,而模块没有更新,可能会发生奇怪的事情。
对我来说,真正有效的是使用基本模块和自己生成所有命令。不过,一开始需要更多的时间。
看看this website,它们向您展示了使用
json
和requests
创建bot的基础知识。他们写代码的方式给了你很大的自由。通过使用简单的模块,您将获得保修;您需要的任何文档或帮助将直接从Telegram获得。
第一步是创建一个bot并获取
token
。第二步是获取
chat_id
:https://api.telegram.org/bot<YourBOTToken>/getUpdates
,在message['chat']['id']
键下获取chat_id
。最后一步是使用以下代码:
从Medium.com: How to create a Telegram bot, and send messages with Python提取的代码
我宁愿使用这个包,它对我很好。
您可以找到here文档和一个简单的示例。
为了回复文本消息,可以在CommandHandler之后添加一个MessageHandler,例如:
别忘了导入
from telegram.ext import MessageHandler
。希望这有帮助!
相关问题 更多 >
编程相关推荐