我想用电报给一个群聊发个信息。我想运行一个python脚本(它执行一些已经生效的操作),然后,如果一些参数有一些值,脚本应该通过Telegram发送一条消息给一个组聊天。我正在使用Ubuntu和Python 2.7
我想,如果我没有错,我有两种方法:
方法一:让Python脚本直接连接到电报api并发送消息(https://core.telegram.org/api)。
方法二:让Python脚本调用Telegram的CLI(https://github.com/vysheng/tg),向其传递一些值,然后由Telegram的CLI发送消息。
我认为第一种方法比较长,所以最好使用第二种方法。
在这种情况下,我真的不知道该怎么做。 我不太了解linux中的脚本,但我试着这样做:
#!/bin/bash
cd /home/username/tg
echo "msg user#******** messagehere" | ./telegram
sleep 10
echo "quit" | ./telegram
这在一半的时候起作用:它正确地发送消息,但随后进程保持打开状态。第二个问题,我不知道如何从python调用它,以及如何向这个脚本传递一些值。我想传递给脚本的值是“messagehere”变量:这将是一个100/200个字符的消息,由python脚本内部定义。
有人有线索吗? 谢谢你的回复,我希望这对其他人有用。
首先为名为tg.sh的电报创建bash script:
然后将脚本放在与python脚本相同的文件夹中,并使用
chmod +x tg.sh
授予它+x权限最后,从python中,您可以执行以下操作:
自1.05版以来,您可以使用-p选项接受来自套接字的消息,这是解决问题的第三个选项。很抱歉,这不是你问题的答案,但我不能评论你的问题,因为我没有足够的声誉。
Telegram最近发布了新的Bot API,这使得发送/接收消息变得微不足道。我建议您也看看它是否符合您的需要,这比包装客户机库或与它们的MTProto API集成要好得多。
不幸的是,我还没有看到任何可以直接与之交互的Python库,但是这里有一个NodeJS等价物供我参考。
相关问题 更多 >
编程相关推荐