Как получить ID выбранного канала в KeyboardButtonRequestChat?

написал телеграмм бота, который при нажатии на кнопку показывает форму выбора канала
import telebot
from telebot.types import ReplyKeyboardMarkup, KeyboardButton
token = "XXXX"
bot = telebot.TeleBot(token) #Токен
@bot.message_handler(commands=["start"])
def start(message):
     keyboard = ReplyKeyboardMarkup(row_width=1)
     b = KeyboardButton("Отправить канал", request_chat=types.KeyboardButtonRequestChat(request_id=1, chat_is_channel=True, chat_is_forum=True))
     keyboard.add(b)
     bot.send_message(message.chat.id, "Отправьте боту канал", reply_markup=keyboard)
bot.polling()

Как мне получить ID выбранного канала?
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
@neffruse
@bot.message_handler(commands=["start"])
def start(message):
    keyboard = ReplyKeyboardMarkup(row_width=1)
    b = KeyboardButton("Отправить канал", request_chat=telebot.types.KeyboardButtonRequestChat(request_id=1, chat_is_channel=True, chat_is_forum=True))
    keyboard.add(b)
    bot.send_message(message.chat.id, "Отправьте боту канал", reply_markup=keyboard)

@bot.message_handler(content_types=["text", "chat"])
def handle_channel(message):
    if message.chat.type in ["group", "supergroup", "channel"]:  # Проверяем, что это канал или группа
        channel_id = message.chat.id  # Получаем ID выбранного канала
        bot.send_message(message.chat.id, f"Вы выбрали канал с ID: {channel_id}")
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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