Найти в Дзене
DeeNet

Полный Гайд по Созданию Бота погоды DeeNet-WeatherBot (Python/Telegram)

## 🤖 Код Проекта: Создаем DeeNet-WeatherBot на Python Привет! Как и обещали, публикуем полный код нашего простого, но очень полезного **WeatherBot** для Telegram. Это отличная база для тех, кто освоил основы Python и готов к работе с **API** и библиотекой `pyTelegramBotAPI`. ### Что нам понадобится? 1. **Python** (уже установлен, надеемся!). 2. Библиотеки: * `pyTelegramBotAPI` (для работы с Telegram). * `requests` (для запросов к API погоды). 3. **Ключ API** от OpenWeatherMap (бесплатно). 4. **Токен Бота** от @BotFather в Telegram. ### 1. Установка Библиотек. Откройте терминал (командную строку) и установите необходимые пакеты: pip install pyTelegramBotAPI requests 2. Получение Ключей Токен Бота: Создайте нового бота через @BotFather, и он выдаст вам токен вида 123456:ABC-DEF123456.... API Погоды: Зарегистрируйтесь на Open Weather Map и получите свой ключ. 3. Сам Код (weather_bot.py) import telebot import requests # --- ВАШИ КЛЮЧИ --- # Вставьте сюда ваш токен от BotFather T

## 🤖 Код Проекта: Создаем DeeNet-WeatherBot на Python Привет!

Как и обещали, публикуем полный код нашего простого, но очень полезного **WeatherBot** для Telegram.

Это отличная база для тех, кто освоил основы Python и готов к работе с **API** и библиотекой `pyTelegramBotAPI`.

### Что нам понадобится?

1. **Python** (уже установлен, надеемся!).

2. Библиотеки: * `pyTelegramBotAPI` (для работы с Telegram). * `requests` (для запросов к API погоды).

3. **Ключ API** от OpenWeatherMap (бесплатно).

4. **Токен Бота** от @BotFather в Telegram.

### 1. Установка Библиотек.

Откройте терминал (командную строку) и установите необходимые пакеты:

pip install pyTelegramBotAPI requests

2. Получение Ключей

  • Токен Бота: Создайте нового бота через @BotFather, и он выдаст вам токен вида 123456:ABC-DEF123456....
-2

-3

-4

  • API Погоды: Зарегистрируйтесь на Open Weather Map и получите свой ключ.
-5

3. Сам Код (weather_bot.py)

import telebot
import requests
# --- ВАШИ КЛЮЧИ ---
# Вставьте сюда ваш токен от BotFather
TOKEN = 'ВАШ_ТОКЕН_БОТА'
# Вставьте сюда ваш API-ключ от OpenWeatherMap
API_KEY = 'ВАШ_API_KEY_ПОГОДЫ'
# Инициализация бота
bot = telebot.TeleBot(TOKEN)
# URL для запроса погоды
WEATHER_URL = 'http://api.openweathermap.org/data/2.5/weather(http://api.openweathermap.org/data/2.5/weather)'
# Обработка команды /start
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
bot.reply_to(message,
"Привет! Я DeeNet-WeatherBot. Напиши мне название города, и я скажу тебе погоду.")
# Обработка любого текстового сообщения (название города)
@bot.message_handler(func=lambda message: True)
def get_weather(message):
city = message.text # Получаем название города
# Параметры запроса
params = {
'q': city,
'appid': API_KEY,
'units': 'metric', # Показываем температуру в Цельсиях
'lang': 'ru'
}
try:
response = requests.get(WEATHER_URL, params=params)
data = response.json()
# Проверка на ошибку (например, город не найден)
if data["cod"] != 200:
bot.send_message(message.chat.id, "К сожалению, я не нашел такой город. Проверьте название.")
return
# Получаем данные
temp = data['main']['temp']
description = data['weather'][0]['description']
# Формируем и отправляем ответ
answer = (f"📍 Погода в {data['name']}:\n"
f"🌡️ Температура: {temp}°C\n"
f"☁️ Описание: {description.capitalize()}")
bot.send_message(message.chat.id, answer)
except Exception as e:
print(f"Произошла ошибка: {e}")
bot.send_message(message.chat.id, "Что-то пошло не так при запросе. Попробуйте еще раз.")
# Запуск бота
print("Бот запущен...")
bot.polling(none_stop=True)
  1. Скопируйте код в блокнот и сохраните его с расширением .py (например: weather_bot.py)
  2. Замените ВАШ_ТОКЕН_БОТА и ВАШ_API_KEY_ПОГОДЫ на свои ключи.
  3. Запустите терминал, находясь в той же папке: зайдите в папку где лежит Ваш weather_bot.py
-6

Нажмите на путь и введите CMD

Запуститься командная строка

-7

Запустите файл из терминала

-8

Откройте Telegram, найдите своего бота,отправьте ему /start и отправьте ему название города!

-9
-10

Понравился гайд? В наших Курсах мы подробно разбираем не только, как создать такого бота, но и как добавить к нему базу данных, кнопки и функции оплаты и многое другое!

Наш спонсор VPN Amnezia, с которым видео в YouTube в 4К, а PING в Roblox не более 20 ms.

#готовыепроекты #гайды #бот #python #telegram