Skip to content

Ferber1/weatherbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

weatherbot 🧭

Что это ❓

Бот, который обращается к OpenWeatherAPI для получения информации о состоянии погоды и отправляет её пользователю.

Работает на 2 платформах: Telegram и ВКонтакте.

Функционал ⚽

Команда /weather - отправляет погоду в городе

Команда /info - отправляет информация о городе

Информация 🔎

На данный момент такие библиотеки, как aiogram и vkbottle не могут работать одновременно, так как требуют разных версий определённых модулей.

В связи с этим есть 2 варианта запуска бота(ов):

  • Запускать единственного бота (к примеру, vk)
    • По данной ниже инструкции
  • Запускать двух ботов (vk + tg)
    • Клонировать проект два раза в разные папки с разным виртуальным окружением (venv)

Инструкция 📋

Первые шаги

  1. Склонируйте репозиторий: git clone https://github.com/Ferber1/weatherbot
  2. Создайте виртуальное окружение: python -m venv .venv или python3 -m venv .venv
  3. Создайте файл .env и определите в нём переменные:
    1. WEATHER-TOKEN = 'YOUR_TOKEN'
    2. TELEGRAM-TOKEN = 'YOUR_TOKEN'
    3. VK-TOKEN = 'YOUR_TOKEN'

Где взять токены?

  • WEATHER:
    1. Перейдите на официальный сайт OpenWeatherMap: openweathermap.org.
    2. Нажмите на кнопку "Sign Up" или "Sign In", чтобы создать новую учетную запись или войти в существующую.
    3. После входа в систему перейдите в раздел "API keys" или "API Tokens".
    4. Если у вас нет API ключа, создайте новый ключ, следуя инструкциям на странице.
  • TELEGRAM:
    1. Откройте Telegram и найдите бота под названием "BotFather" с помощью поиска или перейдите по ссылке: t.me/BotFather.
    2. Начните диалог с BotFather, нажав кнопку "Start".
    3. Введите команду "/newbot", чтобы создать нового бота.
    4. BotFather запросит у вас имя для нового бота. Введите имя бота (это может быть любое уникальное имя).
    5. После этого BotFather попросит ввести уникальный логин для вашего бота. Логин должен заканчиваться на "bot" и быть уникальным.
    6. После успешного создания бота BotFather предоставит вам токен доступа
  • VK:
    1. Зайдите на сайт VK (ВКонтакте) и войдите в свой аккаунт.
    2. Перейдите по ссылке для создания сообщества: vk.com/groups.
    3. Нажмите кнопку "Создать сообщество" или "Создать сообщество сообществ".
    4. Выберите тип сообщества (например, "Сообщество", "Публичная страница" или "Мероприятие") и введите необходимую информацию о вашем сообществе.
    5. После создания сообщества перейдите в раздел "Управление" -> "Настройки" -> "Работа с API".
    6. В разделе "Ключи доступа" нажмите на кнопку "Создать ключ" и укажите необходимые права доступа для вашего бота (например, доступ к сообщениям и управление сообществом).
    7. В разделе "Long Poll API" -> "Настройки" включите опцию и выберите версию 5.199.
    8. В разделе "Long Poll API" -> "Типы событий" выберите все чек-боксы во вкладке "Сообщения"

Запуск единственного бота

  • Установите необходимую зависимость: pip install <aiogram/vkbottle> (aiogram - telegram, vkbottle - vk)
  • Установите необходимую зависимость: pip install aiohttp (она необходима для запросов к API)
  • Установите необходимую зависимость: pip install python-dotenv (она необходима для получения переменных из .env)
  • Откройте папку желаемого бота (telegram или vk)
  • Откройте файл settings.py и измените нужные данные по желанию
  • Откройте файл main.py (в основном каталоге)
  • Раскомментируйте нужный импорт (строка 4/5)
  • Создайте экземпляр класса TgBot или VkBot (как указано в комментарии/инструкции)
  • Запустите бота (как указано в комментарии/инструкции)

Запуск двух ботов

  • На первых шагах вы должны были склонировать репозиторий два раза, а также создать два виртуальных окружения в каждой папке
  • В одной из папок установите зависимость aiogram, а в другой - vkbottle: pip install <aiogram/vkbottle>
  • В разных папках выполните действия из инструкции по запуску единственного бота

Создано Ferber1. ☀

2024

🕶

🦾

About

Telegram or Vk

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages