Я хочу знать, как создать бота и отправить сообщение в Telegram, а также отправить команду, например, /commandPi sudo apt-get update ... Вам нужно настроить бота с информацией и создать токен, но я не знаю, как это запрограммировать. Вам нужно изменить «архив бота» или что-то еще с Python? Тай
Как создать бота Telegram для отправки команд RaspberryPi
Ответы (1)
ПРИМЕЧАНИЕ. Не рекомендуется разрешать прямой доступ к командной строке через веб-интерфейс. Кто-то потенциально может отправить вашему боту вредоносные команды для выполнения на вашем Raspberry Pi и получить над ним контроль!
То, что я описываю, можно найти (и во многих других практических руководствах): https://www.hackster.io/Salmanfarisvp/telegram-bot-with-raspberry-pi-f373da
Создайте нового бота, отправив запрос BotFather:
/новыйбот
и следуйте инструкциям BotFather.
Установите git и python, если их нет на вашем RPi.
Загрузите существующий скрипт Python бота для изменения (как это предлагается в статье, на которую я ссылаюсь):
или создать свой собственный.
Отредактируйте файл telegrambot.py и измените строку
bot = telepot.Bot('Bot Token')
Чтобы содержать ваш токен вместо токена бота
Наконец, измените строки (или добавьте новые):
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.