Рассмотрим разработку и запуск ботов для мессенджера Телеграм. В качестве языка разработки будет использоваться Python. Запускать код на выполнение будем в рабочих тетрадках (блокнотах) замечательной среды разработки Colab компании Google. Код бота, размещенный в Colab, будет взаимодействовать c сервером Telegram через API.
Telegram (от др.-греч. τῆλε «далеко» + др.-греч. γράμμα «запись») — кроссплатформенная система мгновенного обмена сообщениями (мессенджер) с функциями VoIP, позволяющая обмениваться текстовыми, голосовыми и видео- сообщениями, стикерами и фотографиями, файлами многих форматов. Также можно совершать видео- и аудио- звонки и трансляции в каналах и группах, организовывать конференции, многопользовательские группы и каналы. Клиентские приложения Telegram доступны для Android, iOS, Windows Phone, Windows, macOS и Linux.
API (МФА [ˌeɪ.piˈaɪ]; аббр. от англ. Application Programming Interface — «программный интерфейс приложения») — описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой. Обычно входит в описание какого-либо интернет-протокола, программного каркаса (фреймворка) или стандарта вызовов функций операционной системы. Часто реализуется отдельной программной библиотекой или сервисом операционной системы. Используется программистами при написании всевозможных приложений.
🔥 Автоматические ответы бота на популярные вопросы ❗️ Есть новое видео 👇 См. описание
Бот (англ. bot, сокращение от чеш. robot) — виртуальный робот, который функционирует на основе специальной программы, выполняющий автоматически и/или по заданному расписанию какие-либо действия через интерфейсы, предназначенные для людей. Боты находят также применение в условиях, когда требуется лучшая реакция по сравнению с возможностями человека (например, игровые боты, боты для интернет-аукционов и тому подобное) или, реже, для имитации действий человека (например, боты для чатов и тому подобное). Чат-бот может выдать достаточно адекватный ответ на вопрос, сформулированный на правильном русском языке (или любом другом, работа с которым поддерживается). Такие боты часто применяются для сообщения прогноза погоды, результатов спортивных соревнований, курсов валют, биржевых котировок и тому подобное.
Чат-бот — это программа, работающая внутри мессенджера, например Telegram. Такая программа способна отвечать на вопросы, а также самостоятельно задавать их. Чат-боты используются в разных сферах для решения типовых задач.
C точки зрения прикладной информатики (и прикладной информатики в экономике в частности), создание чат-бота — это не только следование последним тенденциям. Прежде всего, речь идёт о сокращении затрат, увеличении конверсии и улучшении качества обслуживания клиентов. Сотни компаний делают всё возможное, чтобы достичь вышеупомянутых целей. И для их достижения необходимы боты как первостепенный инструмент.
Согласно текущей статистике за 2022 год, недвижимость является ведущей отраслью по прибылям от чат-ботов (28 %). Затем идут путешествия (16 %), образование (14 %), здравоохранение (10 %) и финансы (5 %).
Чат-боты могут использоваться в службах поддержки, помогая решить простые вопросы, например, такие как смена пароля.
Чат-боты можно использовать для поиска информации. Например, прогноз погоды, афиша мероприятий.
В сфере путешествий стали одними из первых использовать чат-боты. Чат-бот может предложить направления/рейсы/рестораны — на основании поисковых запросов и предпочтений пользователя. После покупки программа обеспечивает клиентскую поддержку, предоставляя ответы на часто задаваемые вопросы.
Практическая часть
Чтобы создать бота, нам нужно дать ему название, адрес и получить токен — цифро-символьную строку, которая будет однозначно идентифицировать бота.
Необходимо найти бота, нажать кнопку «Запустить» (или написать /start), в ответ BotFather пришлет список доступных команд.
Отправим боту команду /newbot, чтобы создать нового бота. В ответ он попросит ввести имя будущего бота, его можно писать на русском. После ввода имени нужно будет изобрести адрес бота, причем он должен заканчиваться на слово bot. Например, drach_pro_bot. Если адрес уже кем‑то занят, придётся придумывать новый.
Когда бот будет создан, мы получим сообщение, в котором будет исчерпывающая техническая информация о боте. Обратите внимание, что после фразы Use this token to access the HTTP API будет написана строка из букв и цифр — это токен.
Реализуем бота для Telegram, воспользовавшись возможностями языка Python. Понятно, что чтобы бот всегда работал, его код должен быть запущен и выполняться 24 часа в сутки. Значит, потребуется сервер (для надежности под операционной системой Linux), на котором установлен Python. Если такого сервера нет, можно запускать код на собственной домашней машине, но тогда придётся повозиться с настройками роутера. Но есть ещё один интересный вариант, который очень подходит для тестирования и изучения ботов — это Colab.
Работать будем в рабочей тетради Colab, так как это нам даёт замечательные преимущества: не надо устанавливать собственный сервер в Интернет и не надо перенастраивать домашний роутер.
Далее в рабочей тетради Colab проверяем версию Python. Чтобы операция выполнялась на уровне операционной системы (а не языка программирования), перед командой ставим восклицательный знак:
!python3 —version
Должны получить ответ вида:
Python 3.7.13
Для взаимодействия с Telegram API средствами языка Python разработаны несколько модулей. Самый простой из них — Telebot. Устанавливаем необходимый пакет:
!pip3 install pytelegrambotapi
В редчайших случаях, возможно, понадобится написать просто pip вместо pip3.
Задача 1. ЭХО
Сначала реализуем простейшего бота – для понимания процесса. Он будет получать от пользователя текстовое сообщение и возвращать его же. Используем код:
Для запуска бота в Colab нажимаем Ctrl+F9.
Если всё запустилось без ошибок, переходим в Telegram – проверять работу бота. Ищем бота по придуманному ранее адресу. Запускаем бота кнопкой «Запустить» (Start) или командой /start. При правильной работе бот возвращает сообщения отправителю один-в-один.
Задача 2. Бот-всезнайка
Более сложный бот, который будет давать определения для введённых терминов. Черпать информацию будем из Википедии по той причине, что для этого уже разработан прекрасный модуль:
!pip3 install wikipedia
Используем следующий код и запустим его.
Задача 3. БОТ С ДВУМЯ ВИРТУАЛЬНЫМИ КНОПКАМИ
Во многих ботах для выбора каких‑то действий применяются так называемые виртуальные кнопки. Реализуем ветвление. Пользователь будет выбирать, что он хочет прочитать (например, афоризмы или новости).
Потребуется создать два файла: thinks.txt и facts.txt, которые содержат список сегодняшних новостей и афоризмы. Одна строка – одно утверждение. Лучше создать хотя бы три строки в каждом.
На данном этапе куда удобнее будет привязать Google drive (Гугл-диск) к Colab и загрузить туда текстовые документы.
Команда для привязки Гугл-диска:
from google.colab import drive
drive.mount(‘/content/drive’)
Важно! Если использовать для этого бота тот же токен, что и для предыдущего, то, чтобы увидеть кнопки, потребуется перезапуск командой /start.
NameFilterBot
Бот для предотвращения присоединения к чату пользователей, чьё имя или username содержат запрещённые слова.
Установить
Следуй этим шагам:
Команды
Все эти команды должны быть отправлены в чат, который вы хотите настроить. Не отправляйте эту команду в личном сообщении боту, он проигнорирует такие личные сообщения.
Вопросы и Ответы
Как проверить правильность установки бота?
Во-первых, полная инструкция по установке. Затем введите в чат эту команду: /grep check . Исправьте любые проблемы, о которых говорит бот.
Как сопоставляются слова?
Слово соответствует, если оно содержится в любой части имени. Если вы хотите, чтобы слово совпадало строго с начала имени, используйте ведущий «!» символ. Например: «!bitcoin». Если вы хотите, чтобы слово соответствовало строго в конце имени, используйте завершающий «!» символ. Например: «bitcoin!»
Источник: tgdev.io
Как создать опрос или тест в Телеграм канале и группе
Один из способов взаимодействия с аудиторией в каналах Телеграм и группах — это создание опросов. Путем опросов можно узнать мнение сообщества по той или иной теме, плюс опросы в целом ведут к повышению активности канала, а если они интересные, то могут привести и к его росту. Создать опрос в Телеграм достаточно просто, как с мобильного устройства, так и с компьютера. При этом, есть два основных способа создания опроса — встроенными функциями мессенджера или при помощи сторонних ботов. Подробнее о работе с этим инструментом расскажем в нашей инструкции.
Как создать опрос в Телеграм канале или группе
Под базовыми средствами при создании опроса в Телеграм канале или группе понимаются встроенные в мессенджер инструменты. В любом клиенте Телеграм (мобильном или на десктопе) имеются инструменты, позволяющие организовать опрос. Но важно понимать, что базовые средства ограничены по функциям.
При создании опроса в Телеграм стандартными средствами можно настроить следующие параметры:
- Количество ответов — их может быть не более 10
- Возможность выбора нескольких ответов
- Режим викторины, при таком опросе задается среди доступных ответов правильный, а также вводится информационное сообщение для тех пользователей, кто выберет неправильный ответ
- Анонимное голосование. Данная опция доступна только при создании опросов в группах Телеграм, в каналах она не предусмотрена
Зачастую базовых средств достаточно для проведения опроса в Телеграм, ниже подробные инструкции по созданию обычного опроса.
На iPhone или Android
Чтобы создать опрос в Телеграм на iPhone или Android, нужно открыть Телеграм-канал, в котором у вас имеются права для создания опросов. После этого нажмите на скрепку около поля для ввода текста сообщения.
Откроется список действий, в нашем случае нужно переключиться на раздел «Опрос».
Вы попадете в окно создания опроса. Введите сверху вопрос, далее варианты ответа. Если необходимо, активируйте опции «Выбор нескольких ответов» или «Режим викторины» (о нем мы рассказывали выше). Обратите внимание, что можно поменять местами варианты ответа, зажав палец на трех полосках справа от них и перетащив ответ. Когда все настройки будут завершены, нажмите «Создать».
После этого опрос будет создан, он сразу появится в чате канала.
На компьютере
Создать опрос в Телеграм с PC-версии мессенджера не сложнее. Чтобы это сделать, перейдите в канал, где у вас имеются права на проведение опросов, и нажмите на 3 точки в правом верхнем углу окна с чатом. Далее выберите пункт «Создать опрос».
Настройки здесь такие же, как в версии для мобильных устройств — нужно указать вопрос, варианты ответов, а при необходимости отметить возможность выбора нескольких ответов или активировать режим викторины. Когда настройки будут завершены, нажмите «Создать».
Обратите внимание:
В группах опросы создаются по тем же инструкциям, что и в каналах.
Боты для создания опросов или тестов в Телеграм
Создать опросы в Телеграм можно при помощи ботов. Есть множество различных ботов, которые по своей функциональности отличаются друг от друга. В зависимости от индивидуальных задач при создании опроса, нужно подобрать подходящего бота.
Работа с ботами для создания опросов в Телеграм интуитивно понятная, но покажем на примере:
В чате с ботом нажмите «Запустить».
Далее бот предложит несколько опций, нажмите «Создать новый тест».
Отправьте боту название теста.
Введите описание теста, если это требуется, можно данный пункт пропустить.
Далее нажмите «Создать вопрос».
Введите первый вопрос, варианты ответа и укажите верный ответ. Не забудьте указать объяснение для тех, кто выберет неправильный вариант ответа. После этого нажмите «Создать».
Вопрос будет отправлен в бот.
Далее можно таким же способом добавить еще вопросов или завершить создание теста, отправив команду /done. Закрыв тест, потребуется выбрать количество времени на ответ в тесте.
А далее указать, в каком порядке показывать вопросы данного теста.
После этого тест будет создан, теперь его можно отправить в группу для прохождения, пройти самостоятельно или отредактировать.
Отметим, что на базе подобных тестов часто проводятся различные розыгрыши в Телеграм.
Источник: geek-help.ru