Запуск действия при входе в состояние разговора с помощью библиотеки ботов Telegram PythonPython

Программы на Python
Anonymous
Запуск действия при входе в состояние разговора с помощью библиотеки ботов Telegram Python

Сообщение Anonymous »

Я хочу, чтобы мой бот отправлял сообщение при входе в новое состояние в обработчике диалога.
введите этап 1 -> «Вы вошли в этап 1», войдите в этап 2 -> « Вы вошли на этап 2", сработал конец разговора -> "Завершение бота"
Но я не могу найти способ, которым библиотека сделает это чисто, поэтому прибегаю к отправке сообщения из функции, которая вызывает новый этап.
start_handler -> «Вы вошли на этап 1» -> Состояние триггера 1 stage1_handler -> «Вы вошли на этап 2» -> Состояние триггера 2 stage2_handler -> «Конец бота " -> Завершает разговор

Код: Выделить всё

if name == 'main':app = Application.builder().token(API_KEY).build()

# Handler Creations
# COMAND HANDLERS
start_handler = CommandHandler('start', start_command)

# REGISTRATION HANDLERS
stage1_handler = MessageHandler(filters.TEXT, stage1_hander)
stage2_handler = MessageHandler(filters.TEXT, stage2_hander)

# Main Game Convo
conv_handler = ConversationHandler(
entry_points=[start_handler],
states={
STAGE_1: [stage1_handler],
STAGE_2: [stage2_handler]
}
)

app.add_handler(conv_handler)

# Polls the bot
print('Polling...')
app.run_polling(poll_interval=3)

async def start_command(update: Update, context: ContextTypes.DEFAULT_TYPE):
print(f" Start command triggered")

await update.message.reply_text(
text = "You entered Stage 1",
)

return STAGE_1

async def stage1_handler(update: Update, context: ContextTypes.DEFAULT_TYPE):
print(f" Stage 1 triggered")

await update.message.reply_text(
text = "You entered Stage 2",
)

return STAGE_2

async def stage2_handler(update: Update, context: ContextTypes.DEFAULT_TYPE):
print(f" Stage 2 triggered")

await update.message.reply_text(
text = "Exiting Bot",
)

return -1
Есть ли способ активировать функцию, когда мой бот Telegram входит в состояние?

Подробнее здесь: https://stackoverflow.com/questions/787 ... on-bot-lib

Вернуться в «Python»