В данной статье расскажу и покажу как создать своего TG чат-бота.
1. Создаём самого бота
Для начала, заходим в ТГ и переходим в
, после этого вводим команду
/start. Нам открылась меню этого бота, чтобы его создать вводим команду
/newbot. После этого вводим название самого бота (у меня будет - New Bot). Далее вводим юзер своего бота (Обязательно с окончанием _bot или просто bot)
Посмотреть вложение 36577
Отлично! База нашего бота готова, теперь можем загрузить аватарку, описание и приветствие
Для этого вводим команду
/mybots, далее выбираем нашего бота и нажимаем
Edit Bot и редактируем что надо.
Посмотреть вложение 36576
2. Установка пайтона и программы
Писать бота будем на Python, сразу же установим его. Переходим на
кликаем на
Downloads и
Downloads fot Window (Если у вас стоит винда)
Выбираем версию 3.13 и устанавливаем её.После того как всё установили, нужно определиться где будем писать код У меня же это будет
Visual Studio Code.
Программа может быть другая, это всё индивидуально. Не буду рассказывать как его устанавливать, просто оставлю
3. Основа бота
И так, после того как всё установили, создаем свой проект, для этого сразу выделяем место для всех будущий проектов. У меня это диск
D (у вас может быть другой диск) там создаю папку
PythonProject, а в этой папке самого бота.
Посмотреть вложение 36579
В Visual создаем файл с названием main.py (Обязательно .py).
Посмотреть вложение 36578
Ну и начинаем писать основу нашего бота...
3.1. Основа
Первое что мы делаем, устанавливаем библиотеку для работы с ботами тг.
pip install python-telegram-bot
(В терминал)
Сразу же создадим структуру нашего бота, добавим
handlers. py где будут функции-обработчики и
requirements.txt для упрощенной установки зависимостей
Примерно так:
Посмотреть вложение 36580
Ну что же, давайте писать код. В файле main. py импортируем нужные библиотеки:
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
Далее вставляем токен нашего бота, получаем диспетчер для регистрации обработчиков, добавляем наши команды (start), ну и обработчики текстовых сообщений
Полный код:
*** Скрытый текст не может быть процитирован. ***
Ну и не забываем импортировать обработчиков из handlers.py
Пока что закончили с main. py...
Переходим в handlers и так же как с main импортируем библиотеки
*** Скрытый текст не может быть процитирован. ***
Далее прописываем функцию которая будет обрабатывать команду start
*** Скрытый текст не может быть процитирован. ***
Потом, пишем функцию которая будет обрабатывать текстовые сообщения
*** Скрытый текст не может быть процитирован. ***
Полностью код:
*** Скрытый текст не может быть процитирован. ***
3.2. Ну теперь подошли к финалу
Реализуем сам чат. Сейчас будем работать с handlers, добавляем словарь для хранения сообщений
*** Скрытый текст не может быть процитирован. ***
Ну теперь давайте реализуем функцию для получения сообщения
*** Скрытый текст не может быть процитирован. ***
Всё красиво, всё четко. Переходим к main. py
Раннее создавали обработчик только для одной команды, сейчас реализуем для остальных
*** Скрытый текст не может быть процитирован. ***
3.3. Финал
Принцип работы бота - Пользователь, который хочет отправить сообщение, должен использовать команду
/send <user_id> <message>, где
<user_id> — это ID пользователя, которому он хочет отправить сообщение, а
<message> — текст сообщения.
Поэтому реализуем команду для просмотра своего ID
Посмотреть вложение 36584
Весь код:
Посмотреть вложение 36583
4. Принцип работы бота
Посмотреть вложение 36582
Посмотреть вложение 36581