There is a bot in the telegram, tell me what to add to make a fork with questions after the message address_text? Ie the user enters the address_text and after it is offered to press 2 buttons, respectively in each of the cases he enters the text and after this information is transmitted to the user through the variable result_text. thanks in advance
import asyncio import logging import datetime from constants2 import * from utils import * import pandas as pd from io import StringIO from aiogram import Bot, types from aiogram.contrib.fsm_storage.memory import MemoryStorage from aiogram.dispatcher import Dispatcher from aiogram.utils.executor import start_polling from aiogram.types import ReplyKeyboardMarkup, ReplyKeyboardRemove logging.basicConfig(level=logging.INFO) loop = asyncio.get_event_loop() bot = Bot(token=token, loop=loop) storage = MemoryStorage() dp = Dispatcher(bot, storage=storage) # states BUY_TOKENS = 'Buy_tokens' ENTRY_ADDRESS = 'Entry_address' ENTRY_HASH = 'Entry_hash' markup = ReplyKeyboardMarkup(resize_keyboard=True, selective=True) markup.row(view_course_button, buy_tokens_button) @dp.message_handler(state = '*', commands=['start']) async def send_welcome(message: types.Message): await bot.send_message(message.from_user.id, text=greeting_text, reply_markup=markup) @dp.message_handler(state = '*', commands=['answer']) async def answer(message: types.Message): if message.chat.id == send_result_id: try: spl = message.text.split() user_id = spl[1] answer = spl[2] text = answers[int(answer)] await bot.send_message(user_id, text=text) except: pass # entry sum and code @dp.message_handler(state = '*', func=lambda message: message.text == buy_tokens_button) async def entry_sum(message: types.Message): with dp.current_state(chat=message.chat.id, user=message.from_user.id) as state: await state.set_state(BUY_TOKENS) await bot.send_message(message.from_user.id, text=entry_tokens_amount_text, reply_markup=ReplyKeyboardRemove()) @dp.message_handler(state = BUY_TOKENS, regexp='^[0-9]\d*(\.\d+)?$') async def entry_address(message: types.Message): address1 = get_adress() with dp.current_state(chat=message.chat.id, user=message.from_user.id) as state: await state.update_data(sum=message.text, address1=address1) await state.set_state(ENTRY_ADDRESS) price = get_course() text = address_text%(message.text, price, float(message.text)*price, address1) await bot.send_message(message.from_user.id, text=text) @dp.message_handler(state = ENTRY_MEW) @dp.message_handler(state = ENTRY_ADDRESS) async def entry_hash(message: types.Message): with dp.current_state(chat=message.chat.id, user=message.from_user.id) as state: await state.update_data(address2 = message.text) await state.set_state(ENTRY_HASH) await bot.send_message(message.from_user.id, text=hash_text) @dp.message_handler(state = ENTRY_HASH) async def finish_entry(message: types.Message): state = dp.current_state(chat=message.chat.id, user=message.from_user.id) await state.set_state(None) data = await state.get_data() sum = data.get('sum') address1 = data.get('address1') address2 = data.get('address2') hash = message.text time = datetime.datetime.now() result_text = '\n'.join(['UserID: ' + str(message.from_user.id), 'Amount: ' + sum, 'User address: ' + address2,'Hash: '+ hash, 'Time: ' + str(time)]) #res = 'UserID: ' + str(message.from_user.id), 'Amount: ' + sum, 'User address: ' + address2,'Hash: '+ hash, 'Time: ' + str(time) await bot.send_message(message.from_user.id, text=finish_text, reply_markup=markup) await bot.send_message(send_result_id, text=result_text) # request @dp.message_handler(state = '*', func=lambda message: message.text == view_course_button) async def view_course(message: types.Message): await bot.send_message(message.from_user.id, text=get_course()) if __name__ == '__main__': start_polling(dp, loop=loop, skip_updates=True)