2. Цель
Основная цель – разработка ПО для управления ЭВМ по средствам мессенджера
Telegram.
ПО должно отвечать следующим свойствам:
• Надежность и стабильность
• Модульность
• Переносимость
• Функциональность
3. Почему Telegram?
Telegram был выбран сразу по нескольким причинам:
• Надежность и конфиденциальность
• Наличие клиентов почти под все мобильные платформы
• Open source
• Удобный API для создания ботов
• У ботов есть особые «перки», e.g. кастомные клавиатуры:
4. Для чего это все?
Для чего угодно. С помощью этого бота можно будет:
• сделать «умный дом»,
• создать систему мониторинга за местностью
• удаленно управлять своим компьютером.
Благодаря особенностям бота и Telegram, я хочу добиться
максимально возможного охвата направлений его применения.
6. Что сделано на данный момент?
TRC Bot разрабатывается на C++14 с использованием сторонних
Библиотек tgbot-cpp и nlohmann json.
На сегодняшний день бот поддерживает:
• Отправку текстовых сообщений
• Отправку фотографий
7. За счет чего это работает?
Действия достигаются за счет запуска указанных исполняемых файлов
(например Bash-скриптов).
RMC Bot Чтение JSON конфига
Token
Tasks
Task 1
Task 2
Task N
10. Тестирование
При тестировании с разными модулями (функционал которых
поддерживается) ошибок и проблем замечено не было.
Бот проработал без остановки два дня, при этом в любой момент
времени корректно обрабатывал приходящие на него запросы.
11. Что будет дальше?
• Поддержка передачи видео, аудио, etc.
• Более гибкие возможности для подключения модулей
• Обновление конфига в реальном времени
• Использование «перков» ботов Telegram
• Портирование на BeagleBone и Raspberry Pi
• Работа над повышением стабильности и надежности
• Покрытие проекта модульными тестами
12. Недостатки на данный момент
• Слишком «сырой», нет поддержки важного функционала
• В tgbot-cpp не реализован метод, который позволит загрузить файл на
хост
• Реализовано только на x86
• При портировании на BeagleBone/Raspberry Pi могут возникнуть
сложности
13. The End
• Бот: https://github.com/whiteforest440/rms_bot
• Telegram bot C++ API: https://github.com/reo7sp/tgbot-cpp
• JSON C++: https://github.com/nlohmann/json