Skip to content

Latest commit

 

History

History
91 lines (69 loc) · 5.24 KB

README.md

File metadata and controls

91 lines (69 loc) · 5.24 KB

Discord-bot для Among Us

Общее

Бот предназначен для проведения рейтинговых игр через голосовые чаты в дискорд.

Технологии

Язык: TypeScript Сервер: Node.ts База данных: MongoDb Api Discord: Discord.js

Начало работы

  1. Склонируйте репозиторий
git clone https://github.com/Razdva122/Discord-bot.git
  1. Установите зависимости
cd Discord-bot
npm install
  1. Бота нужно создать и добавить в панели приложений Discord, после этого нужно добавить его на свой сервер. Подробно этот пункт описан в гайде Создание бота Discord Bot с помощью Node.js - Шаг 1

  2. Инициализация MongoDb Atlas (Бесплатной облачной версии) Гайд по созданию на английском языке или Видео также на английском. На выходе вы получите строку для соединения формата mongodb+srv://<Юзернейм для mongodb>:<Пароль для mongodb>@<Путь к серверу>/<Название коллекции для mongodb> Эти поля потребуются для настройки бота.

  3. Настройте бота Приватные настройки должны быть в файле src/consts/private.ts. Он должен экспортировать обьект формата

export const settings = {
    mongoUser: {
      user: 'Юзернейм для mongodb',
      password: 'Пароль для mongodb',
    },
    mongoPath: 'Путь к серверу',
    mongoDB: 'Название коллекции для mongodb',
    botSecretToken: 'Ключ для Discord Api',
}

Общие настройки хранятся в файле src/consts/index.ts. Подробнее в секции Общие настройки. Для первоначального запуска бота достаточно поменять

export const mainOwnerID = 'ID вашего пользователя из Discord';
  1. Запуск бота
npm start
  1. Инициализация на сервере

На сервере владелец бота должен его инициализировать написав команду.

!initServer [Роль админов] [Роль верифицированных пользователей]

Админы имеют максимальный доступ.

Верифицированные пользователи имеют права для создания и окончания игр.

Кастомизация бота

Общие настройки

Общие настройки хранятся в файле src/consts/index.ts.

Перменная Назначение Тип
defaultRating Начальный рейтинг игрока Number
usersInLeaderboard Количестов игроков в лидерборде Number
maxNicknameForLeadeboardLength Максимальная длина никнейма юзера для таблицы Number
additionalRoles Дополнительные роли Object<(key: string): value: string>
ratingChange -> crewmate Изменение рейтинга при игре за crewmate `Object<(key: [win
ratingChange -> impostor Изменение рейтинга при игре за impostor `Object<(key: [win
accessLevel Числовое значение уровня доступа от 0 до N. Object<(key: string): value: number>
helpLevel Текстовое описания для уровня доступа Object<(key: number): value: string>
accessLevelToMethods Уровень доступа к команде Object<(key: Имя команды): value: number>
helpText Общее описание команд Object<(key: Имя команды): value: string>
commandHelp Подсказка по команде, которая выводится при запросе ![Имя команды] help Object<(key: Имя команды): value: string>
amountOfResets Количество сбросов рейтинга: default - для всех и количество для дополнительных ролей Object<(key: string): value: number>
mainOwnerID ID владельца бота с максимальным уровнем доступа String