Задать вопрос
@35000sobak

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

Осуществляю проверку таким образом
@bot.message_handler(commands=['start'])
def start(message):
    user_id = message.chat.id
    my_channel_id = -1001337625079
    statuss = ['creator', 'administrator', 'member']
    for i in statuss:
        if i == bot.get_chat_member(chat_id=my_channel_id, user_id=message.from_user.id).status:
            bot.send_sticker(message.chat.id, "CAACAgIAAxkBAAEBAlVfAc_5RxAVtkCserEzRwiwmh0UAwACPAAD-7g6BAwMRWBCpy3SGgQ")
            break
    else:
        bot.send_message(message.chat.id, "Подпишись на канал {} для продолжения".format(set_channel))


получаю ошибку
2020-07-07 19:22:16,630 (__init__.py:448 MainThread) ERROR - TeleBot: "A reques
 to the Telegram API was unsuccessful. The server returned HTTP 400 Bad Request
 Response body:
[b'{"ok":false,"error_code":400,"description":"Bad Request: chat not found"}']"

В чем может быть дело?
  • Вопрос задан
  • 7651 просмотр
Подписаться 3 Простой 4 комментария
Решения вопроса 1
@DmitryLink
python developer
Может, глупый вопрос, но уверены, что бот добавлен в канал?
Продублировал из комментариев. В голову пришел еще один вариант, если вдруг кто-то зайдет с похожей проблемой: убедитесь, что ид канала указываете с минусом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SoreMix
@SoreMix Куратор тега Python
yellow
В чем может быть дело?

chat not found

Без понятия. Возможно чат не найден?
Ответ написан
@Hiroshimakado
Id канал в кавычки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы