Найти тему
Python_Scripts

Проверка подписки на телеграм канал Aiogram 3 Python

Используя язык програмирования Python и асинхронную библиотеку Aiogram версии 3.* напишем функционал, который будет проверять подписку пользователя на предложенный канал телеграм для получения доступа к функционалу бота.

Для начала, напишем простой бот, который будет приветствовать пользователя после ввода команды /start и отправлять ему текстовую кнопку при нажатии на которую, пользователю бот будет отправлять стоимость BTC на бирже Binance .

Создадим в папке проекта файлы main.py - в котором будем писать основной код, файл config.py - в нем будем хранить токен нашего бота и id канала подписку на который будем проверять, файл keyboards.py - для клавиатур бота.

Импортируем все необходимые зависимости:

-2

Используя библиотеку requests и api binance, напишем функцию для получения цены BTC.

-3

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

-4

Также напишем клавиатуры для нашего бота:

Текстовая кклавитуара, в которой пользователю передается кнопка BTC, при обработке нажатия на которую отрабатывает функция get_btc_price(), и пользователю бот отвечает результатом:

-5

Иналайн клавиатура, состоящая из двух кнопок.Первая кнопка с ссылкой на целевой канал, вторая кнопка проверки подписки.

-6

Напишем обработчик callback_data кнопки проверки подписки на целевой канал. Будем проверять статус пользователя в целевом канале.

-7

Для корректной отработки, бот должен быть добавлен в целевой канал с ролью "Администратор".

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

Огромное колличество полезных скриптов на Python а также исходники данного бота можно найти в нашем телеграм канале Python_Scripts. Подписывайтесь и пользуйтесь!