- Запускаем Telegram-бота на Android устройстве (Remote Bot for Telegram)
- Разработка прототипа
- Получение сообщений через Webhook
- Генерация SSL сертификата
- Автоматическое создание бота
- Добавление новых возможностей
- Заключение
- Установки для андроид бота
- Программы для Android. Автоматизация любых действий на Android планшете или телефоне с помощью Android Bot Maker
- Установки для андроид бота
- Лучшие боты для смартфона
- AppFollow
- Duolingo
- Google Allo
- Earny
- Estherbot
Запускаем Telegram-бота на Android устройстве (Remote Bot for Telegram)
Четыре месяца назад у меня появилась идея написать Telegram-бота, который будет запускаться не на внешнем сервере, как большинство ботов, а на мобильном телефоне.
Идея родилась не на пустом месте: я часто пропускал входящие звонки и СМС, когда телефон был в куртке или в кармане, поэтому мне нужен был дополнительный способ уведомлений. А так как я активно использую Telegram на компьютере, то подумал, что было бы не плохо, если бы входящие СМС и пропущенные звонки приходили в Telegram. Немного покопавшись, я решил написать бота.
Разработка прототипа
Я стал изучать тему создания Telegram ботов по официальной документации и по примерам. В основном все примеры были написаны на Python. Поэтому не долго думая, стал искать способы запуска Python сервера на Android. Но оценив время на изучение Python и не найдя ничего подходящего для запуска сервера, занялся поиском альтернатив и наткнулся на несколько библиотек на Java для написания Telegram ботов. В итоге остановился на проекте от Pengrad: java-telegram-bot-api.
Данная библиотека позволяла, на тот момент, инициализировать бота и получать-отправлять сообщения, что мне было и нужно. Добавив библиотеку в свой проект, я реализовал простой сервис, который запускал в фоновом потоке цикл по получению сообщений из Telegram и их обработке. Предварительно необходимо было зарегистрировать нового бота через родительский бот @Botfather и получить его токен. Подробнее о создании бота по ссылке.
Для того, чтобы сервис не убивался системой, когда устройство находится с выключенным экраном, при запуске сервиса, устанавливался WakeLock.
Приведу в пример функцию, позволяющую получать последние сообщения и отправлять их на обработку:
Позже, в целях безопасности, я добавил возможность привязки бота к разрешенным Telegram-аккаунтам и возможность запрета выполнения определенных команд для заданных пользователей.
Добавив несколько команд для бота, такие как: отправка, чтение СМС, просмотр пропущенных звонков, информация о батарее, определение местоположения и др., я опубликовал приложение в Google Play, создал темы на нескольких форумах, стал ждать комментарии и отзывы.
В основном отзывы были хорошие, но вскрылась проблема большого расхода батареи, что, как вы могли догадаться, было связано с WakeLock и постоянной активностью сервиса.Немного погуглив, решил периодически запускать сервис через AlarmManager, затем после получения сообщений и ответа на них сервис останавливать.
Это немного помогло, но появилась другая проблема, AlarmManager некорректно работал на некоторых китайских устройствах. И поэтому бот иногда не просыпался после нескольких часов, проведенных в состоянии сна. Изучая официальную документацию, я читал о том, что Long Polling это не единственная возможность получения сообщений, сообщения еще можно было получать используя Webhook.
Получение сообщений через Webhook
Я зарегистрировался на Digital Ocean, создал VPS на Ubuntu, затем реализовал простейший http сервер на Java, использующий Spark Framework. На сервер можно делать запросы 2 типов: push (отправка пуш-уведомления через webhook) и ping.
Пуш-нотификации отправлялись с помощью Google Firebase.
Генерация SSL сертификата
Протестировав отправку пуш-уведомлений, я стал разбираться с тем, как настроить и запустить сервер с HTTPS, так как это одно из требований при получении сообщений из Telegram через webhook.
Бесплатный сертификат можно сгенерировать с помощью сервиса letsencrypt.org, но одним из ограничений является то, что указываемый хост при генерации сертификата не может быть ip адресом. Регистрировать доменное имя я пока не хотел, тем более официальная документация Telegram Bot API разрешает использование самоподписанных сертификатов, поэтому я стал разбираться, как создать свой сертификат.
После нескольких часов, проведенных в попытках и поисках, получился скрипт, позволяющий сгенерировать нужный сертификат.
После запуска скрипта, на выходе получаем два файла: keystore.jks — используется на сервере, public_cert.pem — используется при установке webhook в Android приложении.
Для того, чтобы запустить HTTPS на Spark Framework достаточно добавить 2 строки, одну указывающую порт (разрешенные порты для webhook: 443, 80, 88, 8443), другую, указывающую сгенерированный сертификат и пароль к нему:
Чтобы установить webhook для бота, необходимо добавить в андроид-приложение следующие строки:
При регистрации webhook, в качестве URL указывается адрес webhook, затем передается пуш-токен, необходимый для отправки пуш-уведомлений и секретный ключ, генерируемый на устройстве, который я добавил для дополнительной проверки входящих уведомлений.
Функция чтения публичного сертификата из RAW ресурса:
После модификации сервиса по обработке сообщений в Android приложении, бот стал расходовать батарею намного меньше, но и добавилась зависимость работы приложения от сервера пуш-нотификаций, что было необходимостью для стабильной работы приложения.
Автоматическое создание бота
После обновления механизма получения сообщений, осталась еще одна проблема, которая не позволяла пользоваться приложением некоторому проценту пользователей из-за сложности создания бота через BotFather. Поэтому я решил автоматизировать этот процесс.
В этом мне помогла библиотека tdlib от создателей Telegram. К сожалению, я нашел очень мало примеров использования этой библиотеки, но разобравшись в API, оказалось, что не так все сложно. В итоге удалось реализовать авторизацию в Telegram по номеру телефона, добавление @Botfather в список контактов и отправку и получение сообщений заданному контакту, а в конкретном случае, боту @Botfather.
Добавление новых возможностей
После решения первостепенных проблем с автономностью, я занялся добавлением новых команд.
В итоге были добавлены такие команды как: фото, запись видео, диктофон, скриншот экрана, управление плеером, запуск избранных приложений и т.д. Для удобного запуска команд, добавил Telegram-клавиатуру и разбил команды по категориям.
По просьбам пользователей, я также добавил возможность вызова команд Tasker и отправки сообщений из Tasker в Telegram.
После этого я задумался о том, что неплохо бы добавить внешний доступ из сторонних приложений для оправки сообщений в Telegram. Сообщения могут быть как текстовыми, так и включать в себя аудио, видео, местоположение по координатам. В итоге, я написал библиотеку, которую можно добавить в свой проект.
Заключение
В этой статье я постарался поделиться краткой историей работы над проектом по созданию бота, работающего на Android устройстве и трудностями, с которыми я столкнулся. Сейчас я занимаюсь проектом в свободное от работы время, добавляю новые команды и исправляю возникающие ошибки.
Большое спасибо за внимание. Буду рад услышать от Вас полезные замечания и предложения.
Источник
Установки для андроид бота
Для функционирования программы необходимы права root пользователя.
Краткое описание:
Инструмент автоматизации, который превратит ваше андроид-устройство в бота для выполнения повторяющихся задач.
Описание:
Возможности программы:
— Поддерживаются касания, долгий тап, текстовый ввод и физические клавиши управления.
— Отключение блокировки для предотвращения выключения экрана.
— Задержка запуска, дает необходимое времени, для того, чтобы сделать то, что вам нужно перед запуском виполнения.
— Экспорт/импорт ваших отредактированных файлов (в расширении .abm)
— Добавляйте, выбирайте, переключайте, изменяйте и удаляйте действия из списка.
— Экспортируйте их в скрипт, выполняемый из эмулятора терминала или через ADB.
— Добавляйте виджеты, чтобы выполнять предварительно созданные задания!
— Просматривайте свои файлы в приложении!
Полезные подсказки:
— Чтобы отредактировать задание, нужно сделать долгий тап по нему и задать требуемые значения.
— Чтобы выбрать действие просто нажмите на него.
— Чтобы поменять местами два, находящихся рядом действия, выберите их и нажмите кнопку «Поменять местами строки»
— Чтобы остановить выполнение в фоновом режиме просто тапните по уведомлению.
— Чтобы удалить элементы в файловом менеджере сделайте по ним долгий тап.
Русский интерфейс: Да
Версия андроида 4.1+
версия 3.4: AndroidBotMaker_3.4.apk ( 672.37 КБ )
версия 1.9:AndroidBotMaker_1.9.apk ( 1.1 МБ )
версия 1.9 Rus:AndroidBotMaker 1.9_Rus.apk ( 1.13 МБ )
Сообщение отредактировал Slav_nsk — 10.12.19, 18:53
Источник
Программы для Android. Автоматизация любых действий на Android планшете или телефоне с помощью Android Bot Maker
У вас никогда не возникало необходимости в том, чтобы ваш телефон или планшет в определенное время, без вашего участия самостоятельно выполнил какие-либо действия?
Если да, то приложение Android Bot Maker создано именно для вас. Оно умеет записывать ваши жесты, прикосновения к определенным точкам экрана, нажатие на клавиши, текстовый ввод и запускать их в заданное пользователем время.
Программа позволяет создавать различные файлы (макросы) со списками действий, импортировать и экспортировать их, а также запускать их на исполнение по мере необходимости.
Вы можете вводить время задержки между отдельными действиями. Действия в готовом списке событий можно редактировать, добавлять или удалять их.
Приложение умеет работать в фоновом режиме, и вы можете остановить его выполнение в любой момент, кликнув по ярлыку в панели уведомлений (опция меню настроек Show Notifications).
Android Bot Maker работает на любом устройстве с операционной системой Android 4.1 и выше, и что самое ценное в программе – делает всё вышеперечисленное она абсолютно бесплатно (правда, за счет показа рекламы). Единственное ограничение – вам потребуется наличие root прав.
Работать с программой очень просто. После запуска приложения вы сразу же можете начать запись макроса. Нажмите на плюс, чтобы добавить новое действие, выбрав его из списка. Вы можете добавить следующие операции: «Tap» — клик по экрану, «Swipe» — прокрутка экрана, «Key Press» — нажатие кнопки, «Text input» — ввод текста, и «Sleep» — задержка в секундах между операциями.
В «Tap» и «Swipe» записываются координаты ваших касаний к экрану, а в «Key Press» нажатие любых аппаратных кнопок вашего устройства, таких как регулировка громкости, «Домой», «Назад» и т.п. Вы можете задать любое нажатие клавиши, но к сожалению, комбинацию из двух одновременно нажатых клавиш программа записывать не умеет.
При редактировании списка вы можете менять строки местами, выбрав любые два действия, нажав на их порядковые номера и нажав на «Switch rows».
После того, как вы записали свой макрос, можете перейти к настройкам приложения, сдвинув его основной экран влево. Здесь вы найдете уже известную опцию показа значка в панели уведомлений «Show Notifications», включение режима запуска с задержкой «Delayed start», и режима работы без гашения экрана устройства «Use Wake Lock».
Программа работает отлично и единственное, чего в ней не хватает – это более простого способа для записи координат точек касания к экрану, просто определяя места касаний, вместо ввода их координат.
Скачать Android Bot Maker вы можете абсолютно бесплатно в Google Play Маркете.
Источник
Установки для андроид бота
Для функционирования программы необходимы права root пользователя.
Краткое описание:
Инструмент автоматизации, который превратит ваше андроид-устройство в бота для выполнения повторяющихся задач.
Описание:
Возможности программы:
— Поддерживаются касания, долгий тап, текстовый ввод и физические клавиши управления.
— Отключение блокировки для предотвращения выключения экрана.
— Задержка запуска, дает необходимое времени, для того, чтобы сделать то, что вам нужно перед запуском виполнения.
— Экспорт/импорт ваших отредактированных файлов (в расширении .abm)
— Добавляйте, выбирайте, переключайте, изменяйте и удаляйте действия из списка.
— Экспортируйте их в скрипт, выполняемый из эмулятора терминала или через ADB.
— Добавляйте виджеты, чтобы выполнять предварительно созданные задания!
— Просматривайте свои файлы в приложении!
Полезные подсказки:
— Чтобы отредактировать задание, нужно сделать долгий тап по нему и задать требуемые значения.
— Чтобы выбрать действие просто нажмите на него.
— Чтобы поменять местами два, находящихся рядом действия, выберите их и нажмите кнопку «Поменять местами строки»
— Чтобы остановить выполнение в фоновом режиме просто тапните по уведомлению.
— Чтобы удалить элементы в файловом менеджере сделайте по ним долгий тап.
Русский интерфейс: Да
Версия андроида 4.1+
версия 3.4: AndroidBotMaker_3.4.apk ( 672.37 КБ )
версия 1.9:AndroidBotMaker_1.9.apk ( 1.1 МБ )
версия 1.9 Rus:AndroidBotMaker 1.9_Rus.apk ( 1.13 МБ )
Сообщение отредактировал Slav_nsk — 10.12.19, 18:53
Источник
Лучшие боты для смартфона 
Содержание
Разработки в области создания и совершенствования ботов не стоят на месте и пользователям постоянно предлагаются разнообразные идеи, реализованные в виде чат-ботов. Это могут быть программы, интегрированные в привычный мессенджер и решающий определённую часть проблем пользователя. Или же приложением, выступающим в роли личного секретаря, точно знающего, что именно должен сделать его хозяин сейчас и какой список запланированных дел в ближайшее время.
Такие программы способны быть секретарём, тайм менеджером, учителем или тренером. Они могут забронировать отель, купить билеты, заказать еду, помочь в изучении иностранных языков или разослать ваше резюме в тысячи компаний в поисках подходящего места работы.
Чат-боты распространяются всё больше и больше. Они используются не только на компьютерах, но и на мобильных приложениях. При этом последние стали наиболее удачным местом дислокации, так как постоянно находятся рядом с пользователем и позволяют полноценно взаимодействовать с ним. Предлагаем вашему вниманию краткий обзор наиболее интересных ботов для мобильных устройств.
Бот уникальная находка для тех, у кого серьёзные проблемы с таймменежджментом. А также для тех, кто постоянно упускает важные детали и забывает сделать нужные дела. Эта разработка позволяет в несколько раз повысить личную продуктивность.
Letz организует свою работу основываясь на алгоритмах искусственного интеллекта. Анализируя привычки, имеющиеся у конкретного пользователя, программа получает возможность выдавать уместные напоминания о необходимых делах в самый подходящий момент.
К примеру, находясь около супермаркета или в торговом центре, чат-бот может подсказать пользователю купить продукты или приобрести подарок близкому человеку, если приближается праздничная дата. Список необходимых задач пополняется пользователем в процессе. В последующем можно совершить обзор всех накопившихся за определённый промежуток дел.
В дополнении к основному назначению Letz может подготовить дайджест новостей, соответствующий интересам пользователя, или развлечь владельца смартфона новым анекдотом.
Чат-бот успешно оптимизирован для Андроид и IOS платформ. Кроме того, можно использовать разработку с ПК через веб-браузер.
AppFollow
Бот будет полезен разработчикам приложений. Активно помогает в продвижении продукта в Маркетах различных устройств.
Он отслеживает все действия, происходящие с приложениями: отзывы, ключевые слова и позиции, причём позволяет отслеживать не только собственные приложения, но и разработки конкурентов.
Это позволяет постоянно быть в курсе событий и оперативно реагировать на действия пользователей и конкурентов.
Программа собирает информацию о приложении, используя уникальные алгоритмы. После сбора полученные данные анализируются и формируется отчёт, который бот предоставляет пользователю.
Duolingo
Приложение для мобильного устройства, в интерфейс которого интегрирован чат-бот. Эта разработка имеет своей целью помочь пользователю выучить желаемый иностранный язык. При этом организовать процесс обучения можно в любом удобном для пользователя месте.
Уважаемые посетители, сохраните эту статью в социальных сетях. Мы публикуем очень полезные статьи, которые помогут Вам в вашем деле. Поделитесь! Жмите!
Обучение представлено в игровой форме. Необходимо выполнять определённый объем задач и поднимать свой рейтинг. Приложение напоминает о себе в указанное пользователем время, при этом если ученик не заходит в профиль тогда, когда произошло напоминание, приложение перестаёт слать оповещения, пока пользователь не наверстает упущенное.
Google Allo
Сама по себе программа представляет собой обычный мессенджер от Google. Но его основной отличительной чертой от немалого количества подобных продуктов является интегрированный в систему чат-бот. Он способен отвечать на любые вопросы пользователя, независимо от тематики и степени сложности.
Само собой, подобная функция организована при участии поиска от Гугл, соответственно и ответы на интересующие вопросы берутся оттуда. Многие считают, что эта особенность станет той изюминкой, благодаря которой мессенджер будет иметь со временем широкое распространение среди пользователей.
Earny
Ещё один бот для мобильных устройств с очень интересной идеей. Эта программа мониторит цену на товар уже оплаченный пользователем в интернет-магазине. Создание мобильного приложения сложный процесс. И в случае если магазин предлагает на этот товар скидку в определённые сроки с момента покупки, то бот самостоятельно отправляет заявление и организует возврат суммы равной разнице от стоимости товара до скидки.
Сервис работает с такими крупными интернет-магазинами, как Amazon и другими ему подобными. В общей сложности в его базе находятся более 50 подобных сервисов, находящихся в США.
Пользователь в момент регистрации указывает адрес электронной почты и данные своей кредитной карты. Бот изучает предложения магазинов и в момент обнаружения несоответствия оформляет заявку в той форме, которая принята в конкретном магазине.
При этом программа снимает комиссию в размере 25% от суммы, которую удалось вернуть. К сожалению, пока эта программа недоступна для пользователей русскоязычного сегмента интернета. Но есть надежда на то что, и наши разработчики поддержат идею.
Estherbot
Уникальная программа, позволяющая сделать бота из своего резюме. Рассылая подобный чат-бот потенциальным работодателям можно получить чуть больше шансов, чем остальные кандидаты.
Чат-бот позволяет работодателю путём создания диалога и указания интересующих вопросов получить больше сведений о соискателе.
По данным статистики, претенденты, имеющие резюме в виде бота, вызывают больше интереса у HR-менеджеров.
Это далеко не полный список интересных разработок, созданных для использования на мобильных устройствах. При этом большая часть из них оптимизировано и под пользователей с ПК, кто-то в качестве приложения, требующего установки, а некоторые работают просто из браузера.
Источник