Данный репозиторий был заброшен и более не поддерживается.
Асинхронный бот для VK по игре Genshin Impact.
- Интерактивная база данных по Genshin Impact прямо внутри бота;
- Возможность поиска артов через сайт SankakuComplex;
- Автоматическая публикация постов с артами по Genshin Impact в группу;
- Поддержка PostgreSQL для хранения данных бота;
- Логирование возможных ошибок при работе;
- Генерация изображений из шаблонов;
- Возможность добавления собственных команд без необходимости модифицировать код;
- Возможность прямого взаимодействия с ботом и системой через команду
!exec
.
Описание команд бота (с примерами): https://vk.com/@bot_genshin-commands
- Python 3.8+
- PostgreSQL
- aiohttp
- aiofiles
- vkbottle
- asyncpg
- genshin
- lxml
- PIL
- sankaku
Необходимо клонировать гит-репозиторий в любую папку:
git clone https://github.com/zerex290/genshin-bot
После этого нужно установить зависимости из файла requirements.txt
:
pip install -r requirements.txt
Для корректной работы боту необходимо:
- Установить необходимые переменные окружения.
- Создать и инициализировать базу данных.
- Сконфигурировать рабочее пространство бота.
Необходимо установить следующие переменные окружения:
- ADMINS:
str
- ID администраторов бота (разделенные запятыми); - GROUP_TOKEN:
str
- API-ключ группы, от лица которой будет работать бот; - GROUP_ID:
int
- ID группы, от лица которой будет работать бот (например, -123456789); - SHORTNAME:
str
- короткое имя группы, от лица которой будет работать бот (например, @mygroup); - USER_TOKEN:
str
- API-ключ приложения ВК (для автоматизации публикации постов в группу); - USER_ID:
id
- ID пользователя-владельца ВК приложения (и от имени которого будут публиковаться посты); - DATABASE_ADDRESS:
str
- адрес базы данных для asyncpg (например, postgres://user:pass@host:port/dbname).
Для того чтобы создать базу данных, необходимо во время сеанса psql
написать:
CREATE DATABASE dbname;
После создания базы данных ее нужно проинициализировать:
python initdb.py
Для конфигурации необходимо скачать архив с файлами с ЯндексДиск. Архив необходимо скачивать в ту же директорию, в которую был клонирован репозиторий.
После этого необходимо распаковать его:
tar -xf environment.zip
Для того чтобы запустить бота на локальном устройстве или удаленном сервере, необходимо написать:
python -m bot
Все шаблоны, используемые для генерации изображений, можно получить, клонировав на собственный аккаунт проект в Figma.