2017-07-30 8 views
0

私のソリューションのユーザーは、電報にメッセージを入力することで、ステップバイステップに進みます。問題は、サーバーの再起動後に状態が保存されず、再び開始する必要があることです。pyTelegramBotAPI。どのようにnext_step_handlerソリューションの状態を保存するには?

たとえば、 'process_mid'ステップのユーザーが再起動した後、 'process_end'に行くことはできません。ユーザーは 'start'コマンドを入力するだけで新しい段階を開始できます。このボットとの私の経験から

bot = telebot.TeleBot(TOKEN) 


@bot.message_handler(commands=['start']) 
def process_start(message): 
    text = 'start' 
    bot.send_message(message.chat.id, text) 
    bot.register_next_step_handler(message, process_mid) 


def process_mid(message): 
    text = 'mid' 
    bot.send_message(message.chat.id, text) 
    bot.register_next_step_handler(message, process_end) 


def process_end(message): 
    text = 'end' 
    bot.send_message(message.chat.id, text) 

bot.polling(none_stop=True) 

答えて

0

あなたが中断したところからピックアップしたい場合は、(そのことについてまたはデータベース)ファイルにすべてのデータを保存する必要があります。

途中で進捗状況を保存することができます。process_start関数では、関数の入り口にあるユーザをmessage.chat.idで識別し、その値がファイル(データベース)に存在する場合はそれに応じて登録します。

関連する問題