Skip to content

vovan12361/lspd-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discord Bot for Role Management

Этот проект представляет собой Discord-бота, который управляет выдачей ролей пользователям на основе их запросов. Бот использует базу данных для хранения запросов и взаимодействует с пользователями через кнопки и сообщения.

Используемый стек технологий

  • Язык программирования: Python 3.9+
  • Библиотеки:
    • discord.py — для взаимодействия с Discord API.
    • asyncpg — для асинхронной работы с PostgreSQL.
    • json — для работы с данными в формате JSON.
    • asyncio — для асинхронного выполнения задач.
  • База данных: PostgreSQL
  • Дополнительные инструменты:
    • traceback — для отладки и вывода информации об ошибках.
    • python-dotenv — для управления переменными окружения.

Основные функции

  1. Запрос ролей:

    • Пользователи могут запрашивать роли, нажимая на кнопку в специальном канале.
    • Запросы сохраняются в базе данных.
  2. Обработка запросов администраторами:

    • Администраторы могут просматривать запросы и одобрять или отклонять их.
    • После обработки запроса статус обновляется в базе данных.
  3. Асинхронная работа:

    • Бот использует асинхронные запросы к базе данных и Discord API для обеспечения высокой производительности.
  4. Логирование ошибок:

    • Все ошибки логируются с помощью traceback для упрощения отладки.

Установка и запуск

1. Клонирование репозитория

git clone https://github.com/ваш-username/ваш-репозиторий.git
cd ваш-репозиторий

2. Установка зависимостей

Убедитесь, что у вас установлен Python 3.9 или новее. Затем установите зависимости:

pip install -r requirements.txt

3. Настройка базы данных

  1. Установите PostgreSQL, если он еще не установлен.
  2. Создайте базу данных и пользователя:
CREATE DATABASE discord_bot;
CREATE USER bot_user WITH PASSWORD 'ваш_пароль';
GRANT ALL PRIVILEGES ON DATABASE discord_bot TO bot_user;

4. Настройка переменных окружения

Создайте файл .env в корне проекта и добавьте в него:

TOKEN=ваш_токен_бота
GUILD_ID=ваш_guild_id
ADM_ROLES_CH=id_канала_для_администраторов
CL_REQUEST_CH=id_канала_для_запросов
DATABASE_URL=postgresql://bot_user:ваш_пароль@localhost/discord_bot

5. Запуск бота

python -m bot.bot

Структура

discord-bot/
├── bot/
│   ├── __init__.py
│   ├── config.py          # Конфигурация бота
│   ├── database.py        # Подключение к БД
├── events/
│   ├── __init__.py
│   ├── on_ready.py        # Обработчик on_ready
│   ├── on_error.py        # Обработчик on_error
├── models/
│   ├── __init__.py
│   ├── roles_request.py   # Модели запросов
├── main.py                # Точка входа
├── README.md
├── requirements.txt
└── .env                   # Переменные окружения

Лицензия

Проект распространяется под лицензией MIT.

Примечания

  • Убедитесь, что бот имеет необходимые разрешения (intents) на сервере Discord.
  • Для работы с базой данных убедитесь, что PostgreSQL запущен.

About

Bot for LSPD Community sa-es

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages