@Froeuse

Почему следующий шаг не регистрируется? Что изменить в коде?

@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    if message.text.lower().startswith('!создать клан'):
        chat_id = message.chat.id
        bot.send_message(message.chat.id, 'Назовите клан:', reply_to_message_id=message.message_id)
        bot.register_next_step_handler_by_chat_id(chat_id, get_name)
    if message.text.lower() == '!вступить в клан':
        chat_id1 = message.chat.id
        bot.send_message(message.chat.id, 'В какой клан хотите вступить?', reply_to_message_id=message.message_id,
                         reply_markup=markup_menu_1)
        return chat_id1



def get_name(message):
    new_name = message.text
    bot.send_message(message.chat.id, str(new_name) + ' - верное название?', reply_to_message_id=message.message_id)
    clan_names.append(new_name)
    print(new_name)
    bot.register_next_step_handler_by_chat_id(new_name, accept)


def accept(message):
    if message.text('Да') or message.text.lower('да'):
        bot.send_message(message.chat.id, 'Клан ' + clan_names[0] + ' - успешно создан')
    elif message.text('Нет') or message.text.lower('нет'):
        return get_text_messages
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
@TwoBlueCats
В функции get_game ошибка при регистрации следующего обработчика, вместо chat_id передается текст сообщение пользователя.
Еще функция accept выглядит странной. Зачем в конце возвращать начальную функцию? Причем только в случае отрицательного ответа.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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