如何创建bot Telegram发送命令RaspberryPi

时间:2018-05-03 07:07:34

标签: python raspberry-pi telegram-bot python-telegram-bot

我想知道在Telegram上创建bot并发送消息,并发送命令例如/ commandPi sudo apt-get update ... 你需要你用信息配置机器人并创建一个令牌,但我不知道如何编程它。您需要使用Python修改“bot archive”或其他内容吗? Ty

1 个答案:

答案 0 :(得分:0)

注意:允许通过Web界面直接访问命令行并不是一个好主意。有人可能会发送恶意命令让您的僵尸程序在您的Raspberry Pi上执行并获得对它的控制权!

我所描述的内容可以在(以及许多其他的手册)中找到: https://www.hackster.io/Salmanfarisvp/telegram-bot-with-raspberry-pi-f373da

通过向BotFather发送请求来创建新的机器人:

  

/ newbot

并按照BotFather的说明进行操作。

如果你没有在你的RPi上安装git和python,请安装它。

下载现有的bot python脚本进行修改(如我链接的文章中所建议的那样):

  

git clone https://github.com/salmanfarisvp/TelegramBot.git

或创建自己的。

编辑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) 

另请查看https://core.telegram.org/bots