In my ConversationHandler, context.user_data doesn’t retain values across states. Despite storing data via a callback, later steps show None. How can persistence be ensured?
import re
from telegram import Update
from telegram.ext import Application, MessageHandler, filters, ConversationHandler, ContextTypes
STEP_ONE, STEP_TWO = range(2)
async def handle_initial(update: Update, context: ContextTypes.DEFAULT_TYPE):
entry = update.message.text
context.user_data['entry'] = entry
await update.message.reply_text('Now enter more details:')
return STEP_TWO
async def handle_followup(update: Update, context: ContextTypes.DEFAULT_TYPE):
print('Stored entry:', context.user_data.get('entry'))
await update.message.reply_text('Data received successfully!')
return ConversationHandler.END
conv_handler = ConversationHandler(
entry_points=[MessageHandler(filters.TEXT, handle_initial)],
states={
STEP_TWO: [MessageHandler(filters.TEXT, handle_followup)]
},
fallbacks=[]
)