custom-discord-bot
custom-discord-bot представляет собой discord бота с встроенным chat-gpt и классическими возможностями войс бота: воспроизведение музыки с youtube, музыкальная очередь, возможность скипать, ставить на паузу и останавливать треки.
Начало работы
Клонируйте репозиторий:
git clone https://gitflic.ru/project/hazkorj/custom-discord-bot custom-discord-bot
Создайте .env файл в директории проекта:
BOT_TOKEN=<Токен бота>
OPENAI_TOKEN=<Openai токен>
PORT=<Порт сервера>
BOT_TOKEN
Обязательный параметр - токен вашего discord бота, взятый из его настроек
OPENAI_TOKEN
Обязательный параметр - ваш openai токен для chat-gpt, взятый с офциального сайта openai
PORT
Необязательный параметр - порт сервера
Если вы используете хостинг, он должен предоставить вам возможность задать данные переменные окружения другим способом.
Установите зависимости:
npm install
Запустите бота:
npm start
Для Docker:
docker build -t myapp .
docker run -p $PORT:$PORT myapp
Настройка бота и список команд
В файле config.json, находящемся в корне проекта, расположены настройки бота, а также список команд:
{
"prefix": "$",
"commandsData": {
"test": {
"name": "test",
"description": "Команда для проверки работы бота"
},
"chatGpt": {
"name": "chat-gpt",
"shortName": "gpt",
"description": "Chat GPT версии 3.5 turbo"
},
"voice": {
"name": "voice",
"shortName": "v",
"description": "Воспроизведение музыки с youtube"
},
"pause": {
"name": "pause",
"shortName": "p",
"description": "Поставить музыку на паузу"
},
"unpause": {
"name": "unpause",
"shortName": "up",
"description": "Снять музыку с паузы"
},
"stop": {
"name": "stop",
"shortName": "s",
"description": "Выключить музыку"
},
"leave": {
"name": "leave",
"shortName": "l",
"description": "Выгнать бота из войс чата"
},
"skip": {
"name": "skip",
"shortName": "s",
"description": "Пропустить трек"
},
"clear": {
"name": "clear",
"shortName": "c",
"description": "Очистить музыкальную очередь"
}
}
}
Здесь prefix
- это префикс для использования команд, вы можете изменять его на свой вкус.
В блоке commandData
находится список команд с их названиями и описанием.
Важно! Вы можете изменять все поля внутри самих команд, но изменение ключа команды внутри
commandData
может привести к ошибке.
У команд есть 3 поля:
name
(обязательное поле) - название для использования команды
shortName
(необязательное поле) - короткое название для использования команды
description
(необязательное поле) - описание комнады
На этом все, удачного пользования)
Описание
Кастомный discord бот с встроенным chat-gpt и возможностью проигрывать музыку