Remote bot for Telegram
http://4pda.ru/forum/index.php?showtopic=771627
Remote bot for Telegram позволяет осуществлять удаленное взаимодействие с устройством с помощью Telegram бота, который запускается на устройстве.
Remote Bot for Telegram - первое и уникальное в своем роде приложение, которое позволяет отправлять и получать СМС через Telegram, выполнять команды Tasker через Telegram, а также управлять своим устройством удаленно.
Remote Bot for Telegram в перспективе имеет безграничные возможности по контролю над вашим устройством через Telegram.
Бот запускается только на вашем устройстве, данные и СМС передаются только на сервера Telegram и нигде больше не хранятся.
Приложение не расходует батарею, так как для получения новых сообщений от пользователя используются пуш-нотификации. На сервере пуш-нотификаций хранятся только данные, необходимые для отправки пуш-нотификаций.
Для работы программы необходимы Google сервисы
Бот создается автоматически, вам нужно только авторизоваться в Telegram, указав свой номер телефона и код, полученный через СМС или Telegram.
Как отправлять сообщения в Telegram из Tasker и подобных приложений
Архивация/восстановление настроек
Для начала необходимо зарегистрировать бота и получить уникальный идентификационный ключ через родительского бота @Botfather
Для упрощения процесса регистрации бота в приложении был добавлен автоматический режим создания бота.
Вам нужно только ввести свой номер телефона в международном формате (начинающийся с +), затем код, который приходит по СМС либо в клиент Telegram, после вы можете придумать username и название бота либо оставить все как есть.
После проделанных действий все взаимодействие с @Botfather приложение берет на себя, вам остается лишь подождать пока закончится процесс создания бота. После создания бота вам нужно принять соглашение об отказе от ответственности, запустить бота и найти контакт бота в клиенте Telegram
В случае, если вы хотите создать бота в ручную, вам будет необходимо проделать следующие действия:
1. Откройте Telegram
2. Найдите в поиске "botfather", выберите его и нажмите Start
3. Отправьте /newbot чтобы создать нового бота
4. Придумайте и введите имя для бота
5. Придумайте и введите имя пользователя для бота (username). Оно должно быть уникальным и заканчиваться на `bot`. Например TetrisBot или tetris_bot.
6. Скопируйте Token, он потребуется при настройке бота в приложении
7. Далее перейдите в приложение и вставьте Token, затем укажите Ваш username. Для защиты ваших данных необходимо привязать бота к вашему Telegram аккаунту, указав username вашего аккаунта в Telegram. Его можно установить или посмотреть в настройках Telegram.
8. Перейдите в Telegram и найдите вашего созданного бота в поиске по username бота и нажмите Start
После создания бота вам необходимо внимательно прочитать соглашение и принять его либо удалить приложение, если вы с ним не согласны.
Для запуска/остановки бота необходимо нажать на круглую кнопку в правом верхнем углу экрана. Также для запуска/остановки бота вы можете использовать виджет Remote Bot for Telegram, разместив его в своем лаунчере.
Для того, чтобы ограничить доступ с посторонних аккаунтов Telegram ваш бот после создания привязывается к Telegram аккаунту через который он был создан в автоматическом режиме, либо к тому аккаунту, username которого вы указали в ручном режиме создания.
Вы можете привязать один или несколько Telegram аккаунтов к вашему боту.
Не забудьте нажать “Сохранить” после изменения привязанных аккаунтов.
Вы можете настраивать разрешения на выполнение команд и получение уведомлений для выбранных привязанных аккаунтов.
Если вы запретили команду для выбранного аккаунта, то она также не будет показываться в списке команд и Telegram клавиатуре для этого аккаунта.
/start - начать работу с ботом
/help - список команд бота
/sms - чтение/отправка СМС
/sms Отправить - отправить СМС
/sms Отправить +7123456 - отправить СМС на номер +7123456
/sms Отправить Николай - отправить СМС контакту с именем 'Николай'
/call - телефонный звонок по заданному номеру
/callshistory - показать историю звонков
/contacts - показать контакты
/ring_mode - режим звонка
/ring_mode [mode] - изменение режима звонка, [mode] может быть: Нормальный, Без звука или Вибрация
/battery - информация о батарее
/system_info - системная информация
/bluetooth - состояние Bluetooth
/bluetooth [state] - обновить состояние Bluetooth, [state] может быть: Вкл. или Выкл.
/wifi - управление состоянием wifi (Вкл./Выкл.)
/sync - управление синхронизацией (Вкл./Выкл.)
/notify - отправление сообщения в панель уведомления
/tts - текст в речь
/device_search - поиск устройства путем подачи громкого сигнала
/location - местоположение устройства на карте
/gallery - показать фото из галереи
/screenshot - сделать снимок экрана
/photo - сделать фото
/rec - диктофон
/videorec - запись видео
/playback - воспроизведение медиафайлов и голоса
/detectmotion - детектор движения
/flashlight - Вкл. / Выкл. фонарик
/script - выполнить скрипт, пример: rc.startApp("com.example.packagename")
/tasker - выполнение задач Tasker, /tasker "taskname" - выполнить заданную задачу Tasker
/download - загрузить файлы на устройство
/install - установить приложение
/apps - открыть избранные приложения, /apps "app name" - открыть заданное избранное приложение
/taskmanager - диспетчер задач
/player - управление стандартным плеером
/volume - управление громкостью
/clipboard - чтение или запись в буфер обмена
/reboot - перезагрузить устройство (необходим Root)
/fastboot - перезагрузить в Fastboot
/recovery - перезагрузить в Recovery Mode
/shutdown - отключить устройство (необходим Root)
/shell - выполнение shell команд, /shell "cd storage; mkdir example" - запуск shell команды в одной строке
/restore_backup - Восстановление/Архивация настроек бота (клавиатура, алиасы и т.д.)
Про возможности Tasker можно прочитать по ссылке: Tasker
В Tasker есть ограничение на выполнение задач Tasker посторонней программой в случае если задача может быть потенциально опасна (отправка СМС, HTTP запросы и т.д.), но нет никаких ограничений на отправку сообщений из Tasker в Telegram.
В составе приложения Remote Bot есть плагин для Tasker, который облегчает отправку сообщений и позволяет управлять состоянием бота. В плагине имеется поддержка переменных Tasker.
Сообщения из Tasker в Telegram отправляются используя команду Send Intent. Поддерживаются 7 типов сообщений (Message, Location, Photo, Document, Voice, Video, Audio)
Создаем задачу:
1) Открываем Tasker, заходим во вкладку Tasks, затем нажимаем на "+"
2) Придумываем имя задаче и нажимаем на галочку
3) Добавим новое действие нажатием на "+"
4) В открывшимся диалоге выбираем System (Система)->Send Intent
Далее необходимо заполнить следующие поля:
Action(Действие): com.alexandershtanko.androidtelegrambot.ACTION_TASKER
Package: com.alexandershtanko.androidtelegrambot
Class: com.alexandershtanko.androidtelegrambot.receivers.TaskerMessageReceiver
Target: Broadcast Receiver
В зависимости от типа сообщения заполняем Extra
Extra: bot_state:true/false - управление состоянием бота (вкл./откл.)
Message
Extra: tasker_message_type:message
Extra: text:Здесь должен быть какой нибудь текст
Location
Extra: tasker_message_type:location
Extra: cords:0.123,0.123 - (широта, долгота)
Photo
Extra: tasker_message_type:photo
Extra: path:/storage/emulated/0/photo.jpg
Document
Extra: tasker_message_type:document
Extra: path:/storage/emulated/0/document.pdf
Video
Extra: tasker_message_type:video
Extra: path:/storage/emulated/0/file.avi
Audio
Extra: tasker_message_type:audio
Extra: path:/storage/emulated/0/music.mp3
Voice
Extra: tasker_message_type:voice
Extra: path:/storage/emulated/0/voice.wav
Сообщение отправляется всем привязанным пользователям.
Чтобы отправить сообщение из таскере конкретному пользователю, достаточно добавить Extra: chat_id либо user_id либо username.
Последовательность действий для AutomateIt
1. Открываете приложение
2. Заходите в мои правила
3. Нажимаете на "+"
4. Выбираете триггер Местоположение
5. Выбираете нужно место и радиус близости -> Далее
6. Выбираете действие: "Запустить Действие типа Intent"
7. Затем выбираете "Broadcast" и заходите в Продвинутые настройки
8. Далее необходимо заполнить:
Action Name: com.alexandershtanko.androidtelegrambot.ACTION_TASKER
Package name: com.alexandershtanko.androidtelegrambot
Component name: com.alexandershtanko.androidtelegrambot.receivers.TaskerMessageReceiver
Далее нажимаете "Добавить дополнительные"
Extra name: tasker_message_type
Value: message
Еще раз "Добавить дополнительные"
Extra name: text
Value: "Текст сообщения"
9. Затем нажимаете Далее, вводите имя правила и нажимаете на Дискетку в верхнем правом углу.
Для того, чтобы запланировать выполнение команд на определенное время с определенным интервалом повторения, вы можете использовать таймеры.
Чтобы добавить таймер, нажмите на соответствующую кнопку на экране таймеров.
Далее необходимо заполнить все поля, выбрать время и период повторения, затем нажать “Сохранить”. После сохранения таймер активируется. Вы можете остановить/запустить таймер нажав на соответствующий таймер в списке.
Remote bot поддерживает удаленное выполнение скриптов (программ), написанных на JavaScript.
Скрипты могут пригодиться, если вам нужно будет открыть какое-либо приложение и произвести взаимодействия с интерфейсом программы удаленно.
Для выполнения скриптов необходим Root на вашем устройстве.
Для выполнения удаленных команд используется объект “rc” с типом RemoteControl. Подробнее о доступных функциях объекта “rc” по ссылке: https://remote-bot.com/script/
По умолчанию запуск скриптов запрещен и его нужно разрешить в настройках приложения.
Скрипты можно запускать и с помощью одной команды, например: /script "rc.click(500, 230);"
Для того, чтобы отключить отправку результата выполнения скрипта, нужно добавить 2 параметр silent в команду /script, пример: /script 'rc.click(100,100);' silent
Примеры скриптов:
1. Вам необходимо запустить приложение, ввести пароль, затем нажать войти.
Скрипт для этих действий будет выглядеть следующим образом:
rc.startApp('com.example.package');
if (rc.isPackageInstalled('com.example.package')) {
rc.click(500, 230);
rc.sleep(500);
rc.shell('input text 123');
rc.sleep(500);
if (rc.isKeyboardVisible()) rc.pressBack();
rc.sleep(500);
rc.click(150, 310);
rc.sleep(500);
rc.click(500, 230);
}
2. Необходимо проверить, включен ли экран, установлено и запущено ли приложение
var isScreenOn=rc.isScreenOn();
var isPackageInstalled=rc.isPackageInstalled('com.example.package');
var isAppRunning = rc.isAppRunning('com.example.package');
var response = {'isScreenOn':isScreenOn,'isPackageInstalled':isPackageInstalled,'isAppRunning':isAppRunning};
JSON.stringify(response);
Вы можете устанавливать алиасы (псевдонимы) для команд.
Для того чтобы добавить алиасы, вам нужно зайти в Настройки, нажать на кнопку Алиасы -> Добавить.
Когда алиасы могут пригодиться:
Вы также можете использовать алиасы в клавиатуре и таймерах.
Remote bot умеет передавать уведомления из статус бара в Telegram.
Для того, чтобы получать уведомления вы должны дать доступ приложению к чтению уведомлений.
Для этого вам нужно нажать “Разрешить чтение уведомлений” в приложении в разделе “Настройки”. В открывшихся настройках нужно поставить галочку напротив Remote Bot for Telegram
Если вы пользуетесь не всеми функциями приложения, а также хотите упростить доступ к часто используемым командам, вы можете отредактировать клавиатуру по вашему вкусу.
В режиме редактирования клавиатуры вы можете добавлять команды и алиасы, объединять команды в категории.
Вы можете сохранить/восстановить настройки Remote bot с помощью команды /backup_restore или через интерфейс приложения.
Настройки сохраняются в json файл, который вы можете отредактировать в текстовом редакторе и затем восстановить конфигурацию удаленно.
В полученном файле хранятся настройки клавиатуры, алиасы, избранные приложения, таймеры и т.д.
Для удобства редактирования json файла вы можете воспользоваться сайтом http://jsoneditoronline.org
Если у вас будут возникать вопросы, а также если вы хотите предложить новые идеи, пишите мне на почту: alexjcomp@gmail.com или в официальную группу приложения: https://t.me/rembofort