Your AI powered learning assistant

Как создать Telegram-Бота на Python для начинающих (Туториал 2023)

Создание Telegram-бота на Python

В этом видео мы узнаем, как создать telegram-бота с помощью Python. Бот будет совместим как с группами, так и с приватными чатами. Мы создали новую версию на 2023 год из-за некоторых незначительных изменений в API.

Настройка бота

Чтобы настроить бота, откройте Telegram на своем мобильном телефоне или компьютере и найдите "BotFather". Нажмите на "BotFather" и нажмите "Пуск". Выберите имя для вашего бота (например, Banana Bot) и имя пользователя, включающее "bot". Скопируйте токен доступа, предоставленный BotFather. В PyCharm импортируйте typing.final, чтобы присвоить константам, таким как token и bot username, их типы. Настройте описание бота, текст о нем, изображение профиля, используя такие команды, как "/установить описание", "/установить текст о боте", "/установить изображение пользователя". Наконец, настройте команды, но об этом мы поговорим позже.

Настройка Telegram-бота

Чтобы начать кодировать нашего Telegram-бота, нам сначала нужно установить пакет "python-telegram" с помощью pip. После установки мы импортируем необходимые элементы из пакета и создаем такие команды, как "пуск" и "справка". Мы также определяем функцию под названием 'handle_response' для обработки пользовательского ввода и генерации соответствующих ответов.

Обработка входящих сообщений

Обработка входящих сообщений Создайте функцию для обработки входящих сообщений. Функция принимает обновление типа 'update' и контекст типа 'contextypes.default'. Сначала он проверяет, находится ли сообщение в групповом или приватном чате, обратившись к свойству 'chat.type'. Затем он создает строковую переменную с именем 'text', в которой хранится текст входящего сообщения из 'update.message.text'. Для отладки распечатайте идентификатор пользователя и текст, используя отформатированные строки. Если это групповой чат и содержит "@username", замените "@username" пустой строкой после удаления начальных/конечных пробелов из "text". Создайте другую переменную с именем 'response', которая вызывает другую функцию с именем `handleResponse`, передавая этот новый измененный текст в качестве аргумента, если мы пытаемся поговорить с ботом в групповом чате; в противном случае возвращаемся из этой функции, поскольку бот не должен отвечать, если явно не указано его имя пользователя.

Наконец, зарегистрируйте, что бот дал ответ в целях отладки, прежде чем отправлять ответ обратно, используя `await update.message.reply_text(response)`. Также создайте отдельный асинхронный def для обработки ошибок, где вы можете передавать обновления и типы контекста в качестве аргументов точно так же, как описанные выше функции, но печатать только ту конкретную ошибку, которая произошла во время выполнения.

Запуск Telegram-бота

Чтобы запустить бота в Telegram, откройте приложение и перейдите в раздел "Отец бота". Введите "/help", чтобы просмотреть все доступные команды. Затем используйте "/setcommands", затем выберите "Banana Bots" и введите три команды: "Пуск", "справка" и "...

Команды бота

В видео объясняется, как создавать и использовать пользовательские команды для бота. Пользовательские команды могут запускаться с помощью определенных ключевых слов или символов, таких как "пуск" или "справка". Эти команды предоставляют различные функциональные возможности и помогают пользователям более легко взаимодействовать с ботом. Затем выполняется скрипт для запуска бота, который ожидает ввода данных пользователем. После запуска пользователи могут общаться с ботом в чате, используя различные предопределенные команды, такие как "привет", или задавать вопросы типа "как дела?". Если сообщение не имеет смысла для бота, он ответит сообщением по умолчанию.

Создание группы

Чтобы создать группу, нажмите на "Новая группа" и дайте ей название. Добавляйте участников в группу, например "Банановый бот". Чтобы включить связь с Banana Bot, повысьте его до администратора, перейдя в раздел "Просмотр информации о группе", щелкнув правой кнопкой мыши по имени Banana Bot, выбрав "Повысить до администратора" и выбрав необходимые разрешения. Теперь вы можете упоминать "@BananaBot" в сообщениях, чтобы он ответил.

Улучшающий банановый бот

Чтобы расширить функциональность Banana Bot, мы можем упомянуть о нем непосредственно в групповом чате. Таким образом, он будет отвечать только при упоминании, а не на каждое сообщение. При повторном запуске скрипта с этим обновлением Banana Bot теперь будет отвечать только на упоминания. Кроме того, в консоли отображается информация о протоколировании сообщений пользователя. В приватных чатах, если мы говорим "Эй" или "Привет", бот реагирует соответствующим образом.