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

Как сделать вызов send_message без сообщения пользователя?

Пользуюсь библиотекой pytelegrambotapi, прошу воздержаться от восклицаний, насчет того, какая эта библиотека говно.
Есть такой вот сценарий.

@bot.message_handler(commands=['start'])
def start_message(message):
	msg = bot.send_message(message.from_user.id, 'Бот успешно запущен')
	bot.register_next_step_handler(msg, select_main)

def select_main(message):
	# Проблемный send_message
	bot.send_message(message.from_user.id, 'Меню к вашим услугам', reply_markup=keyboard['main'])
	if message.text == 'Раздел 1':
		bot.send_message(message.chat.id, f'Открываю [{message.text}]')
		bot.register_next_step_handler(msg, select_content)


Проблема: после нажатия /start приходится отправлять еще одно сообщение для вызова "проблемного send_message"
Первое сообщение является необходимым(конечно же оно будет изменено)
Заранее спасибо.
  • Вопрос задан
  • 550 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@anerev
Зачем вам тут вообще register_next_step_handler если это и есть его суть. Уберите его и всё.
Ответ написан
SoreMix
@SoreMix Куратор тега Python
yellow
@bot.message_handler(commands=['start'])
def start_message(message):
  bot.send_message(message.from_user.id, 'Бот успешно запущен')
  msg = bot.send_message(message.from_user.id, 'Меню к вашим услугам', reply_markup=keyboard['main'])
  bot.register_next_step_handler(msg, select_main)

def select_main(message):
  if message.text == 'Раздел 1':
    bot.send_message(message.chat.id, f'Открываю [{message.text}]')
    bot.register_next_step_handler(msg, select_content)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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