Проблема с aiogram
def handle_text(message):
if message.text.strip() == 'Погода на тиждень' :
bot.send_message(message.chat.id,'Введіть назву свого села чи міста')
bot.register_next_step_handler(message, input_week) #переход на некст функцию после отработки
def input_week(message):
url = "https://ua.sinoptik.ua/погода-" + message.text
r = requests.get(url, headers = HEADERS)
html = Bs(r.text, 'html.parser')
for el in html.select('#bd1'):
day = el.select('p', class_="date dateFree")[0].text
t_min = el.select('.temperature .min')[0].text
t_max = el.select('.temperature .max')[0].text
Теперь вопрос как мне реализовать переход с функции на другую функцию как в коде "telebot" но на "aiogram" типа есть ли аналог bot.register_next_step_handler буду благодарен за ответ и прошу не судить строго если вопрос будет тупой, я не шарю сильно. А и да код для внимания как пример.
Ответы (1 шт):
Автор решения: Michael
→ Ссылка
from aiogram.dispatcher.filters.state import StatesGroup, State
class STEP_HANDLER(StatesGroup):
step_1 = State()
step_2 = State()
assync def handle_text(message):
if message.text.strip() == 'Погода на тиждень' :
await bot.send_message(message.chat.id,'Введіть назву свого села чи міста')
await STEP_HANDLER.step_1.set()
async def input_week(state = STEP_HANDLER.step_1)
url = "https://ua.sinoptik.ua/погода-" + message.text
r = requests.get(url, headers = HEADERS)
html = Bs(r.text, 'html.parser')
for el in html.select('#bd1'):
day = el.select('p', class_="date dateFree")[0].text
t_min = el.select('.temperature .min')[0].text
t_max = el.select('.temperature .max')[0].text