Skip to content
This repository has been archived by the owner on Aug 5, 2023. It is now read-only.
/ genshin-bot Public archive

Python bot for vk.com (repository no longer maintained)

Notifications You must be signed in to change notification settings

zerex290/genshin-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Внимание

Данный репозиторий был заброшен и более не поддерживается.


genshin-bot

Асинхронный бот для 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

Для корректной работы боту необходимо:

  1. Установить необходимые переменные окружения.
  2. Создать и инициализировать базу данных.
  3. Сконфигурировать рабочее пространство бота.

Установка переменных окружения

Необходимо установить следующие переменные окружения:

  • 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.

About

Python bot for vk.com (repository no longer maintained)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages