Задать вопрос
@thekiwi

Как завершить функцию в модуле Telebot на Python?

как завершить функцию в питоне в модуле Telebot? Сначала выскакивает одна клава в боте, человек отвечает на вопрос, бот задает второй вопрос, человек вновь отвечает, но уже на второй вопрос, а бот продолжает еще ждать ответ на первый вопрос. Из-за этого получается какая-то каша, бот отвечает на оба вопроса. Поэтому я хочу после того, как человек ответит на первый вопрос, завершить первую функцию и перейти ко второй, и так далее... Но почему то питон мне не дает завершить функцию, он просит аргумент 'message' в строке завершения функции. Вот output:
TypeError: city() missing 1 required positional argument: 'message'


*в моем коде вместо ---- все указанно, я для простоты заменил тут

Вот код:
@bot.message_handler(content_types = ['text'])
def city(message):
	markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
	item1 = types.KeyboardButton("----")
	item2 = types.KeyboardButton("----")

	markup.add(item1, item2)

	bot.send_message(message.chat.id, "----".format(message.from_user, bot.get_me()), reply_markup = markup)

	if message.chat.type == 'private':
		if message.text == '----':
			bot.register_next_step_handler(message, thechoose)
		else:
			bot.send_message(message.chat.id, '----')
city()
  • Вопрос задан
  • 254 просмотра
Подписаться Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
city()
Зачем вообще этот вызов? Ты же прописал city() как обработчик события.
Ответ написан
Lord_of_Rings
@Lord_of_Rings
Дунадан - северный странник. Злой, но очень добрый
city() принимает один аргумент - message, а Вы не передали ни одного
Ответ написан
Ваш ответ на вопрос

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

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