По не понятной мне причине register_next_step_handler отказывается ждать ввода с клавиатуры, но только в определенных ситуациях. Кусок кода ниже.
def question6 (message):
markup = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=False)
markup.add('Благоприятная и дружелюбная')
markup.add('Регулярные конфликты между коллегами')
markup.add('Отсутствие взаимопонимания и взаимопомощи в коллективе')
markup.add('Дружеские отношения в коллективе, но руководство вносит напряжение')
markup.add('Другoй вариант')
msg = bot.reply_to(message, 'Оцените атмосферу в коллективе', reply_markup=markup)
c.execute("Update 'answers' set atmospher = ? where users_id = ?", (str(msg), message.from_user.id))
conn.commit()
bot.register_next_step_handler(msg, answer3)
def answer3 (message): # тут он дает ввести свой вариант
if message.text == 'Другой вариант':
msg = bot.send_message(message.chat.id, 'Введите свой вариант' )
bot.register_next_step_handler(message, question7)
else:
question7(message)
def question7 (message):
markup = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=False)
markup.add('Руководитель является лидером и примером для всего коллектива')
markup.add('Руководитель не учавствовал в жизни коллектива')
markup.add('Слишком авторитарный и грубый стили общения')
markup.add('Бестактно и некультурно общается с подчиненными')
markup.add('Руководитель не пользуется авторитетом в коллективе')
markup.add('Другoй ваpиaнт')
msg = bot.reply_to(message, 'Как Вы охарактеризуете Вашего руководителя?', reply_markup=markup)
bot.register_next_step_handler(msg, answer4)
def answer4 (message):
if message.text == 'Другой вариант': #тут просто выводит сообщение "Введите свой вариант и прыгает к следующей функции.
msg = bot.send_message(message.chat.id, 'Введите свой вариант')
bot.register_next_step_handler(message, Submit)
else:
Submit(message)