Бот, который обращается к OpenWeatherAPI для получения информации о состоянии погоды и отправляет её пользователю.
На данный момент такие библиотеки, как aiogram и vkbottle не могут работать одновременно, так как требуют разных версий определённых модулей.
- Запускать единственного бота (к примеру,
vk)- По данной ниже инструкции
- Запускать двух ботов (
vk+tg)- Клонировать проект два раза в разные папки с разным виртуальным окружением (
venv)
- Клонировать проект два раза в разные папки с разным виртуальным окружением (
- Склонируйте репозиторий:
git clone https://github.com/Ferber1/weatherbot - Создайте виртуальное окружение:
python -m venv .venvилиpython3 -m venv .venv - Создайте файл
.envи определите в нём переменные:- WEATHER-TOKEN = 'YOUR_TOKEN'
- TELEGRAM-TOKEN = 'YOUR_TOKEN'
- VK-TOKEN = 'YOUR_TOKEN'
- WEATHER:
- Перейдите на официальный сайт OpenWeatherMap: openweathermap.org.
- Нажмите на кнопку "Sign Up" или "Sign In", чтобы создать новую учетную запись или войти в существующую.
- После входа в систему перейдите в раздел "API keys" или "API Tokens".
- Если у вас нет API ключа, создайте новый ключ, следуя инструкциям на странице.
- TELEGRAM:
- Откройте Telegram и найдите бота под названием "BotFather" с помощью поиска или перейдите по ссылке: t.me/BotFather.
- Начните диалог с BotFather, нажав кнопку "Start".
- Введите команду "/newbot", чтобы создать нового бота.
- BotFather запросит у вас имя для нового бота. Введите имя бота (это может быть любое уникальное имя).
- После этого BotFather попросит ввести уникальный логин для вашего бота. Логин должен заканчиваться на "bot" и быть уникальным.
- После успешного создания бота BotFather предоставит вам токен доступа
- VK:
- Зайдите на сайт VK (ВКонтакте) и войдите в свой аккаунт.
- Перейдите по ссылке для создания сообщества: vk.com/groups.
- Нажмите кнопку "Создать сообщество" или "Создать сообщество сообществ".
- Выберите тип сообщества (например, "Сообщество", "Публичная страница" или "Мероприятие") и введите необходимую информацию о вашем сообществе.
- После создания сообщества перейдите в раздел "Управление" -> "Настройки" -> "Работа с API".
- В разделе "Ключи доступа" нажмите на кнопку "Создать ключ" и укажите необходимые права доступа для вашего бота (например, доступ к сообщениям и управление сообществом).
- В разделе "Long Poll API" -> "Настройки" включите опцию и выберите версию 5.199.
- В разделе "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> - В разных папках выполните действия из инструкции по запуску единственного бота