Этот проект представляет собой телеграм бота, который предоставляет информацию о погоде в указанном пользователем городе. С его помощью вы можете быстро узнать текущую температуру и другие погодные условия в вашем регионе.
Для получения данных о погоде мы используем API от Weather API. Для доступа к этому API необходимо зарегистрироваться на их сайте и получить API ключ. Этот ключ будет использоваться в нашем приложении для запроса информации о погоде.
- Зайдите в Telegram и найдите бота под названием "BotFather".
- Напишите ему команду "/start" для начала диалога.
- Создайте нового бота с помощью команды "/newbot" и следуйте инструкциям.
- После успешного создания бота, BotFather выдаст вам токен вашего бота. Сохраните этот токен в безопасном месте.
- Скопируйте токен вашего бота, который был выдан BotFather.
- Замените значение переменной
TELEGRAM_BOT_TOKEN
в файлеdomain.Utils
на ваш токен. - Получите API ключ на сайте Weather API и замените значение переменной
WEATHER_API_KEY
в том же файле на ваш API ключ.
Для использования бота, просто отправьте название интересующего вас города в чат с ботом. Он автоматически ответит вам текущей температурой в городе и дополнительной информацией о погоде.
- Откройте чат с ботом в Telegram.
- Напишите название города, о котором вы хотите узнать погоду.
- Дождитесь ответа от бота с информацией о погоде в указанном городе.
private fun processMessage(message: String): String {
return if (message.startsWith("/start")) {
"Привет! Пожалуйста, напишите название вашего города."
} else {
try {
val weatherResponse = runBlocking {
weatherApiClient.getCurrentWeather(message)
}
val location = weatherResponse.location
val current = weatherResponse.current
"Город: ${location.name}\nСтрана: ${location.country}\n" +
"Температура в городе ${location.name}, ${location.region}, ${location.country} " +
"в данный момент составляет ${current.tempC}°C."
} catch (e: Exception) {
"К сожалению, не удалось получить информацию о погоде для города $message."
}
}
}