Skip to content

Дискорд бот для упрощённого администрирования эмодзи на сервере при существовании их списка в текстовом канале.

xonrsoftware/discordmanagmentbot

Repository files navigation

Дискорд бот для лёгкого управления эмодзи на сервере

Бот выводит список эмодзи с Embed оформлением в выбранный канал. Если произошло обновление картинки эмодзи, то бот автоматически удалит старый эмодзи, создаст новый на замену, заменит его в сообщении с информацией о эмодзи.

  • Весь код прокомментирован.
  • Вся информация хранится в .json файлах, для быстрого редактирования.
  • Можно указать позицию каждого сообщения с информацией о эмодзи в канале, бот переформирует список, если желаемая позиция сообщения эмодзи не будет совпадать с фактической позицией.
  • Автоматическая генерация изображения 32x32 для параграфа предпросмотра в сообщении с информацией о эмодзи.

Работает на Дискорд сервере НИНРИ - крупнейший русскоязычный Discord сервер про настольные игры, всегда можно найти себе компанию для партий.

Используемые ресурсы

Библиотеки
  • Discord.js - для взаимодействия с апи Дискорда.
  • md5-file - для расчёта md5 хеша у файла.
  • sharp - для манипуляций с изображением.

Установка

Для Windows
  • Для работы требуется установить Node.js.
  1. Склонируйте репозиторий или скачайте (зелёная кнопка Clone or download) и распакуйте.
  2. Откройте окно выполнения с помощью сочетания Windows+R, введите cmd, нажмите Ок.
  3. В окне консоли, используя команду, перейдите в папку с ботом. Пример:
cd D:\DiscordBots\EmojiBot
Для Unix
  1. Установите вашим пакетным менеджером Node.js.
  2. Склонируйте репозиторий (можно выполнить командой git clone https://github.com/...) или скачайте и распакуйте.
  3. Перейдите в папку с ботом.
Общий последний этап.

Выполните следующую команду в консоли:

npm install

Настройка

  1. Создайте Дискорд сервер.
  2. Создайте приложение Discord.
  3. Приглаcите бота на сервер. Перейдите на вкладку вашего приложения, нажмите OAuth2, выберите Bot и активируйте права администратора (или сконфигурируйте набор прав самостоятельно), перейдите по сгенерированной ссылке и пригласите бота на желаемый сервер.
  4. Скопируйте токен вашего бота. Перейдите на странице приложения на вкладку Bot, нажмите на Copy, чуть ниже параграфа Token.
  5. В папке с ботом, скопируйте config.example.json, назовите его config.json. Откройте файл редактором и вставьте туда ваш токен.
  6. Включите режим разработчика в клиенте Дискорд. Перейдите в личные настройки пользователя (не в настройках сервера) -> Внешний вид -> Режим разработчика.
  7. Откройте вкладку вашего сервера в Дискорд клиенте, нажмите правой кнопкой мышки на его название -> Копировать ID.
  8. В [корневая папка бота]/data/servers, скопируйте папку 000000000000000000, измените название на ваш номер сервера.
  9. Откройте ваш сервер в Дискорд клиенте, нажмите на желаемый текстовый канал правой кнопкой мышки -> Копировать ID.
  10. Откройте в папке с номером вашего сервера config.json в желаемом редакторе. Вставьте туда номер текстового канала.
  11. Вся настройка осуществляется через .json файлы в подпапке active. Загрузите туда желаемые эмодзи в формате .png и желательно размером 128x128. Скопируйте .json из примера и назовите его так же, как .png файл. Отредактируйте в .json файле EmojiName (имя кода вызова эмодзи) и остальные данные по желанию. Пример генерации содержимого Embed можно найти здесь. Для новых эмодзи UniqueID должен быть установлен в следующий свободный номер либо в -1 для автоматической установкой ботом.

Запуск

Откройте консоль в главной папке бота и выполните cледующую команду:

node app

Сделать

  • Опциональную отладку. Класс с выводом строк отладки.
  • Административные команды: архивирование, удаление, встраивание нового эмодзи в желаемую позицию...
  • Режимы работы: обычный; удаление всех эмодзи на сервере, которые отстутствуют в файлах.

License

MIT

About

Дискорд бот для упрощённого администрирования эмодзи на сервере при существовании их списка в текстовом канале.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published