• Если любой из элементов массива слов имеется в строке - выдать true, как?

    @neffruse
    Все намного проще...

    К тому же, что бы не дублировать по сто раз "Да" "да", можно задействовать метод lower.

    Пример:
    wda = ['да', 'интересно']
    text = 'ДА посмотреть'
    
    text_lower = text.lower()
    
    def check_text():
        if any(word.lower() in text_lower for word in wda):
            return True
        else:
            return False


    теперь если есть нужный текст и не важно какой регистр, он выдаст тебе True или False

    Пример использования:
    if check_text():
        print('В тексте есть нужное слово')
    else:
        print('В тексте нет нужного словоа:('
    Ответ написан
    Комментировать
  • Как получить ID выбранного канала в KeyboardButtonRequestChat?

    @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}")
    Ответ написан
    Комментировать