Загрузка...

[TG BOT] Тг бот для просмотра погоды

Тема в разделе Python создана пользователем awaw 28 фев 2025. (поднята 1 июн 2025) 233 просмотра

Загрузка...
  1. awaw
    awaw Автор темы 28 фев 2025 продаю ****** lolz.live/threads/8787685/ :peace: 7932 8 окт 2017
    Бот был сделан от скуки специально для Cweto4ek.
    Функционал бота: показывает погоду :stoneebalo:
    [IMG]
    Что потребуется:
    Python 3.7 и выше (я использовал 3.11)
    Библиотеки: python-telegram-bot[ext] и requests
    Аккаунт OpenWeatherMap для получения API

    Python
    import logging
    import requests
    from telegram import Update
    from telegram.ext import Application, CommandHandler, MessageHandler, filters, ContextTypes
    from datetime import datetime

    logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
    logger = logging.getLogger(__name__)

    TELEGRAM_TOKEN = "апи тг бота" # апи из botfather
    OPENWEATHER_API_KEY = "апи openweathermap" #апи брать тут https://home.openweathermap.org/api_keys?
    OPENWEATHER_URL = "http://api.openweathermap.org/data/2.5/weather"

    def get_weather(city):
    try:
    params = {
    'q': city,
    'appid': OPENWEATHER_API_KEY,
    'units': 'metric',
    'lang': 'ru'
    }
    response = requests.get(OPENWEATHER_URL, params=params)
    data = response.json()

    if response.status_code == 200:
    weather = data['weather'][0]['description']
    temperature = data['main']['temp']
    humidity = data['main']['humidity']
    wind_speed = data['wind']['speed']

    return (f"Текущая погода в {city}:\n"
    f"{weather.capitalize()}\n"
    f"Температура: {temperature}°C\n"
    f"Влажность: {humidity}%\n"
    f"Скорость ветра: {wind_speed} м/с\n")
    else:
    return "город не найден"
    except Exception as e:
    logger.error(f"ошибка при получении погоды: {e}")
    return "произошла ошибка при получении погоды."

    async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    user = update.effective_user
    await update.message.reply_html(
    rf"Привет, {user.first_name}, выбери город чтобы узнать погоду",
    )

    async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    city = update.message.text
    weather_info = get_weather(city)
    await update.message.reply_text(weather_info)

    def main() -> None:
    application = Application.builder().token(TELEGRAM_TOKEN).build()

    application.add_handler(CommandHandler("start", start))
    application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))

    application.run_polling()

    if __name__ == "__main__":
    main()
    Как пользоваться:
    1. Создаёте бота через Telegram: BOTFATHER
    2. В любой редактор (я использую VS Code) вписываете код выше
    3. В строке в кавычках TELEGRAM_TOKEN = "апи тг бота" вписываете API ключ из botfather, в строке OPENWEATHER_API_KEY - API из openweathermap
    4. Запускаете скрипт и открываете бота
    5. Пишете /start, потом вводите город в котором нужно узнать погоду и бот выдаёт погоду
     
    28 фев 2025 Изменено
  2. InfernLife
    InfernLife 28 фев 2025 Купить домен анонимно - t.me/FastDomainBot 591 8 май 2023
    легенда, за час написал
    --- Сообщение объединено с предыдущим 28 фев 2025
    python-telegram-bot[ext] и requests

    юзай лучше aiogram и aiohttp
     
    1. awaw Автор темы
      InfernLife, фактически доделал то, на что забил ещё летом :) [IMG]
    2. голос
      InfernLife, это мнение толпы или собственное?
  3. Cweto4ek
    Cweto4ek 28 фев 2025 :peace: Большие СИСЬКИИ в закрепе: t.me/Kanalchik_alexa :catpls: 48 21 фев 2025
    О, работает
    Спасибо, awaw , оцениваю на 10/10 :+rep:
     
    28 фев 2025 Изменено
  4. Temmie
    Норм бот почему бесплатно а не продаешь
     
    1. awaw Автор темы
      Temmie, а кому он нужен? даже за сотку не купят, чисто поиграться на 1 раз. летом для себя решил сделать, потом положил болт и благодаря челику выше решил его доделать [IMG]
    2. awaw Автор темы
      Temmie, Где потерянная выгода - там и я [IMG]
  5. Апатия
    Апатия 28 фев 2025 444 980 15 июн 2021
    Красава UWUw респект, крутой и полезный бот, мне даже кажется ты первый кто так сделал, нужно будет патент зарегестрировать
     
    1. awaw Автор темы
      Апатия, Здравствуйте, я действительно не был первым кто его сделал, подобных ему уже много, но благодарю за замечание! [IMG]
  6. зайцевПлюсОдин
    а кто такой Денис ?
     
    1. Посмотреть предыдущие комментарии (1)
    2. awaw Автор темы
      зайцевПлюсОдин, мой второй акк с которого тестил. в твоём случае будет отображаться то имя, которое установлено в тг :pepesmile:
    3. зайцевПлюсОдин
      awaw, а можно сделать фичу, типа если на улице гололед то денчик падает когда слазиет(как в оригинале), а если без гололеда то денчик просто слазиет
  7. phisher
    phisher 28 фев 2025 852 26 июн 2020
    обошел этим ботом модерацию тг, но менты все таки нагрянули в хату. я им показал этого бота и они ушли. респект тсу
     
  8. Солнцеестояние
    ЧЕ ЗА ХУЙНЕЯ
     
  9. Y4sperMaglot
    Разъёб :+rep:
     
  10. skskd
    skskd 1 июн 2025 17 17 авг 2020
    спасибо, давно искал что-то подобное
     
Top