我想知道在Telegram上创建bot并发送消息,并发送命令例如/ commandPi sudo apt-get update ... 你需要你用信息配置机器人并创建一个令牌,但我不知道如何编程它。您需要使用Python修改“bot archive”或其他内容吗? Ty
答案 0 :(得分:0)
注意:允许通过Web界面直接访问命令行并不是一个好主意。有人可能会发送恶意命令让您的僵尸程序在您的Raspberry Pi上执行并获得对它的控制权!
我所描述的内容可以在(以及许多其他的手册)中找到: https://www.hackster.io/Salmanfarisvp/telegram-bot-with-raspberry-pi-f373da
通过向BotFather发送请求来创建新的机器人:
/ newbot
并按照BotFather的说明进行操作。
如果你没有在你的RPi上安装git和python,请安装它。
下载现有的bot python脚本进行修改(如我链接的文章中所建议的那样):
或创建自己的。
编辑telegrambot.py文件并更改行
bot = telepot.Bot('Bot Token')
包含您的令牌而不是 Bot令牌
最后更改行(或添加新行):
if command == 'on':
elif command =='off':
匹配您要发送的任何命令。由于您想要编写的不仅仅是一个单词命令,因此可以查看startswith:
if command.startswith('commandPi'):
并提取其余参数以传递给命令行
arguments = command[8:]
并调用apt-get,例如使用https://stackoverflow.com/a/8482033/1619146
中描述的子进程from subprocess import STDOUT, check_call
import os
check_call(['apt-get', 'update'],
stdout=open(os.devnull,'wb'), stderr=STDOUT)