Как поставить бота на андроид



Как поставить бота на андроид

Для функционирования программы необходимы права 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

Источник

Создаем Discord-бота на Android

В этой статье речь пойдет о программе, благодаря которой мы создадим простого бота для своего сервера в Discord, причем все действия будут производиться на телефоне.

Приступим к созданию:
Первым нашим действием будет скачивание программы с Play Market:

Перед началом работы с программой необходимо создать свой сервер в Discord. После создания открываем конструктор и вверху нажимаем на кнопку для авторизации, вводим данные от своего аккаунта Discord:

Внизу появится кнопка для создания нового проекта, нажимаем на нее:

Нажимаем на «Портал разработчиков», там получаем токен и вводим его в специальное поле, снизу кликаем на «+ Создать бота»:

Откроется такое окно, нажимаем на свой проект:

Находим на экране «Создатель команд» и щелкаем на него:

Настраиваем и создаем команду, которая будет выполнять действия, указанные Вами:

Для приглашения на свой сервер нажимаем на данную кнопку и переходим по полученной ссылке:

Источник

AnkuLua. Пишем ботов на Android (аналог SikuliX)

Предисловие.

AnkuLua — приложение для Android, позволяющее создавать ботов с использованием сканирования экрана телефона. Данная программа, почти, полная копия SikuliX, поэтому, если вы читали предыдущую статью, вы найдете много общего. К тому же, она не требует root.

Подготовка

Сперва скачайте и установите эти 3 программы:

  • QuickEdit — удобный редактор кода
  • ScreenMaster — программа для создания скриншотов
  • AnkuLua — программа для запуска ботов

Далее, в папке с вашим будущим ботом, создайте lua скрипт(текстовый файл с расширением .lua) и папку image.

  • В папке image, будут хранится изображения, которые бот будет искать на экране.
  • Lua скрипт будет содержать код бота.

Теперь, откройте AnkuLua, и запустите созданный Lua скрипт.

Далее, с помощью QuickEdit откройте Lua скрипт бота. Подготовка завершена, время написать Hello World.

Пишем Hello World (v1).

В Lua скрипт, пропишите следующий код.

Сохраните и запустите скрипт, нажатием на кнопку проигрывания.

В итоге, получили сообщение на экране.

Пишем Hello World (v2).

Можно написать Hello World и так.

Тогда, hello world, напечатается в активном окне.

Настраиваем Screen Master.

Сперва настроим ScreenMaster. В настройках выберите:

  • Формат изображения — PNG
  • Качество изображения — 100%.

Т.к. бот будет искать картинку на экране, картинка должна быть максимального качества.

Скриншоты с этой программы, будут помещаться в папку ScreenMaster.

Кликаем по картинке.

Для примера, создадим бота, который будет открывать QuickEdit, кликая по его картинке.

Сначала, обрежьте его картинку, примерно вот так:

Важно, не задевать элементы фона, иначе бот не сможет найти картинку.

Далее, переместите эту картинку в папку image в директории бота и переименуйте в qe.png (для удобства).

В Lua скрипте, пропишите следующее:

Сохраните и запустите скрипт. Если скрипт найдет картинку, то он кликнет по ней, и откроет программу.

Подсвечиваем цель.

Точно так же как и SikuliX, здесь можно подсвечивать регион. Измените код на это:

Разберемся как этот код работает.

  1. В начале я с помощью функции find, нашел регион в котором находится наша картинка.
  2. Далее, подсветил этот регион с помощью функции highlight на 2 секунды.
  3. И кликнул по нему.

В итоге, получили красную рамку на 2 секунды возле картинки.

Создаем диалог.

Сейчас я вам покажу, как создать диалог с выбором скрипта.

Перепишите следующий код.

Весь код я объяснил в комментариях (—).

Таким образом, в зависимости от значения rg1, вы можете выбрать нужную функцию и сделать многофункционального бота, примерно так:

Где, doSomething1 и doSomething2, функции отвечающие за нужные вам действия.

Узнаем координаты нажатия.

В AnkuLua есть функция getTouchEvent, которая ждет пока ты нажмешь на экран, после чего выводит информацию о нажатии. Из всей этой информации, нам понадобятся только координаты.

Перепишите этот код:

Теперь, при вызове функции showTouchCoords, экран подсветится желтым.

И после касания, выведет координаты нажатия.

Кликаем на координаты.

Чтобы кликнуть по координатам, нужно передать Location в функцию click.

Данная комманда, кликает на координаты 500, 500.

Прочие функции.

Здесь я распишу остальные функции которые вам могут понадобится в написании бота.

  • toast(текст) — показывает всплывающее сообщение снизу.
  • exists(картинка) — возвращает True, если картинка найдена.
  • wait(картинка) — ждет появления картинки.
  • keyevent(4) — нажимает кнопку назад.
  • keyevent(3) — жмет кнопку домой.
  • keyevent(187) — жмет кнопку переключения приложений.
  • swipe — свайп по экрану.

Подробная информация в документации.

Источник

Запускаем 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 устройстве и трудностями, с которыми я столкнулся. Сейчас я занимаюсь проектом в свободное от работы время, добавляю новые команды и исправляю возникающие ошибки.

Большое спасибо за внимание. Буду рад услышать от Вас полезные замечания и предложения.

Источник

You may also like...

Adblock
detector