Как подключить telegram bot
Перейти к содержимому

Как подключить telegram bot

  • автор:

Добавить бота в Телеграм — как его найти и начать работу

как добавить бота в телеграм картинка

Добавить нового бота в Телеграм очень просто. В последнее время этот вопрос актуален для пользователей мессенджера. Это неудивительно, потому что функционал ботов очень разнообразен. Изготавливать их тоже не очень сложно, простого Телеграм-бота с элементарными функциями можно сделать и добавить самому.

Если вы обладаете хотя бы начальными навыками программирования, то функционал работа можно значительно расширить.

Программные помощники умеют массу полезного. С их помощью можно находить музыку, фильмы, книги и другую полезную информацию. Есть Телеграм-боты, которые добавляются в групповые чаты и могут озвучивать текстовые сообщения. Масса роботов — хорошие посредники для различных сервисов, компаний и банков.

Свои собственные боты есть у «Сбербанка», «Почты России», «OneTwoTrip», «Связного», «Медузы» и многих других.

Помимо них есть ещё сотни тысяч роботов поменьше, общая аудитория которых насчитывает десятки миллионов пользователей.

Доступность, простота и эффективность Телеграм- ботов сделали их крайне популярными среди пользователей. Поговорим о том, что это такое и как ими пользоваться.

Специально для жителей РФ: рекомендуем бота TeleBot, который раздает надежные, быстрые и бесплатные MTProxy для обхода блокировки Telegram.

Содержание:

  • Как начать работу с ботом
  • Что делать, если бот не работает
  • Как ещё можно использовать ботов

Как начать работу с ботом

Для обычных пользователей роботы работают через диалоги прямо в Телеграм . Нужного можно найти через строку поиска. Лучше всего использовать для этого имя, оно всегда начинается с «@» и заканчивается на «…bot», например, @PollBot — помощник для создания голосований.

В этом случае предполагается, что вы уже знаете конкретное имя робота, которого хотите добавить. Если же нет, вам помогут подборки и каталоги, такие как наш.

Рекомендуем к обязательному прочтению нашу огромную подборку лучших ботов для Телеграм.

картинка: добавить бота в Телеграм

Чтобы активировать помощника, нужно начать с ним диалог нажатием кнопки «Start» . В дальнейшем большинство функций будут доступны именно через окно беседы. Но есть, например, @gif (для поиска гифок) или @vkmusic_bot (для поиска музыки) — их можно вызывать в диалоге с вашим собеседником, для чего нужно напечатать символ «@».

В окне беседы можно общаться с Телеграм-ботом , вводя команды или нажимая на кнопки. Если кнопки не предусмотрены, а команд вы не знаете, просто напечатайте в поле набора сообщения слеш «/». После этого появится всплывающее меню с подсказками, где будут видны команды, которые можно добавить.

скриншот: как добавить бота в Телеграме

Варианты команд на примере одного из популярных ботов для прокси

Помимо этого, лучше знать несколько универсальных команд, которые работают практически во всех ботах:

  • /start — начало работы с ботом;
  • /help — помощь по функциям и работе бота;
  • /settings — настройки, если они предусмотрены.

Что делать, если бот не работает

Бот — это программный продукт, который использует облачные сервера Телеграм для работы . Поэтому их работоспособность может влиять на скорость реакции на команды. Чаще всего, если робот долго не отвечает на команды, то проблема именно в этом. Единственное, что можно сделать в этом случае — немного подождать, пока работа не возобновится.

Другой причиной может быть ошибка в процессе разработки Телеграм-бота, которую допустил программист. Если компания-владелец перестала поддерживать бот-сервис, то программный помощник скорее всего не будет откликаться на команды.

Как ещё можно использовать ботов

Это хороший инструмент для администраторов каналов и групп.

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

Это значительно облегчает администрирование и позволяет удобно и оперативно вести даже несколько каналов сразу.

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

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

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

Как создать и подключить Telegram чат-бота

Чат-бот — это автоматизированный многофункциональный помощник, который может показывать информацию подписчикам и собирать информацию по запросу согласно заранее подготовленным сценариям.

Следуйте пошаговой инструкции, чтобы создать своего первого чат-бота для Telegram мессенджера или подключить существующий к сервису SendPulse для дальнейшей настройки.

Содержание

Если у вас уже создан бот, пропустите первый пункт и переходите сразу ко второму.

Как создать нового бота в Telegram

Откройте мессенджер Telegram, войдите в вашу учетную запись или создайте новую.

Шаг 1. Введите в поле поиска @BotFather и выберите бота.

У официального бота Telegram будет стоять синий подтверждающий знак возле имени в виде галочки.

Шаг 2. Нажмите «Запустить» для активации бота BotFather.

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

Шаг 3. Выберите или напечатайте и отправьте команду /newbot .

Шаг 4. Дайте имя боту — клиенты увидят это имя при общении с ботом. И никнейм бота — по нему можно будет найти бота в Telegram. Никнейм должен быть уникальным, не повторять существующие в базе и заканчиваться на слово «bot».

После того как вы выберите подходящее имя бот будет создан. Вы получите сообщение со ссылкой на бота t.me/<никнейм_бота> , рекомендации по настройке аватарки, описание бота и список команд для настройки бота.

Для подключения бота в SendPulse вам понадобится токен. Скопируйте значение токена и перейдите к последнему пункту.

Где найти ключ для уже существующего бота

Шаг 1. Перейдите к боту @BotFather и введите команду /token .

Вы увидите кнопки с созданными ботами.

Шаг 2. Выберите бота, которого нужно подключить.

Скопируйте значение токена.

Как подключить бота в Sendpulse

Перейдите в раздел «Чат-боты» в вашем аккаунте SendPulse. Если ранее у вас не было подключенных каналов, нажмите на кнопку «Подключить каналы».

Если вы уже подключали ботов, перейдите в раздел «Управление ботами» и нажмите «Добавить бота». Также вы можете выбрать «Подключить» напротив нужного канала.

В секции «Telegram» введите ключ доступа — токен полученный в созданном боте. Нажмите «Подключить».

Нажмите на кнопку «Подписаться на бота». Таким образом вы сможете тестировать каждое сообщение и цепочку и отправлять их себе перед реализацией.

Вы будете перенаправлены в приложение «Telegram», нажмите на кнопку «Запустить» и вы подпишетесь на своего бота.

После успешного подключения чат-бота вы получите приветственную цепочку, бот появится у вас в списке ботов и вы можете начинать создавать приветственные и триггерные цепочки, массовые рассылки.

Создание и хостинг телеграм бота. От А до Я

Привет, хабрчане! Какой бы заезженной не была тема создания телеграм бота на python3, я не нашёл инструкций, где показан путь от первой строчки кода до деплоинга бота (по крайней мере все методы, что я видел, немного устарели). В этой статье я хочу показать процесс создания бота от написания BotFather-у до деплоинга бота на Heroku.

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

P.S. Пишите если нужна статья по созданию более сложного бота, т.е. с вебхуками, БД с настройками юзеров и т.д.

BotFather

Для начала нам надо зарегистрировать нашего бота в Telegram. Для этого:

В поиске вбиваем @BotFather и переходим в диалог с Отцом Ботов.

Пишем /newbot. Указываем имя бота (то, что отображается в диалогах). Указываем его логин, по которому его можно булет найти.

P.S. Оно должно заканчиваться на Bot/bot

Вот. Нам дали API ключ и ссылку на бота. Желательно сохранить API ключ и перейти в диалог с ботом, чтобы потом не копаться в переписке с BotFather

Дальше добавим ему пару команд: пропишем /setcommands и одним сообщением, т.к. /setcommands не добавляет команды, а задаёт их с нуля, пошлём ему команды.

all — спарсить заголовки с вкладки «ВСЁ ПОДРЯД»
top — спарсить заголовки с вкладки «ЛУЧШЕЕ»

На этом работа с BotFather закончилась, перейдём к следующей части.

Установка и настройка pipenv. Первый запуск.

Для начала создадим файл, в котором будет основной код бота bot.py. Если бот большой, то сразу создавайте файлы, куда вы вынесете функции, классы и т.д, иначе читаемость кода стремится к нулю. Я добавлю parser.py

Установим pipenv, если его конечно ещё нет.

Установим pipenv в папку проекта.

Установим интересующие нас библиотеки. Я буду работать с PyTelegramBotAPI. Также для парсинга добавим BeautifulSoup4.

Начинаем писать код!

Открываем bot.py, импортируем библиотеки и создаём главные переменные.

Запустим бота. Посмотри наличие ошибок.

Если ошибок не появилось, то продолжим.

Хэндлеры. Отвечаем на команды и сообщения

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

Основы взаимодействия. Ответ на команды

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

Начнём с самого простого: ответим на команды /start и /go

Сейчас разберёмся что это и как это работает. Передаём в message_handler параметр commands равный массиву со строками — командами, на которые он будет отвечать описанным ниже образом. (На все эти команды он ответит одинаково). Далее используем send_message, в него записываем id чата (его можно достать из message.chat.id), в который отправить сообщение и, собственно, само сообщение. Нельзя забыть написать bot.polling() в конце кода, иначе бот сразу же выключиться. Почему так мы узнаем позже.

Теперь можно запустить бота и написать ему /start или /go и он ответит.

P.S. Сообщение может быть не только строкой, а, в принципе, чем угодно.

Это json объект, хранящий информацию об отправителе, чате, и самом сообщении.

Основы взаимодействия. Ответ на текстовые сообщения.

Теперь обработаем текстовые сообщения бота. Самое важное что нам нужно знать это то, что текст сообщения храниться в message.text и то, что, чтобы обрабатывать текст в message_handler нужно передавать content_types=[‘text’].

Добавим вот такой код.

Тут мы довабили пару переменных: вынесли текст сообщения (в нижнем регистре, чтобы не было лишних проблем с теми кто пишет капсом, заборчиком и т.д.) в переменную text, вынесли message.chat.id в отдельную переменную, чтобы каждый раз не обращаться к message. Также мы построили небольшое ветвление, для ответа на определённые сообщения, а также ответ на случай непонятного боту сообщения.

Основы взаимодействия. Ответ на картинки, документы, аудио и прочие.

Для ответа на картинки, стикеры, документы, аудио и т.д. нужно всего лишь поменять content_types=[‘text’].

Рассмотрим пример с картинкой, добавив этот код.

Все типы контента:

text, audio, document, photo, sticker, video, video_note, voice, location, contact, new_chat_members, left_chat_member, new_chat_title, new_chat_photo, delete_chat_photo, group_chat_created, supergroup_chat_created, channel_chat_created, migrate_to_chat_id, migrate_from_chat_id, pinned_message

Строим цепочку ответов.

Пришло время закончить с элементарными действиями и начать что-то серьёзное. Попробуем построить цепочку ответов. Для этого нам понадобиться register_next_step_handler(). Создадим простой пример, на котором и разберёмся как работает register_next_step_handler().

И так, в первой функции добавился bot.register_next_step_handler(msg, askAge), в него мы передаём сообщение, которые хотим послать, и следующий щаг, к которому перейти после ответа пользователя.

Во второй функции всё поинтересней, здесь идёт проверка ввёл ли пользователь число, и, если нет, то функция рекурсивно вызывает сама себя, с сообщением «Возраст должен быть числом, введите ещё раз.». Если пользователь ввёл всё верно, то он получает ответ.

Но, есть тут проблема. Можно повторно вызвать команду /go или /start, и начнётся бардак.

Пофиксить это несложно, добавим переменную для проверки состояния выполнения скрипта.

С построением простых цепочек мы разобрались, пойдём дальше.

Добавляем парсер в цепочку.

Для начала нужен сам парсер. Обратим внимание на то, что во вкладках «Лучшее» и «Всё подряд» есть дополнительные фильтры: сутки, неделя, месяц и ≥10, ≥25, ≥50, ≥100 соответственно.
Парсер конечно можно написать и в 1 функцию, но я разобью на 2, так будет проще читать код.

По итогу парсер возвращает нам строку с заголовками статей, основываясь на наших запросах.
Пробуем, используя полученные знания, написать бота связанного с парсером. Я решил создать отдельный класс (это скорее всего неправильный метод, но это уже относится к питону, а не к основной теме статьи), и в объекте этого класса хранить изменяемые данные.

Теория. Методы взаимодействия с ботом.

Мы используем long polling для получения данных о сообщениях от бота.

Есть же вариант использовать в корне другой метод — вебхуки. Так бот сам будет отправлять нам данные о получении сообщения и т.д. Но этот метод сложнее в настройке, и, для простого показательного бота я решил его не использовать.

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

Маркапы. Добавляем клавиатуры для быстрого ответа.

Наконец основной код дописан. Теперь можно передохнуть и написать маркапы. Я думаю вы неоднократно видели их, но всё же, приложу скриншот. [SCREENSHOT]

Я выведу маркапы в отдельный файл — markups.py.

В написании маркапов нет ничего сложного. Нужно лишь создать маркап, указать пару параметров, создать пару кнопок и добавить их в маркап, далее просто указываем reply_markup=markup в send_message .

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

Применим полученные знания к нашему боту.

Ура! С кодом впринципе разобрались. Теперь самое важное — деплоинг бота не хероку.

Деплоим бота на Heroku.

Для начала надо зарегистрироваться на Хероку и на Гитхабе.

Теперь создаём репозиторий на гитхабе. (нажмите плюсик слева от вашего аватара)
Сейчас нам нужен Procfile (Procfile.windows для windows). Создаём его и записываем в него bot: python3 bot.py

Теперь удаляем TOKEN из bot.py, здесь он не нужен, ведь мы будем загружать этот файл на гитхаб. Через тот же терминале, что использовали для запуска бота, заливаем файлы на гитхаб. (Предворительно удалите папку __pycache__).

Гит просит логин и пароль, спокойно вводим и преступаем к деплоингу бота на хероку. Пишем всё в том же терминале.

Теперь возвращаем TOKEN в bot.py, здесь он нужен, ведь мы будем загружать этот файл на хероку.

Чтобы выключить бота
И, не забываем перед залитием на гитхаб и удалить TOKEN из нашего bot.py. Ведь нам не нужно, чтобы кто-то им пользовался. Можно конечно воспользоваться .gitignore и вынести токены в отдельный фай.

Поздравляю!

Работа окончена, бот работает удалённо.

Ссылки

Заключение

Если кому-то было интересно, то цель написания статьи выполнена. Если кому-то хочется увидеть статью про более сложного бота (с вебхуками, подключенной БД с настройками пользователей и т.д.) — пишите.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *