Не отрабатывает запрос if . telebot
я начал писать тг бота на питоне, просто для интереса. Сразу решил разбить всё по модулям, на данный момент у меня есть: main.py, key.py, create_bot.py и пакет handlers внутри пакета два файла holidays.py, init .py.
init .py.
//тут будут происходить все инициализации модулей
from Handlers import holidays
create_bot.py
// тут обманка для пайтона, чтобы импортировать всё из одного файла в другой и обратно без ошибки
import telebot
from key import token
from telebot import types
bot=telebot.TeleBot(token)
main.py
//По моей задумке в мейне будет происходить приветствие, первоначальная обработка клавиатуры(возможно не так выразился, далее поймете) и какие-то не большие функции состоящие из send_message, аля похвалить собеседника(понимаю, что это не очень хорошая структура, но мне хочется).
from bot_create import token, bot, types
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id,'Привет')
@bot.message_handler(commands=['button'])
def button_message(message):
markup=types.ReplyKeyboardMarkup(resize_keyboard=True)
item1=types.KeyboardButton("Кнопка")
markup.add(item1)
bot.send_message(message.chat.id,'Выберите что вам надо',reply_markup=markup)
@bot.message_handler(content_types='text')
def message_reply(message):
if message.text=="Кнопка":
from Handlers import holidays
holidays.holidays_button(message)
bot.infinity_polling()
holidays.py
//собственно модуль срабатывающий после нажатия на кнопку выглядит так.
from bot_create import token, bot, types
@bot.message_handler(content_types='text')
def holidays_button(message):
mark=types.ReplyKeyboardMarkup(resize_keyboard=True)
btn=types.KeyboardButton('Вугар')
mark.add(btn)
bot.send_message(message.chat.id, 'кто вас интересует?', reply_markup=mark) // Выводится
if message.text == 'Вугар':
bot.send_message(message.chat.id, 'Держите') // не выводится
Подскажите в чём дело и как исправить, заранее спасибо.
p.s. в key.py лежит токен
Ответы (1 шт):
Решение такого.
from bot_create import token, bot, types, webbrowser
@bot.message_handler(content_types='text')
def holidays_button(message):
mark=types.ReplyKeyboardMarkup(resize_keyboard=True)
btn=types.KeyboardButton('Вугар')
btn2=types.KeyboardButton('Алмаз')
btn3=types.KeyboardButton('Алексей')
btn4=types.KeyboardButton('Валера')
btn5=types.KeyboardButton('Никита')
btn6=types.KeyboardButton('Вернуться в меню')
mark.add(btn, btn2, btn3, btn4, btn5, btn6)
bot.send_message(message.chat.id, 'кто вас интересует?', reply_markup=mark)
bot.register_next_step_handler(message, who)
def who(message):
if message.text == 'Вугар':
bot.send_message(message.chat.id, "Держи")
не знаю на сколько это правильно, но работает