- Создаем Discord-бота на Android
- Создаем бота с андроид
- Игровые боты. Начало
- Запускаем Telegram-бота на Android устройстве (Remote Bot for Telegram)
- Разработка прототипа
- Получение сообщений через Webhook
- Генерация SSL сертификата
- Автоматическое создание бота
- Добавление новых возможностей
- Заключение
- Как создать своего бота для Telegram за 10 минут
- Устанавливаем Telegram
- Создаем бота
- Создаем свою команду
- Добавляем пункт в меню
- Включаем автопостинг из соцсетей
- Создаем отложенный пост
- Собираем данные
- Если нужно что-то посложнее
Создаем Discord-бота на Android
В этой статье речь пойдет о программе, благодаря которой мы создадим простого бота для своего сервера в Discord, причем все действия будут производиться на телефоне.
Приступим к созданию:
Первым нашим действием будет скачивание программы с Play Market:
Перед началом работы с программой необходимо создать свой сервер в Discord. После создания открываем конструктор и вверху нажимаем на кнопку для авторизации, вводим данные от своего аккаунта Discord:
Внизу появится кнопка для создания нового проекта, нажимаем на нее:
Нажимаем на «Портал разработчиков», там получаем токен и вводим его в специальное поле, снизу кликаем на «+ Создать бота»:
Откроется такое окно, нажимаем на свой проект:
Находим на экране «Создатель команд» и щелкаем на него:
Настраиваем и создаем команду, которая будет выполнять действия, указанные Вами:
Для приглашения на свой сервер нажимаем на данную кнопку и переходим по полученной ссылке:
Источник
Создаем бота с андроид
Для функционирования программы необходимы права 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
Источник
Игровые боты. Начало
Что может быть интереснее процесса игры в игры? Правильно! Процесс наблюдения за тем, как играет в игры написанный тобой бот.
Некоторое время, я размышлял, о чём бы написать свою первую статейку. Хотел написать о программировании микроконтроллеров, но оказалось трудно отделить части рабочих проектов от тех, что можно опубликовать без оглядки на коллег. Остановился на идее о ботах.
Введение
Боты для онлайн игр я бы грубо разделил на 3 разновидности по способам реализации:
1. Боты не использующие приложение игры. Имитирующие протокол обмена с сервером.
2. Боты работающие с процессом приложения игры. В случае с Web, работающие с окном браузера.
3. Боты работающие со скриншотом и имитирующие устройства ввода мышь и клавиатуру.
Первая разновидность скорее гипотетическая, т.к. протоколы, как правило, закрыты и не тривиальны.
Первая разновидность больше подходит для ботов с простыми и текстовыми протоколами. Если на сервер передаются бинарные данные, то предстоит разобраться с их структурой, что усложняет задачу.
Вторая разновидность более реальна и может быть реализована. Бот второго вида получает полезную информацию из памяти процесса игры. Недостаток — версии клиентов могут регулярно обновляться и тогда может потребоваться заново искать интересующие адреса памяти.
Мы рассмотрим третюю разновидность ботов, т.к. ИМХО они более привлекательны, хоть и не лишены недостатков.
А так же, такой подход более спортивный 🙂
В этой статье я рассмотрю набор инструментов для самого простого бота для Windows.
Для самого простого бота достаточно эмитировать события мыши и клавиатуры. В большинстве случаев этого оказывается достаточно для решения (не самого эффективного, но не требующего участия человека) рутинных дел в различных играх. Для более эффективной работы бота требуется обратная связь с игрой, т.е. получение и обработка скриншотов игры.
Для разработки приложений я буду использовать Qt Creator + Qt 5 либы (так мне привычнее) и раз бот для Виндовс то + windows.h (WinAPI).
Регистрация горячих кнопок для управления ботом:
Обработка событий нажатия кнопок управления ботом:
Перемещение указателя мыши к нужной точке:
(выполнено не очень аккуратно, обещаю исправиться :-))
Мануал юзера
Перед запуском бота горячей кнопкой Alt-F1, бот следует сначала настроить, определив верные координаты органов управления по которым бот будет кликать.
Для запоминания координат точки наводим указатель месту и жмём Alt-F4.
Для проверки корректности точки отводим указатель в сторону и жмём Alt-F3.
Для настройки следующей точки жмём Alt-F2.
Для сохранения верных координат жмём Alt-F5.
Подводные камни
Опыт показывает, что не стоит торопиться кликать по органам управления и двигать указатель. Часто игры притормаживают, при наведении мыши на кнопку срабатывает отрисовка подсветки и прочие неведанные процессы и торопливость приводит к несрабатыванию клика или захвата при перетягивании и т.п. и как следствие неработоспособность бота. При ручном управлении, люди обычно таких досадных мелочей даже не замечают, так как работает обратная связь через органы зрения. Решение — делать паузы после всех элементарных действий.
Окно игры может произвольно свернуться в следствии появления сообщения от виндозы или ещё по каким причинам. В программе последовательности кликов и пауз стоит предусмотреть клик по иконке свёрнутой игры.
Источник
Запускаем 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 устройстве и трудностями, с которыми я столкнулся. Сейчас я занимаюсь проектом в свободное от работы время, добавляю новые команды и исправляю возникающие ошибки.
Большое спасибо за внимание. Буду рад услышать от Вас полезные замечания и предложения.
Источник
Как создать своего бота для Telegram за 10 минут
Без единой строчки кода!
Telegram — мессенджер, созданный Павлом Дуровым в 2013 году, которым пользуется свыше 100 миллионов человек во всем мире. Помимо переписки с живыми людьми в нем можно общаться с ботами, программами которые в ответ на запросы пользователя выдают какую-либо информацию. Примеры интересных ботов:
А если вы не подписались на бота от iPhones.ru, то пришла пора сделать это! @iPhonesRu_Bot
Сейчас очень модно заводить Telegram-боты. У каждого крупного интернет-ресурса или крупной компании есть свой бот, в которых клиенты получают ответы на вопросы или читают новости. Если у вас есть свой сайт, группа в соцсети или просто интересная идея бота, то эта инструкция поможет вам с минимальным усилиями внести свой вклад в волшебный мир Telegram.
Есть два пути создания ботов. Первый — написать приложение с помощью Telegram API, а второй — воспользоваться сервисом для создания ботов. Один из таких, manybot.io, мы будем использовать в статье.
Устанавливаем Telegram
Инструкцию из статьи можно выполнить в версии Telegram для любой платформы:
Сама я буду использовать версию для OS X, так как без полноценной клавиатуры создавать бота не совсем удобно.
Создаем бота
1. Набираем в поиске Manybot, кликаем на значок бота и нажимаем на кнопку Start:
2. Нажимаем на кнопку Добавить нового бота:
4. Переходим в @BotFather, нажимаем кнопку Start и вводим команду /newbot:
6. Вводим имя бота, которое будет отображаться при поиске и техническое имя бота, копируем полученный API-токен:
7. Возвращаемся в @Manybot и вставляем в него API-токен из буфера обмена:
8. Указываем описание бота:
9. Бот готов:
10. Находим свой бот через поиск и начинаем пользоваться:
Создаем свою команду
В хорошем боте должны быть команды. Чтобы пользователь вводил запрос, а в ответ ему приходило что-то интересное/полезное. Вот инструкция, как создать простейшую команду:
1. Набираем /commands:
2. Набираем имя новой команды и текст, который она будет выдавать в ответ (при желании к тексту можно прикрепить файлы):
3. Нажимаем кнопку Сохранить и дожидаемся завершения создания команды:
Для того, чтобы отредактировать команду /hello надо набрать /commands, /hello:
Чтобы увидеть ответ команды, надо нажать кнопку Показать команду. К сожалению, я не нашла способа проверить как будет выглядеть бот в приложении у подписчиков, кроме как попросить кого-нибудь зайти со своего аккаунта и посмотреть:
Добавляем пункт в меню
При желании, для команды можно сделать кнопку в меню, которая будет ее запускать.
1. Набираем /commands:
2. Нажимаем на кнопку Настроить главное меню, а затем на кнопку Добавить пункт меню:
3. Выбираем из списка команду, которую хотим добавить в меню и указываем название для кнопки:
Включаем автопостинг из соцсетей
В ботах можно настроить трансляцию новостей из Twitter, Youtube, VK или RSS.
1. Набираем команду /autoposting:
2. Нажимаем кнопку с нужной соцсетью и указываем ссылку на страницу:
Создаем отложенный пост
В ботах Telegram можно отправлять сообщения, которые будут приходить всем его подписчикам. Вот инструкция, как создать такое сообщение и запланировать его отправку на определенное время:
1. Набираем команду /newpost:
2. Вводим текст поста и нажимаем на кнопку Отложить пост, указываем текущее время:
3. Указываем время поста и сохраняем пост:
Собираем данные
Еще с помощью ботов можно проводить опросы среди подписчиков:
1. Набираем /commands, выбираем пункт меню Создать команду и вводим имя для новой команды:
2. Нажимаем на кнопку Добавить вопрос, выбираем тип ответа и вводим текст вопроса:
3. Нажимаем на кнопку Сохранить и получаем уведомление об успешном создании команды:
4. Ответы на вопрос можно посмотреть в Главное меню-> Ответы на формы -> название команды:
Вот и все, что нужно знать, чтобы создать простейшего бота. Больше информации о функциях, которые может добалять manybot.io можно узнать, если набрать в своем боте команды /help.
Если нужно что-то посложнее
Возможности ботов Telegram гораздо шире, чем те которые есть у ботов, созданных на платформе code.telegram.org можно почитать подробнее о Telegram API и создании приложений на его основе.
Кстати, для расширения кругозора рекомендую статью 10 фактов о Telegram, которые ты не знаешь.
Источник