Как проверить подписку на канал через Телеграм бота

✅ Получить готовый исходник можно за донат в 50 руб. donationalerts.com/r/codewriter ‼️ В сообщении к донату прикрепить ссылку на видео + ссылку на Telegram для связи Telegram Канал — t.me/codewritercommunity Python Club — go.pyth.club/codewriter Группа в ВК — vk.com/codewriter_official #codewriter #python #aiogram Таймкоды: 00:00 Вступление 00:05 Реклама 01:05 Структура бота 01:55 Функция проверки подписки на канал 03:20 Проверяем подписку при команде /start 04:05 Вывод сообщения если пользователь не подписан 05:55 Добавление бота в администраторы канала 06:55 Кнопки для пользователя без подписки 08:50 Обработчик кнопки ПОДПИСАЛСЯ 10:50 Проверка подписки для остального функционала 11:10 Тест бота

Источник: mpeg.media

Чат-бот в Telegram с проверкой подписки на ваш канал

Чат-бот для проверки подписки на Telegram-канал.

Доступ к боту только после подписки телеграм | Проверка подписки на телеграм канал

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

Как проверить, подписан ли пользователь на определенный канал Telegram (Python / PyTelegramBotApi)?

Пишу Telegram-бота с помощью библиотеки PyTelegramBotApi, хотелось бы реализовать функцию проверки подписки пользователя на определенный телеграм-канал, а если таковой нет, предлагать оформить подписку. Заранее благодарим за ответы!

user14472542 18 окт ’20 в 17:31 2020-10-18 17:31
2020-10-18 17:31

1 ответ

Использовать getChatMember чтобы проверить, является ли пользователь участником канала или нет.

getChatMember

Используйте этот метод, чтобы получить информацию об участнике чата. В случае успеха возвращает объект ChatMember.

import telebot bot = telebot.TeleBot(«TOKEN») CHAT_ID = -1001. USER_ID = 700. result = bot.get_chat_member(CHAT_ID, USER_ID) print(result) bot.polling()

Результат образца:

Еще по теме:  Телеграмма в суд образец

Вы получаете информацию о пользователе, если пользователь является участником

или исключение в противном случае

telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 400 Description: Bad Request: user not found

пример того, как использовать его в вашем проекте

import telebot from telebot.apihelper import ApiTelegramException bot = telebot.TeleBot(«BOT_TOKEN») CHAT_ID = -1001. USER_ID = 700. def is_subscribed(chat_id, user_id): try: bot.get_chat_member(chat_id, user_id) return True except ApiTelegramException as e: if e.result_json[‘description’] == ‘Bad Request: user not found’: return False if not is_subscribed(CHAT_ID, USER_ID): # user is not subscribed. send message to the user bot.send_message(CHAT_ID, ‘Please subscribe to the channel’) else: # user is subscribed. continue with the rest of the logic # . bot.polling()

Источник: stackru.com

Рейтинг
( Пока оценок нет )
Загрузка ...