Запуск действия при входе в состояние разговора с помощью библиотеки ботов 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Инициирование разговора с ботом Telegram Telegram в запланированное время
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Я хочу получить состояние разговора агентов Microsoft, чтобы узнать, говорит ли текущий агент или нет на С#.
    Anonymous » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Методы предотвращения произвольного бана Telegram с помощью ботов USER
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Ошибки в Python (программирование ботов Telegram) [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Telegram-бот — выкидывание пользователей с помощью библиотеки python-telegram-bot
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

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