Этот бот разработан командой Adventure Time SS14 в образовательных целях для изучения и тестирования возможностей Discord API и разработки ботов. Он не предназначен для коммерческого использования.
Этот бот использует библиотеку g4f исключительно для демонстрационных и образовательных целей.
Мы придерживаемся всех правил Discord и несем полную ответственность за его использование.
Бот был значительно улучшен, и вот ключевые изменения:
-
Улучшено логирование:
- Все действия бота теперь логируются в файл
bot_logs.log
и отображаются в консоли. - Уведомления о запуске, завершении работы и перезапуске отправляются в лог-канал Discord.
- Все действия бота теперь логируются в файл
-
Улучшенные команды:
- Полностью переработаны команды для работы с пользователями, ролями, базой данных и GitHub.
- Добавлен разбиение на страницы в командах, где вывод может быть слишком большим (например,
&forks
,&review
,&achang
). - Стандартизированы сообщения команд в формате Embed.
-
Фоновая работа:
- Бот теперь может автоматически обновлять сообщения в реальном времени, используя задачи
tasks.loop
. - Улучшено управление статусом сервера и уведомлениями об ошибках.
- Бот теперь может автоматически обновлять сообщения в реальном времени, используя задачи
-
Рефакторинг:
- Переработан код для повышения читаемости и поддержки.
- Убраны лишние импорты и модули.
- Реализована кросс-платформенная обработка сигналов завершения (
SIGINT
,SIGTERM
).
git clone https://github.com/AdventureTimeSS14/Dev-bot.git
cd Dev-bot
pip install -r requirements.txt
Создайте файл .env
рядом с main.py
и добавьте следующие переменные (по необходимости):
# Discord токен
DISCORD_KEY=*****
# Данные для подключения к базе данных MariaDB (необязательно)
USER=*****
PASSWORD=*****
HOST=*****
PORT=*****
DATABASE=*****
# GitHub токен (для взаимодействия с API GitHub)
GITHUB=*****
python main.py
- Для завершения работы бота нажмите
Ctrl+C
в консоли. - Бот корректно завершит работу, обновив статусы и уведомив пользователей.
&new_team
— Назначение пользователя на новую должность.&remove_team
— Увольнение пользователя из отдела.&add_role
/&remove_role
— Добавление или удаление ролей.&tweak_team
— Изменение должности (повышение/понижение).
&db_info
— Полная информация о базе данных.&db_status
— Проверка состояния подключения.&db_help
— Справка по командам работы с базой данных.
&review
— Список пулл-реквестов, требующих ревью.&forks
— Список форков репозитория.&achang
— Список пулл-реквестов, ожидающих изменений.&milestones
— Список всех майлстоунов.&pr <номер>
— Информация о замерженном PR.
- Логи о запуске, перезапуске и завершении работы отправляются в лог-канал Discord.
- Уведомления об изменениях на сервере или статусе бота.
- Токен Discord является конфиденциальной информацией. Не делитесь им с другими.
- Убедитесь, что у вас установлен Python 3.10 или выше.
- Если вы столкнулись с проблемами, ознакомьтесь с документацией Discord API.
P.S. Если вы нашли баг или у вас есть предложения, отправьте Pull Request или создайте Issue в репозитории.