Доброго времени суток!Пишу телеграм бот на питоне для автоматических продаж, использую библиотеку aiogram.При нажатии команды
/start бот отправляет список городов, в таком формате
Города:
Город1
Город2
И тд.
С помощью машины состояний юзер отправляет боту отправляет название города, а в ответ он отправляет весь товар в этом городе.
Проблема:
Нужно как-то сделать чтобы вместо названия города юзер мог отправить цыфру города допустим 1 это город1, 2 это город2 и так далее,а в ответ бот отправлял товар в этом городе.
@dp.message_handler(state=Form.choose_district)
async def process_name(message: types.Message, state: FSMContext):
"""
Process user name
"""
async with state.proxy() as data:
data['choose_district'] = message.text
try:
f = open('product.txt', 'w')
g = open('product.txt', 'r')
for element in db.check_product(data['choose_district']):
f.writelines(element)
f.write('\n')
f.close()
for line in g.readlines():
s = re.split(r'I', line)
await bot.send_message(message.from_user.id, "Товары - цена:\n"
"{0} - {1} \n".format(s[0], s[1], bot.get_me()),
reply_markup=inline_kb1)
except:
await bot.send_message(message.from_user.id, "Такого района не существует")
await state.finish()