Telegram-бот на AIOgram3

Telegram-бот на AIOgram3

Посты о создании Telegram-бота на AIOgram3
подборка · 14 материалов
84 подписчика
В этом посте доработаем команду /get_file, добавив в неё новые данные из API. В прошлом посте, мы добавили связь между файлом и постом на сайте и добавили в передачу дополнительные данные. Давайте обновим команду /get_file. Обновление /get_file. Откроем файл send_file.py. В функции send_file_get_data нам нужно добавить дополнительные поля, которые мы получаем по API. Находим строку, в которой отправляется файл - bot.send_document. В аргументах у нас указан всего один параметр, который передаётся в сообщение пользователю - caption=views...
9 месяцев назад • 40 просмотров
84 подписчика
В одном из прошлых постов, мы добавляли список команд в меню и помимо /get-file и /start, там ещё была команда /about. Давайте закрепим добавление команд и добавим команды /about и /help. Сообщения пользователю. Начнём с текста. Перейдём в файл views.py и создадим две функции: about_message и help_message. Они ничего не принимают, а просто возвращают соответствующую строку текста. Две команды. После того как вы напишите свой текст, переходим в файл simple.py. Создадим две асинхронные функции: about_command и help_command...
9 месяцев назад • 178 просмотров
84 подписчика
API для регистрации пользователя написано, теперь нужно сделать команду /start. Эта команда выполняется при первой инициализации бота пользователем. Без лишних слов. Откроем файл api_actions.py в пакете utils и напишем функцию register_user для отправки данных по API. В качестве аргументов, она будет принимать следующие данные: chat_id, first_name, last_name, username. Поскольку мы не получаем от API ничего, кроме статус-кода, создавать переменную, как в функции get_path, нет смысла. Сразу обращаемся к библиотеке requests...
9 месяцев назад • 103 просмотра
84 подписчика
Продолжим с того, на чём остановились. В файле send_file.py напишем вторую асинхронную функцию send_file_get_data, она так же принимает объект Message и FSMContext. Логика функции. В предыдущей функции send_file_start мы получили от пользователя код файла, теперь необходимо выполнить запрос данных по API. Если код неверный. Делаем проверку на введённые данные, если там не только цифры, то отправляем пользователю сообщение, что код неверный и повторно ожидаем ввода. Пропишем сообщение в файле views...
10 месяцев назад • 155 просмотров
84 подписчика
Работы много, по этому без лишних слов, приступим! В пакете handlers создадим файл send_file.py и откроем его. Так же сразу откроем файл main.py, views.py и statesform.py. В основном работать будем в send_file.py, но другие три тоже будут нужны. Команда отправки файла. В файле send_file.py создадим асинхронную функцию send_file_start, в качестве аргументов она будет получать объект типа Message и FSMContext. FSMContext - это асинхронный контекст, который хранит информацию о текущем состоянии пользователя во время работы Telegram-бота...
10 месяцев назад • 117 просмотров
84 подписчика
В предыдущем посте мы закончили писать API для бота. Вернёмся к боту и напишем функционал обращения к API и отправке файла пользователю. Обращение к API. Начнём с написания логики обращения к API. В пакете botlogic создадим пакет utils. В данном пакете, будем писать логику не связанную с ботом. В пакете создадим файл api_actions.py. Для отправки запросов и получения данных, нам нужна библиотека requests. Установим её командой pip install requests и добавим в requirements.txt. В начале файла создадим константу API_URL и пропишем туда URL-адрес созданного ранее API...
10 месяцев назад • 60 просмотров