24 июня разработчики Telegram открыли платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов.
Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.
Рассмотрим API на примере создания тривиального бота:
- 1. Регистрация
- 2. Программирование
- 3. Команды
- 4. Свобода
- 5. Не текст.
- 6. Возможности
- 7. Ограничения
- Как создать чат-бота или бота для канала в Телеграм: учимся создавать ботов, команды, меню, отложенные посты, опросы и включаем автопостинг из социальных сетей или rss-лент
- Зачем нужны боты
- Способы создания бота в Telegram
- Как создать
- Прописываем команды
- Как создать меню в боте
- Полезные фишки
- Как включить автопостинг из соц сетей
- Учимся делать отложенные посты
- Как создать опрос
- Заключение
- Как создать своего бота для Telegram за 10 минут
- Устанавливаем Telegram
- Создаем бота
- Создаем свою команду
- Добавляем пункт в меню
- Включаем автопостинг из соцсетей
- Создаем отложенный пост
- Собираем данные
- Если нужно что-то посложнее
- 💡 Видео
1. Регистрация
Прежде чем начинать разработку, бота необходимо зарегистрировать и получить его уникальный id, являющийся одновременно и токеном. Для этого в Telegram существует специальный бот — @BotFather.
Пишем ему /start и получаем список всех его команд.
Первая и главная — /newbot — отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя — оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.
Для начала работы этого уже достаточно. Особо педантичные могут уже здесь присвоить боту аватар, описание и приветственное сообщение.
Не забудьте проверить полученный токен с помощью ссылки /getMe»>api.telegram.org/bot /getMe, говорят, не всегда работает с первого раза.
2. Программирование
Создавать бота буду на Python3, однако благодаря адекватности этого языка алгоритмы легко переносятся на любой другой.
Telegram позволяет не делать выгрузку сообщений вручную, а поставить webHook, и тогда они сами будут присылать каждое сообщение. Для Python, чтобы не заморачиваться с cgi и потоками, удобно использовать какой-нибудь реактор, поэтому я для реализации выбрал tornado.web. (для GAE удобно использовать связку Python2+Flask)
Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.
Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.
Здесь CMD — словарь доступных команд, а send_reply — функция отправки ответа, которая на вход принимает уже сформированный объект Message.
Собственно, её код довольно прост:
Теперь, когда вся логика бота описана можно начать придумывать ему команды.
3. Команды
Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:
Структура message[‘from’] — это объект типа User, она предоставляет боту информацию как id пользователя, так и его имя. Для ответов же полезнее использовать message[‘chat’][‘id’] — в случае личного общения там будет User, а в случае чата — id чата. В противном случае можно получить ситуацию, когда пользователь пишет в чат, а бот отвечает в личку.
Команда /start без параметров предназначена для вывода информации о боте, а с параметрами — для идентификации. Полезно её использовать для действий, требующих авторизации.
После этого можно добавить какую-нибудь свою команду, например, /base64:
Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather : Choose a bot to change the list of commands.
I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:
command1 — Description
command2 — Another description
I:
whoisyourdaddy — Information about author
base64 — Base64 decode
BotFather: Success! Command list updated. /help
C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.
4. Свобода
Как можно было заметить, Telegram присылает сообщение целиком, а не разбитое, и ограничение на то, что команды начинаются со слеша — только для удобства мобильных пользователей. Благодаря этому можно научить бота немного говорить по-человечески.
UPD: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/ ) (https://core.telegram.org/bots#privacy-mode)
- All messages that start with a slash ‘/’ (see Commands above)
- Messages that mention the bot by username
- Replies to the bot’s own messages
- Service messages (people added or removed from the group, etc.)
Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.
Для начала в Handler добавляем обработчик:
А потом в список команд добавляем псевдо-речь:
Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.
5. Не текст.
Боты, как и любой нормальный пользователь Telegram, могут не только писать сообщения, но и делиться картинками, музыкой, стикерами.
Для примера расширим словарь RESPONSES:
И будем отлавливать текст :
Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:
И все, теперь бот будет время от времени присылать стикер вместо времени:
6. Возможности
Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).
Вспоминая статью про умный дом, могу сказать, что теперь извращений меньше, а работа прозрачнее.
7. Ограничения
К сожалению, на данный момент существует ограничение на использование webHook — он работает только по https и только с валидным сертификатом, что, например для меня пока критично за счет отсутствия поддержки сертифицирующими центрами динамических днс.
К счастью, Telegram также умеет работать и по ручному обновлению, поэтому не меняя кода можно создать еще одну службу Puller, которая будет выкачивать их и слать на локальный адрес:
P.S. По пункту 7 нашел удобное решение — размещение бота не у себя, а на heroku, благо все имена вида *.herokuapp.com защищены их собственным сертификатом.
UPD: Telegram улучшили Бот Апи, из-за чего, теперь не обязательно иметь отдельную функцию для отправки сообщений при установленном вебхуке, а в ответ на POST запрос можно отвечать тем же сформированным JSON с ответным сообщением, где одно из полей устанавливается как ч ‘method’: ‘sendMessage’ (или любой другой метод, используемый ботом).
Видео:🥐 Как создать своего бота в Telegram + бонус|| Kamilla Shine 🧸Скачать
Как создать чат-бота или бота для канала в Телеграм: учимся создавать ботов, команды, меню, отложенные посты, опросы и включаем автопостинг из социальных сетей или rss-лент
Всем привет! Сегодня я расскажу вам о том, как создать бота в Телеграм и зачем это может понадобиться владельцу популярного канала. Сразу хочу успокоить – уметь программировать не нужно. Хотя, конечно, если вы заядлый программист, то флаг вам в руки. Говорят, это достаточно просто.
Итак, зачем же нужны боты в Telegram и как их создать новичку? Как настроить меню, добавить команды или активировать автопостинг из социальных сетей? Давайте разбираться.
Видео:Как сделать бота в телеграмме | Телеграм боты для начинающихСкачать
Зачем нужны боты
Telegram — один из самых популярных мессенджеров в России, постепенно завоёвывающий любовь и признание во всём мире. Его создателем является Павел Дуров, некогда создавший социальную сеть ВКонтакте. Мессенджер обладает множеством функций, при этом он абсолютно бесплатный. Даже стикеры вы можете подключить на халяву или сделать самостоятельно.
Одной из уникальных и очень удобных фишек приложения считаются боты. Они служат для выполнения самых разных задач:
- Создания рассылки из социальных сетей;
- Украшения постов в чатах и каналах;
- Проведения опросов среди подписчиков;
- Для ответов на часто задаваемые вопросы;
- Показа новостей;
- Чтобы развлекать подписчиков.
Как видите, вариантов использования много, а ведь я назвал далеко не все. Но, могу вас заверить, без помощи бота создать по настоящему интересный и полезный канал, посты в котором будут привлекать пользователей и подталкивать их к подписке – невозможно.
Видео:Как сделать бота в телеграмме | Telegram BotСкачать
Способы создания бота в Telegram
Всего существует два способа, как можно сделать помощника для чата или канала. Первый, как вы уже могли догадаться – для программистов. Добавлю только, что для работы придется воспользоваться Telegram API. Я в этом не силен, поэтому выбираю второй вариант. Он не требует никаких дополнительных навыков и вполне подходит новичкам.
Как создать
Для начала вам нужно найти @Manybot и подписаться на него, нажав кнопку «Запустить»:
Чтобы не париться с языком – выбираем «Русский»:
Нажимаем «Добавить нового бота»:
А теперь нужно следовать инструкции, которую пришлют в чат и подключить нового бота. Для этого нажимаем вот сюда:
Активируем его и щелкаем вот по этой команде:
Вводим имя (обязательно латиницей) и нажимаем отправить. Снова вводим название, но уже пользовательское (оно обязательно должно заканчиваться словом «bot»).
Рекомендую просто к уже придуманному имени добавить требуемое окончание.
Остается скопировать следующий API:
И прислать его Manybot:
Описываем назначение нашего бота или скипаем данный шаг.
Поздравляю, вы справились и сделали своего первого бота для чата или канала в Telegram! Теперь его можно подключать (добавить, как подписчика) и обучать различным командам.
Если не знаете, как подключить помощника к каналу, то вот инструкция. Вам нужно:
- зайти в созданного бота и активировать его;
- нажать на троеточие справа сверху и открыть профиль;
- скопировать «Имя пользователя»;
- зайти в канал, нажать троеточие справа сверху и щелкнуть «Добавить участников». Вставить скопированное название и нажать «Добавить».
Для чата процедура идентичная. Ну, если разработчики ничего не изменили. А теперь давайте научимся подключать различные команды.
Прописываем команды
Я не буду особо заморачиваться и сделаю что-нибудь простенькое. Вам главное запомнить принцип, а дальше все пойдет, как по маслу.
Чтобы прописать команду нужно:
- набрать /commands и нажать «Создать команду»;
- ввести подходящее название (обязательно на латинице, иначе не примет), отправить его и подобрать подходящий ответ: сообщение, картинку, файлик, после чего нажимаем «Сохранить»;
Довольно просто, правда? Теперь, когда люди активируют вашего бота и пропишут команду, получат в ответ заранее созданное сообщение.
Чтобы отредактировать уже созданную команду необходимо вернуться в главное меню и зайти в раздел «Пользовательские команды», после чего выбрать нужную:
Как создать меню в боте
Если есть время и желание довести своё творение до ума, то создание красивого меню в вашем боте – отличный выбор. Для этого нужно:
- зайти в «Пользовательские команды» и нажать «Настроить гл. меню»;
- выбрать команду из списка и ввести название, под которым она будет отображаться;
- на этом все. Данный пункт появится в меню и любой пользователь бота сможет им воспользоваться.
Если вам вдруг приспичило настроить внешний вид, переименовать кнопку или вовсе её удалить, нужно снова зайти в «Команды» и «Настройки меню», после чего нажать на желаемую клавишу. Дальше дело техники, а все возможные варианты настройки вам сразу же покажут:
Видео:Как сделать бота тех.поддержку в телеграмме? (Aiogram)Скачать
Полезные фишки
А сейчас я продемонстрирую три крутые фишки, которыми можно воспользоваться после создания бота в Телеграме.
Как включить автопостинг из соц сетей
Первая и самая интересная – автопостинг из социальных сетей (ВК, Twitter, YouTube) или RSS ленты в канал или чат в Telegram. Она позволяет сэкономить уйму времени и упростить продвижение канала. Чтобы её включить, нужно:
- ввести специальную команду: /autoposting и выбрать источник, откуда будем брать посты;
- опубликовать ссылку на страницу;
Всё, теперь новые записи в соц. сетях или rss ленте будут автоматически дублироваться в чате или канале.
Для ВКонтакте нужна именно публичная страница, с личной такое не прокатит.
Учимся делать отложенные посты
Еще одна полезная функция – отложенные посты. Довольно часто бывают ситуации, когда времени на публикацию нет, а сделать это просто необходимо. Чтобы не забивать голову решением подобных проблем, в Telegram можно заранее продумать темы публикаций, подготовить материал и воспользоваться ботом, который сам все отправит в указанное время.
Итак, для начала вам нужно ввести /newpost или выбрать «Отправить новое сообщение» в меню. Придумываем текст, добавляем картинки или музыку, отправляем всё это боту и нажимаем «Отложить».
Выскочит оповещение, после чего нужно указать текущее время (настраиваем часовой пояс – это делается один раз):
Теперь нужно указать время публикации. Для этого выбираем день и отправляем точное время, нажимаем «Сохранить»:
Готово! В нужный час публикация отобразится у всех пользователей.
Как создать опрос
Последняя важная функция, которую я сейчас разберу – опросы. Ну, тут без комментариев, сами должны понимать, зачем они нужны и как ими воспользоваться для продвижения канала. Моё дело рассказать, как их создать.
Для начала нажмите «Пользовательские команды» и «Создать». Введите и отправьте название:
Нажмите «Добавить вопрос» и выберете его тип (я выбрал обычный):
Введите и отправьте вопрос:
Нажмите сохранить и всё, готово. Кстати, чтобы проверить ответы, вернитесь в главное меню и нажмите «Ответы на формы», после чего найдите и выберете нужную:
Видео:Как создать бота в Telegram | Cделать Телеграм бота с нуля | Заработок на своем чат-боте | PuzzlebotСкачать
Заключение
Как видите, создать бота в Телеграм достаточно просто и быстро. Они полезные, а когда дело доходит до украшения публикаций, проведения опросов и улучшения администрирования – становятся просто незаменимой палочкой выручалочкой в руках админа.
На этом всё. Подписывайтесь и до встречи в следующих статьях. Пока-пока!
Видео:Полезные телеграм боты #capcut #tutorialСкачать
Как создать своего бота для 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?Скачать
Создаем отложенный пост
В ботах Telegram можно отправлять сообщения, которые будут приходить всем его подписчикам. Вот инструкция, как создать такое сообщение и запланировать его отправку на определенное время:
1. Набираем команду /newpost:
2. Вводим текст поста и нажимаем на кнопку Отложить пост, указываем текущее время:
3. Указываем время поста и сохраняем пост:
Видео:Настрой ПРАВИЛЬНО Телеграм перед запуском. Не пользуйся пока ЭТО не сделаешь. Секреты Телеграм 👁🗨Скачать
Собираем данные
Еще с помощью ботов можно проводить опросы среди подписчиков:
1. Набираем /commands, выбираем пункт меню Создать команду и вводим имя для новой команды:
2. Нажимаем на кнопку Добавить вопрос, выбираем тип ответа и вводим текст вопроса:
3. Нажимаем на кнопку Сохранить и получаем уведомление об успешном создании команды:
4. Ответы на вопрос можно посмотреть в Главное меню-> Ответы на формы -> название команды:
Вот и все, что нужно знать, чтобы создать простейшего бота. Больше информации о функциях, которые может добалять manybot.io можно узнать, если набрать в своем боте команды /help.
Видео:Как создать телеграм бота с ChatGPT | ChatGPT в телеграммеСкачать
Если нужно что-то посложнее
Возможности ботов Telegram гораздо шире, чем те которые есть у ботов, созданных на платформе code.telegram.org можно почитать подробнее о Telegram API и создании приложений на его основе.
Кстати, для расширения кругозора рекомендую статью 10 фактов о Telegram, которые ты не знаешь.
💡 Видео
Как создать и подключить бота в Телеграм (полная инструкция)Скачать
Как создать бота в Telegram бесплатно | Бесплатный чат бот ТелеграммСкачать
Как сделать бота обратной связи в телеграм – LivegramBotСкачать
Этот telegram-бот нужен каждому #shorts #spamfabrika #телеграм #бот #полезныесоветы #фишки #telegramСкачать