'запрос локации пользователя'
@dp.message_handler(content_types = ['location'])
async def handle_location(message: types.Message):
lat = round(message.location.latitude, 3)
lon = round(message.location.longitude, 3)
location = []
location.append(lat), location.append(lon)
reply = "Широта: {}\nДолгота: {}".format(lat, lon)
await message.answer(reply, reply_markup = types.ReplyKeyboardRemove())
await bot.send_message(message.from_user.id,
'Теперь мы видим, где ты находишься) \n'
'Выбери действие и узнаешь погоду в своем городе ',
reply_markup = get_weather_keyboard())
return location
'не возвращает location'
@dp.message_handler(commands = ['locate_me'])
async def cmd_locate_me(message: types.Message):
reply = "Нажмите здесь, чтобы поделиться геопозицией"
await message.answer(reply, reply_markup = get_location_keyboard())
'вызов функции с погодой'
'возвращает None, т.к. функция handle_location не возвращает location'
@dp.message_handler(content_types = ['text'])
async def weather(message: types.Message):
if message.text == 'Погода сейчас':
reply_current = current_weather(handle_location)
await message.answer(message.from_user.id, reply_current)
if message.text == 'Погода на сегодня':
reply_today = today_weather(handle_location)
await message.answer(message.from_user.id, reply_today)
if message.text == 'Погода на завтра':
reply_tomorrow = tomorrow_weather(handle_location)
await message.answer(message.from_user.id, reply_tomorrow)
if message.text == 'Погода на 4 дня':
reply_week = week_weather(handle_location)
await message.answer(message.from_user.id, reply_week)