Skip to content

Latest commit

 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages