diff --git a/examples/asynchronous_telebot/custom_states.py b/examples/asynchronous_telebot/custom_states.py index e999d43..0dea62f 100644 --- a/examples/asynchronous_telebot/custom_states.py +++ b/examples/asynchronous_telebot/custom_states.py @@ -20,6 +20,10 @@ class MyStates(StatesGroup): +# set_state -> sets a new state +# delete_state -> delets state if exists +# get_state -> returns state if exists + @bot.message_handler(commands=['start']) async def start_ex(message): @@ -42,7 +46,7 @@ async def any_state(message): @bot.message_handler(state=MyStates.name) async def name_get(message): """ - State 1. Will process when user's state is 1. + State 1. Will process when user's state is MyStates.name. """ await bot.send_message(message.chat.id, f'Now write me a surname') await bot.set_state(message.from_user.id, MyStates.surname, message.chat.id) @@ -53,7 +57,7 @@ async def name_get(message): @bot.message_handler(state=MyStates.surname) async def ask_age(message): """ - State 2. Will process when user's state is 2. + State 2. Will process when user's state is MyStates.surname. """ await bot.send_message(message.chat.id, "What is your age?") await bot.set_state(message.from_user.id, MyStates.age, message.chat.id) @@ -63,6 +67,9 @@ async def ask_age(message): # result @bot.message_handler(state=MyStates.age, is_digit=True) async def ready_for_answer(message): + """ + State 3. Will process when user's state is MyStates.age. + """ async with bot.retrieve_data(message.from_user.id, message.chat.id) as data: await bot.send_message(message.chat.id, "Ready, take a look:\nName: {name}\nSurname: {surname}\nAge: {age}".format(name=data['name'], surname=data['surname'], age=message.text), parse_mode="html") await bot.delete_state(message.from_user.id, message.chat.id) @@ -70,6 +77,9 @@ async def ready_for_answer(message): #incorrect number @bot.message_handler(state=MyStates.age, is_digit=False) async def age_incorrect(message): + """ + Will process for wrong input when state is MyState.age + """ await bot.send_message(message.chat.id, 'Looks like you are submitting a string in the field age. Please enter a number') # register filters @@ -77,8 +87,6 @@ async def age_incorrect(message): bot.add_custom_filter(asyncio_filters.StateFilter(bot)) bot.add_custom_filter(asyncio_filters.IsDigitFilter()) -# set saving states into file. -bot.enable_saving_states() # you can delete this if you do not need to save states import asyncio asyncio.run(bot.polling()) \ No newline at end of file diff --git a/examples/custom_states.py b/examples/custom_states.py index 7901896..5997f84 100644 --- a/examples/custom_states.py +++ b/examples/custom_states.py @@ -58,7 +58,7 @@ def any_state(message): @bot.message_handler(state=MyStates.name) def name_get(message): """ - State 1. Will process when user's state is 1. + State 1. Will process when user's state is MyStates.name. """ bot.send_message(message.chat.id, f'Now write me a surname') bot.set_state(message.from_user.id, MyStates.surname, message.chat.id) @@ -69,7 +69,7 @@ def name_get(message): @bot.message_handler(state=MyStates.surname) def ask_age(message): """ - State 2. Will process when user's state is 2. + State 2. Will process when user's state is MyStates.surname. """ bot.send_message(message.chat.id, "What is your age?") bot.set_state(message.from_user.id, MyStates.age, message.chat.id) @@ -79,6 +79,9 @@ def ask_age(message): # result @bot.message_handler(state=MyStates.age, is_digit=True) def ready_for_answer(message): + """ + State 3. Will process when user's state is MyStates.age. + """ with bot.retrieve_data(message.from_user.id, message.chat.id) as data: bot.send_message(message.chat.id, "Ready, take a look:\nName: {name}\nSurname: {surname}\nAge: {age}".format(name=data['name'], surname=data['surname'], age=message.text), parse_mode="html") bot.delete_state(message.from_user.id, message.chat.id) @@ -86,6 +89,9 @@ def ready_for_answer(message): #incorrect number @bot.message_handler(state=MyStates.age, is_digit=False) def age_incorrect(message): + """ + Wrong response for MyStates.age + """ bot.send_message(message.chat.id, 'Looks like you are submitting a string in the field age. Please enter a number') # register filters