Небольшой личный бот.
Функции:
- текущий прогноз погоды по геолоке
- чат с ИИ chatGPT
- голосовая записная книжка
- напоминания
При первом обращении к боту происходит проверка на доступ к нему.
Бот запрашивает геолокацию пользователя, из геолокации получает широту и долготу, оправляет запрос к api openweathermap, получает ответ, парсит его и возвращает пользователю сообщение.
Простой текстовый запрос к api openai.
Простая голосовая записная книжка для пользователя. Записи хранятся в текстовом файле. Распознавание голоса через модуль vosk. Также необходимо установить ffmpeg. Можно удалить запись сказав "Удалить [номер_записи]"
Пользователь устанавливает напоминания самому себе, отправляя боту сообщение с датой и временем. Напоминания хранятся в СУБД PostgreSQL, в качестве ORM - SQLAlchemy. Бот парсит сообщение с помощью rutimeparser, отделяя само напоминание и дату с временем. В назначенное время и дату бот присылает напоминание, которое можно подтвердить или отложить на 15 минут/1 час.