Combat telegram что делает
Общие сведения
Что могут делать боты?
Вот несколько примеров использования ботов:
- Интеграция с другими сервисами. Например, бот может отправлять комментарии или управлять «умным домом». Или, например, отправлять вам уведомления при совершении каком-то действия или события (Примеры: GitHub Bot, Image Bot).
- Утилиты и инструменты. Бот может отображать погоду, переводить тексты или предупреждать о предстоящих событиях по вашему запросу (Например: бот опросов).
- Одно- и многопользовательские игры. Бот может поиграть с вами в шашки или шахматы, проводить викторины и так далее. (Пример: Trivia bot).
- Социальные сервисы. Бот может находить вам собеседника, основываясь на ваших общих интересах и увлечениях. (Пример: HotOrBot).
- Все, что вам захочется. Бота можно запрограммировать для чего угодно. Разве что посуду они помыть не смогут.
Как работают боты?
Как уже было сказано ранее, роботы — особые аккаунты, которые не требуют номера телефона при создании. По сути, эти аккаунты играют роль интерфейса к вашему сервису, который работает на удалённом сервере.
Рекомендуем также ознакомиться с подробным описанием Bot API.
Как создать бота?
Для этого есть. Бот. Просто напишите пользователю @BotFather и следуйте его инструкциям. Как только вы создали бота и получили свой ключ (токен) авторизации, переходите в раздел документации Bot API, чтобы начать настраивать вашего бота.
Чем бот отличается от обычного аккаунта?
Суперспособности
У роботов Telegram есть много уникальных возможностей — например, кастомизированные клавиатуры, дополнительные интерфейсы для команд по умолчанию, внешнее связывание и специальные режимы приватности для групп.
Инлайн-режим
С помощью ботов пользователи могут играть в HTML5-игры в группах или приватных чатах. Игровая платформа Telegram поможет составить таблицу рекордов и оповещать пользователей об изменении рейтинга.
Под капотом у игр — HTML5, поэтому вы можете создавать игры любой сложности. На данный момент командой Telegram созданы несколько демо-игр:
Клавиатуры
За более подробной информацией обращайтесь к описанию метода sendMessage.
Команды
Команды представляют собой более гибкий способ общения с ботом. Рекомендуется следующий синтаксис:
Команда должна начинаться с символа косой черты «/» и не может быть длиннее 32 символов. Команды могут состоять из букв латинского алфавита, цифр и подчёркивания. Несколько примеров:
Если в группе есть несколько ботов, вы можете дописать после команды имя бота, чтобы избежать коллизий в общих командах:
Это происходит автоматически, если вы выбираете команду из списка доступных.
Глобальные команды
Чтобы пользователям было проще работать с ботами, мы просим всех разработчиков реализовывать поддержку нескольких простых команд. В интерфейсе приложений Telegram будут ярлыки (быстрые ссылки) для этих команд.
При попытке начать общение с роботом, пользователь увидит кнопку СТАРТ. На странице профиля бота также будут доступны ссылки Помощь и Настройки.
Режим приватности
Внешнее связывание
Боты имеют механизм внешнего связывания, которые позволяет передать дополнительные параметры при запуске. Например, для передачи авторизационного токена пользователя, чтобы соединить его аккаунт с каким-либо внешним сервисом.
Допустимо использование символов A-Z , a-z , 0-9 , _ и - . Мы рекомендуем использовать base64url для кодирования параметров.
В PAYLOAD будет значение параметра start или startgroup , который был передан в ссылке.
Пример реализации внешнего связывания
BotFather
Создание бота
Напишите команду /newbot , чтобы создать нового робота. BotFather спросит у вас имя нового бота и предложит придумать username.
Имя (name) будет отображаться в контактах и чатах.
Username — короткое имя на латинице, которое используется для упоминаний бота и в ссылках на профиль в telegram.me. Username должен состоять из букв латинского алфавита, подчёркиваний и цифр и быть длиной от 5 до 32 символов. Также имя пользователя обязательно должно заканчиваться на «bot», например: «tetris_bot» или «TetrisBot».
Создание токена
Если вы потеряли или утратили доступ к токену, отправьте команду /token , чтобы сгенерировать новый.
Настройки
Пожалуйста, имейте в виду, что для применения настроек на сервере, возможно, потребуется некоторое время.
Сайт про Telegram на русском (неофициальный).
Здесь собраны приложения на базе MTProto, переведена некоторая документация с официального сайта, а также работает Webogram.
Combot – это сервис, предлагающий услуги по сбору статистики и автоматической модерации чатов в социальной сети Телеграм.
Стартовал в 2016 и на момент написании обзора стал одной из наиболее популярных систем для выполнения SMM аналитики в группах Телеграм.
Прежде чем начать обзор сервиса, напомним, что в Телеграм существует два типа сообществ:
- группа (она же "чат");
- и канал.
Сервис Combot – это и есть такая программа, настраиваемая на десятки различных действий и допускающая клонирование.
Схема взаимодействия с клиентами комбинированная:
- модуль "Аналитика" бесплатен и работает на всех тарифах;
- модуль "Модерация" бесплатен для групп до 200 участников и платный для остальных сообществ. В платном варианте взимается абонплата за месяц (от 5.99$ до 6.99$ за месяц использования);
- продажа полнофункционального клона программы (99$).
Для групп с количеством участников свыше 200 человек предоставляется бесплатный тестовый период в течение 7 дней.
В качестве бесплатного бонуса сервис предлагает каталог стиккеров и собственный рейтинг чатов.
В плане аналитики Combot фиксирует более 10 SMM параметров, среди которых присутствуют:
- характеристики каждого пользователя группы (активность, уровень флуда, частота посещений чата и т.д.);
- общие параметры чата, позволяющие оценить потенциальный охват и коммерческую эффективность сообщества.
В области модерации список возможностей Combot более обширен:
Как начать работу с сервисом Combot
Данные по аналитике, настройка бота и создание триггеров выполняются через web интерфейс, в личном кабинете клиента.
Там же находится раздел с ценами на услуги и переход к платёжным автоматам.
После этих действий, группа должна появиться в личном кабинете, в разделе "Мои группы".
Если планируется использовать модуль "Модерация", то боту Combot необходимо дать права администратора.
Настройка фильтров выполняется в разделе "Filters". Форма с параметрами имеет типовую структуру, отражённую на скриншоте ниже.
Создание триггеров и управление ими происходит в разделе "Triggers".
На следующем рисунке показано, как бот реагирует на простой тестовый триггер.
Учитывая, что количество настроек в данном случае исчисляется десятками, после каждого сеанса конфигурации рекомендуем сохранять настройки в отдельный файл с указанием имени группы и даты (кнопка "Import").
Многие изменения можно сделать в чате Combot, без захода в личный кабинет на сайте.
Для этого надо активировать режим конфигурации, отправив команду /profile.
Справочник и список команд вызываются кликом по кнопкам, расположенным в нижней части чата Combot.
Финансы
Оплата услуг в Combot выполняется в USD (доллар США) или в криптовалютах.
Поддерживается два платёжных способа:
- с банковскойкарты;
- и прямой перевод на адрес криптовалютного кошелька.
В первом случае услуга активируется сразу, во втором – после завершения транзакции.
Запуск платёжного автомата происходит в web интерфейсе, из таблицы тарифов (раздел "Мои группы - Upgrade"). Или из раздела "Настройки", если планируется создание собственного бота.
К услуге можно подключить неограниченное количество чатов и если эти подключения выполняются из-под одного аккаунта Телеграм, то на все остальные чаты действует накопительная скидка в 4%.
Опыт администраторов наиболее крупных чатов, собранный в одном материале.
Когда делать анонсы, опросы, конкурсы? Для этой статьи я провел исследование активности более 10 000 русскоязычных групп. По результатам можно сказать, что пиковое время — с 20 до 23 по МСК. Причем на протяжении всего этого периода активность только растет, падает только после 23. Наименее благоприятное время — с 4 до 7 утра. С 5 до 6 утра достигается минимум и затем активность начинает постепенно расти, достигая пика с 22 до 23 часов. Дальше — спад.
Что касается активности по дням недели, тут, в целом, ничего нового или удивительного. Наименее активный день - суббота. Больше всего шансов быть внимательно прочитанным — в понедельник. И если по времени активность отличается в зависимости от страны и часового пояса, то с днями недели все универсально: понедельник — самый активный день в Telegram вне зависимости от географии и языка, на котором говорят в сообществе, а суббота — наименее активный, соответственно. И так во всех группах.
Активность ниже во время выходных, в будние дни примерно одинаковая.География имеет огромное значение. Средний размер русскоязычного сообщества в Telegram — 562 человека, англоязычного — 3992, во многом из-за больших сообществ на тему криптовалют. В китайских сообществах среднее число участников — 3310 человек. Так что то, что для русскоязычного сектора — «очень большая группа», для китайского — «всего 3000, ничего особенного». Посмотреть, какие публичные группы есть в Telegram и какого они размера, можно в нашем каталоге.
На данном графике не представлены языки Индии. Тем не менее, Telegram очень популярен в Индии со средним размером сообщества 1490, если считать среднее по всем государственным языкам Индии, кроме английского.Если грамотно подходить к вопросу, можно значительно повысить вовлечение участников в жизнь сообщества. Помимо стандартных практик комьюнити-менеджмента, хочется рассказать о еще двух методах.
Кстати, что касается гифок и других файлов. Чаще всего видео, анимации и стикеры попадают в чатах, особенно крупных, под запрет. Происходит это по двум причинам: первая — банально раздражающий или NSFW-контент; вторая — они занимают очень много места на экране телефона. С учетом того, что стикеры и анимации часто используются для реакций, это может быстро выйти из-под контроля в чате, где много участников. Для таких случаев в Combot есть возможность автоматически удалять все стикеры, отправленные после первого. Для удаления всех стикеров можно пригласить @stickerscleanerbot, который просто удаляет все отправленные стикеры. В некоторых группах под запрет попадают вообще все файлы. Обычно это связано с вирусами и распространением нелегального контента: открывая файл из Telegram на компьютере, вы сразу запускаете его, со всеми последствиями.
Бот – что это такое и что он умеет
Робот-помощник, готовый выполнить любое рутинное занятие, или специальный программный код, выполняющий определённые команды пользователя.
Вся переписка с ним ведётся через обычный чат. Вы даёте боту команды, которые он готов выполнять круглосуточно. Его основная задача ответить на вопрос пользователя, согласно своей программе. Боты помогают, экономят кучу времени и управлять ими очень просто.
На сегодня роботы Телеграм могут:
- проводить обучение;
- развлекать и играть с вами;
- работать поисковиками в интернете;
- скачивать текстовую информацию, видео или аудио;
- быть обычной напоминалкой;
- участвовать в групповых чатах, допустим, для согласования времени встречи, оптимальной для всех участников;
- комментировать нужные статьи;
- использоваться для управления умным домом и др.
Другими словами, они, как посредники между человеком и многочисленными веб-службами. Их большой плюс – это общая оболочка, теперь внутри Телеграм находится вся информация, которую люди привыкли искать через Яндекс и Гугл.
На мой взгляд, несомненный плюс в экономии времени за счёт уменьшения количества приложений в гаджете. Люди всегда хотят получать всё, что им нужно, в одном окне. Теперь нет необходимости в установке лишних приложений для погоды, новостей и т. п., что было особенно критично для маломощного смартфона. Теперь всё это заменяет Телеграм с возможностью установки необходимых роботов.
Далее разберём, как они работают.
- Круглосуточная помощь – по сути, их работу остановит только авария на сервере, что случается крайне редко.
- Удобство использования – большинство команд находится в меню бота.
- Ответы приходят за несколько секунд.
- Для работы используются ресурсы сторонних серверов, так что мощности вашего устройства не задействованы.
- Безопасность. Многие переживают за сохранность своих данных, так вот можете не беспокоиться. Боты никак не украдут ваши данные. Они их просто не видят. Всё, что им доступно, – это текстовые команды из чата.
- Установка дополнительных программ не требуется.
Теперь о том, как найти бота в Телеграме.
Ищем своего бота
Поиск бота ничем не отличается от поиска каналов в Телеграмм. Помните, о них я писал немногим раньше. Основные варианты поиска:
- Через поисковики найти подборки популярных ботов
Выборки чаще всего субъективны, следует внимательно прочитать описание. Кстати, я прямо сейчас готовлю большую подборку, разбитую по категориям. Не пропустите.
Для этого нужно знать точное имя и ввести его в строку поиска. Имя обязательно заканчивается на bot и начинается с собачки – @.
Спросите друга, который любит разбираться в современных технологиях. Друзья плохого не посоветуют.
- Если бота с нужными функциями вы не нашли, то можете создать своего бота.
Как ими пользоваться
Давайте на живых примерах рассмотрим варианты использования.
Общая схема: найти бота – нажать start/начать – ввести команду – получить ответ.
Скриншоты будут из версии для ПК. В мобильной и онлайн-версиях всё то же самое.
Боты с готовым меню
В большинстве случаев бот имеет собственное меню. Вот пример Яндекс-бота.
Вот ещё вариант меню у бота популярного сайта AdMe.
Скрытое меню
Нужно знать команды
Универсальные команды
Их понимает большинство онлайн-помощников:
- /start – начало,
- /help – помощь,
- /settings – настройки.
Если бот молчит
Иногда можно найти бота, который не отвечает. Что ни спроси, он будет молчать, как партизан. В чём причина?
- Так как они находятся на стороннем ресурсе, значит основная причина в проблемах сервера. Может быть временный сбой или полный отказ сервера.
- Также может быть, что неопытный программист ошибся при написании кода.
- Третья причина – вы вводите команду, которую бот не понимает. В таком случае, Гугл вам в помощь.
Сам столкнулся с проблемой – не захотел работать популярный @nationalgeographic_bot, он должен показывать лучшие фотки знаменитого журнала. Но, как я ни старался, команду подобрать не смог. Может у вас получится? Сообщите, пожалуйста.
На этом заканчиваю. Если есть вопросы, напишите их, пожалуйста, в комментариях. Подписывайтесь на обновления, чтобы не пропускать выход новых статей на блоге.
Это продолжение первой части статьи по программированию ботов для телеграмм на Java
TelegramBot инструкция по созданию базового функционала для бота. (Часть 1)
Кому интересно дальше, милости прошу под кат…
Сразу скажу, в этой части добавлено сразу много всего и по-тихоньку мы с вами разберем всю ту функциональность, что позволила боту суметь в многопоточность и зачем она ему вообще нужна.
Как обычно с главного:
Весь готовый код по этой статье вы можете найти в ветке Part2-Handlers в гит-репозитории.
Код полностью рабочий, достаточно склонироваться, изменить данные для авторизации бота(имя и токен) и запустить метод main в классе App.class.
А дальше по пунктам разберем те изменения, которые появились после выхода первой части.
Обработка команд
Вызвав команду /myBots выберите вашего бота и дальше кнопка «Edit Bot»
Вы получите такое окно, где будут показаны все параметры бота и дальше можно настроить весь его интерфейс и указать с какими командами ваш бот умеет работать.
Задаются они вот в таком формате:
И после этого при начале ввода команды вашему боту — он будет показывать помощь со списком перечисленных команд:
В классе Command мы перечислим все команды, которые должен уметь понимать наш бот.
Еще добавим один вспомогательный класс ParsedCommand
Основное его назначение — в объектах этого класса мы будет хранить результат парсинга текста. Содержаться в нем будет только сама команда и весь текст, который идет после команды.
И напишем отдельный класс, который будет нам парсить команды. Класс Parser
Вкратце. При инициализации парсера мы обязательно передаем в конструкторе имя нашего бота, чтобы парсер умел отличать свои команды от чужих.
Ну и дальше мы просто вызываем публичный метод
Как работает парсер вы можете увидеть в тестовом классе.
Мухи отдельно, котлеты отдельно
Изменения в этом классе очень незначительные. Мы добавили две очереди:
и немного переписали код функции public void onUpdateReceived(Update update)
Создадим отдельный package: service и в нем у нас будет всего 2 класса:
Их работу мы рассмотрим чуть ниже, а пока пропишем их использование в нашем стартовом классе App
После того, как наш бот приконнектился — мы стартует наши обработчики в отдельных потоках:
Для обоих потоков мы указываем режим Daemon. Это нужно для того, чтобы потоки работали до тех пор, пока работает основной поток и сами завершались, как только он свою работу прекращает.
Разберем по пунктам, что он умеет и что делает:
-
Естественно это наследование интерфейса для многопоточности:
implements Runnable
и реализация функции run
Тут мы запускам бесконечный цикл, который занят только тем, что он проверяет очередь на отправку и вызывает команду send
Тут мы используем созданный ранее парсер команд. И тут же мы добавим возможность использовать различные типы обработчиков для наших команд и некоторые из них сделаем многопоточными.
Цикл работы очень простой:
Проверяем очередь. Если что-то есть — запускаем анализатор:
Если ничего нет — ждем.
Анализатор проверяет тип объекта. Если он умеет с ним работать — запускает следующий анализатор. Если не умеет — ругается :)
Почему так? Опять таки это закладка на будущее и, надеюсь, я её раскрою в следующих частях этого цикла статей. Такая реализация позволит нам потом формировать свои какие-то задания для бота, делать списки рассылок, дневные задания. Для этого ресивер должен уметь обрабатывать не только объекты типа Update а и что-то наше. Но об этом потом :)
Рассмотрим подробнее анализатор для типа Update:
И тут у вас должен возникнуть вопрос: «Что еще за хендлер?». Речи про него раньше не шло и в коде он не упоминался. Все верно. Сейчас мы этот функционал и разберем.
Для этого создадим отдельный package, который и будет хранить все наши хендлеры. Назовем его handler
Создадим абстрактный класс AbstractHandler
У него будет базовый конструктор, в котором мы передаем с каким именно объектом Bot ему нужно будет взаимодествовать. И объявлена абстрактная функция operate реализацию которой мы должны будем прописать в наследниках нашего класса.
И сразу же реализуем самый простой хендлер, который не будет делать ничего и использовать мы его будем тогда, когда не сможем понять что за тип команды нам передали и от бота никакой реакции не требуется.
Как мы его применим и где мы получим результаты его работы — разберем чуть позже.
Следующий на очереди — SystemHandler
Он у нас займется обработкой базовых команд, таких как start, help и мы поручим ему еще и выполнение команды id
Основа его выглядит так:
Передав боту команду вида:
/notify 300
Бот должен вам сообщить, что команду понял и через 300 секунд он пришлет вам какое-то уведомление, что 300 секунд прошли. У этой команды может быть даже практическое применение :)
Например вы поставили пельмешки на огонь и вам их нужно снять через 5 минут. Бот с этим отлично справится и кинет вам в чат уведомление о том, что время вышло.
И чтобы логично завершить всю эту связку с вызовом хендлеров, вернемся в наш класс MessageReciever и посмотрим как мы понимаем какой хендлер нам нужен и как мы их запускаем.
Нужный хендлер нам возвращает команда
Теперь, если вы захотите добавить еще какие-то команды, нужно будет сделать следующее:
- В классе Command добавить синтаксис команды.
- В ресивере в функции getHandlerForCommand указать, кто будет ответственен за обработку этой команды.
- И собственно написать этот хендлер.
О чем мы поговорим в следующих частях?
Не стесняйтесь, задавайте вопросы. Если в статье что-то не указано или какой-то момент не ясен — напишите мне об этом. Я обязательно поправлю, отредактирую или уточню спорные моменты.
Программируйте в удовольствие и да прибудет с вами сила и красивый код :)
Бот, написанный в этой части статьи, работает. Помучать его можно тут: @test_habr_bot
Так же можно помучать моего планировщика: @EventCheckPlanner_Bot
И Дерзкого киномана: @FilmFanAmateurBot.
Читайте также: