Как добавить логи в дискорд
Discord.js logger to Consolog
channelCreate(): Emitted whenever a channel is created.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
channel | Channel | The channel that was created |
channelDelete(): Emitted whenever a channel is deleted.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
channel | Channel | The channel that was deleted |
channelPinsUpdate(): Emitted whenever the pins of a channel are updated. Due to the nature of the WebSocket event, not much information can be provided easily here - you need to manually check the pins yourself.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
channel | Channel | The channel that the pins update occurred in |
time | Date | The time of the pins update |
channelUpdate(): Emitted whenever a channel is updated - e.g. name change, topic change.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
oldChannel | Channel | The channel before the update |
newChannel | Channel | The channel after the update |
clientUserGuildSettingsUpdate(): Emitted whenever the client user's settings update.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
clientUserGuildSettings | ClientUserGuildSettings | The new client user guild settings |
clientUserSettingsUpdate(): Emitted when the client user's settings update.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
clientUserSettings | ClientUserSettings | The new client user settings |
debug(): Emitted for general debugging information.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
info | string | The debug information |
disconnect(): Emitted when the client's WebSocket disconnects and will no longer attempt to reconnect.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
Event | CloseEvent | The WebSocket close event |
emojiCreate(): Emitted whenever a custom emoji is created in a guild.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
emoji | Emoji | The emoji that was created |
emojiDelete(): Emitted whenever a custom guild emoji is deleted.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
emoji | Emoji | The emoji that was deleted |
emojiUpdate(): Emitted whenever a custom guild emoji is updated.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
oldEmoji | Emoji | The old emoji |
newEmoji | Emoji | The new emoji |
error(): Emitted whenever the client's WebSocket encounters a connection error.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
error | Error | The encountered error |
guildBanAdd(): Emitted whenever a member is banned from a guild.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
guild | Guild | The guild that the ban occurred in |
user | User | The user that was banned |
guildBanRemove(): Emitted whenever a member is unbanned from a guild.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
guild | Guild | The guild that the unban occurred in |
user | User | The user that was unbanned |
guildCreate(): Emitted whenever the client joins a guild.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
guild | Guild | The created guild |
guildDelete(): Emitted whenever a guild is deleted/left.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
guild | Guild | The guild that was deleted |
guildMemberAdd(): Emitted whenever a user joins a guild.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
member | GuildMember | The member that has joined a guild |
guildMemberAvailable(): Emitted whenever a member becomes available in a large guild.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
member | GuildMember | The member that became available |
guildMemberRemove(): Emitted whenever a member leaves a guild, or is kicked.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
member | GuildMember | The member that has left/been kicked from the guild |
guildMembersChunk(): Emitted whenever a chunk of guild members is received (all members come from the same guild).
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
members | Array | The members in the chunk |
guild | Guild | The guild related to the member chunk |
guildMemberSpeaking(): Emitted once a guild member starts/stops speaking.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
member | GuildMember | The member that started/stopped speaking |
speaking | boolean | Whether or not the member is speaking |
guildMemberUpdate(): Emitted whenever a guild member changes - i.e. new role, removed role, nickname.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
oldMember | GuildMember | The member before the update |
newMember | GuildMember | The member after the update |
guildUnavailable(): Emitted whenever a guild becomes unavailable, likely due to a server outage.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
guild | Guild | The guild that has become unavailable |
guildUpdate(): Emitted whenever a guild is updated - e.g. name change.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
oldGuild | Guild | The guild before the update |
newGuild | Guild | The guild after the update |
message(): Emitted whenever a message is created.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
message | Message | The created message |
messageDelete(): Emitted whenever a message is deleted.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
message | Message | The deleted message |
messageDeleteBulk(): Emitted whenever messages are deleted in bulk.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
messages | Collection<Snowflake, Message> | The deleted messages, mapped by their ID |
messageReactionAdd(): Emitted whenever a reaction is added to a message.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
messageReaction | MessageReaction | The reaction object |
user | User | The user that applied the emoji or reaction emoji |
messageReactionRemove(): Emitted whenever a reaction is removed from a message.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
messageReaction | MessageReaction | The reaction object |
user | User | The user that removed the emoji or reaction emoji |
messageReactionRemoveAll(): Emitted whenever all reactions are removed from a message.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
message | Message | The message the reactions were removed from |
messageUpdate(): Emitted whenever a message is updated - e.g. embed or content change.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
oldMessage | Message | The message before the update |
newMessage | Message | The message after the update |
presenceUpdate(): Emitted whenever a guild member's presence changes, or they change one of their details.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
oldMember | GuildMember | The member before the presence update |
newMember | GuildMember | The member after the presence update |
ready(): Emitted when the client becomes ready to start working.
reconnecting(): Emitted whenever the client tries to reconnect to the WebSocket.
В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд.
Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая музыкой, системой экономики и распознаванием голоса ботом.
Начало работы
Если вы уже знакомы с приведёнными ниже материалами, — смело можете пролистать этот раздел.
Для начала работы с кодом нам нужно установить среду разработки, это может быть:
Среда разработки выбирается по удобству использования и практичности, она у вас может быть любая, но мы рассмотрим её на примере Visual Studio Code, так как она является одной из самых приемлемых для новичков, а также для опытных программистов.
Для установки переходим по этой ссылке.
Выбираем свою операционную систему и запускаем скачивание.
Для создания бота мы используем среду выполнения node.js. Для её установки нам необходимо перейти на этот сайт.
На данный момент нас интересует версия долгосрочной поддержки (LTS), скачиваем её.
В Visual Studio Code присутствует возможность устанавливать расширения.
Для этого, кликните по отмеченной ниже иконке.
В открывшемся окне вписываем название название/идентификатор нужного нам расширения, после чего устанавливаем его.
Из полезных расширений могу отметить:
-
Discord Presence — расширение, позволяющее отображать рабочую область и файл, в котором вы работаете в вашей игровой активности (функция работает только при использовании приложения Discord).
Создание бота
Теперь, когда вы установили все нужные компоненты, мы можем приступить к созданию самого бота.
Здесь всё просто. Переходим на портал разработчиков и нажимаем на кнопку с надписью «New Application» — она находится в правом верхнем углу.
В открывшемся окне вписываем имя бота, после чего, нажимаем на кнопку с надписью «Create».
На этой странице мы можем изменить имя бота, загрузить для него иконку, заполнить описание.
Теперь наша задача — воплотить бота в жизнь. Для этого переходим во вкладку «Bot».
Нажимаем на кнопку с надписью «Add Bot» и воплощаем бота в жизнь.
Поздравляю! Вы создали аккаунт для вашего бота. Теперь у него есть тег, токен, ник и иконка.
Подготовка к написанию кода
После создания аккаунта для бота, мы должны установить нужные пакеты и модули, чтобы в дальнейшем он корректно работал.
Первым делом создаём папку, после чего открываем её в VS Code (Файл > Открыть папку) / (Ctrl + K Ctrl + O)
Далее нам нужно открыть терминал (Терминал > Создать терминал) / (Ctrl + Shift + `)
Теперь мы должны создать файл с неким «описанием» нашего бота, сделаем это через терминал.
Вписываем данную строку в терминал и нажимаем Enter:
После каждой появившейся строки нажимаем Enter или вписываем свои значения.
Значения в этом файле можно будет изменить в любой момент.
Далее, мы должны поочерёдно вводить в терминал эти строки:
«Install» также можно сокращать в «I», но необязательно.
Итого, если вы следовали инструкциям и всё сделали правильно, в вашей папке должны были появиться 3 объекта:
Написание кода
Для того, чтобы наш бот появился в сети и мог реагировать на команды, нам нужно написать для него код.
Существует множество вариантов для его написания: используя один файл, два, несколько, и т.д
Мы рассмотрим вариант с двумя файлами, так как его использовать очень легко и удобно, но у каждого варианта есть свои недостатки — например, у этого недостатком является сложность в написании начального кода.
Но не волнуйтесь, весь код вам писать не придётся.
Для начала, нам нужно где-то хранить основные параметры и информацию о боте.
Мы можем сделать это двумя способами:
- Создать отдельный файл
- Записать всё в константы
Разберём хранение параметров в отдельном файле.
Итак, создаем файл config.json
Вставляем в него следующий код:
* Для получения токена зайдите на портал разработчиков, перейдите во вкладку «Bot» и скопируйте его.
* Самым распространённым среди разработчиков префиксом является !
Далее нам нужно создать файл bot.js и вставить в него данный код:
Теперь создаём файл comms.js, в нём будут сами команды.
В нём должен быть следующий код:
Чтобы добавить больше команд — просто объявляйте больше функций и добавляйте их в список, например:
И вот, мы вышли на финишную прямую!
Осталось всего ничего — запустить бота.
Для этого открываем терминал и вставляем в него следующую строку:
Готово! Бот запущен и вы можете им пользоваться, ура!
Чтобы пригласить бота на свой сервер, воспользуемся нам уже известным порталом разработчиков.
Перейдём во вкладку OAuth2, пролистаем чуть ниже, выберем «Bot» и отметим нужные боту привилегии.
Существует два способа:
-
Заранее отметить нужные привилегии.
Итоговый код должен быть таким:
Чтобы указать несколько привилегий, мы должны перечислить их в квадратных скобках, через запятую:
* Все привилегии указываются заглавными буквами
Список доступных привилегий:
ADMINISTRATOR
CREATE_INSTANT_INVITE
KICK_MEMBERS
BAN_MEMBERS
MANAGE_CHANNELS
MANAGE_GUILD
ADD_REACTIONS
VIEW_AUDIT_LOG
PRIORITY_SPEAKER
STREAM
VIEW_CHANNEL
SEND_MESSAGES
SEND_TTS_MESSAGES
MANAGE_MESSAGES
EMBED_LINKS
ATTACH_FILES
READ_MESSAGE_HISTORY
MENTION_EVERYONE
USE_EXTERNAL_EMOJIS
VIEW_GUILD_INSIGHTS
CONNECT
SPEAK
MUTE_MEMBERS
DEAFEN_MEMBERS
MOVE_MEMBERS
USE_VAD
CHANGE_NICKNAME
MANAGE_NICKNAMES
MANAGE_ROLES
MANAGE_WEBHOOKS
MANAGE_EMOJIS
Полезные и интересные команды
В предыдущем разделе я показал вам, как запустить бота и как писать для него команды.
Теперь я хочу поделиться с вами несколькими своими командами.
Есть много того, что вам может понравиться в Discord. Он бесплатен в использовании и управлении, имеет поддержку VOIP, и благодаря поддержке ботов, очень хорошо настраивается. Вот лучшие боты Discord, о которых вы должны знать.
1. Carl Bot
Одна из наиболее полезных функций в Discord — это роли реакции, которые позволяют вводить команды и смайлики в Discord, позволяя вносить различные изменения на сервере.
Роли за реакции:
Логирование:
Модерация:
- Лог модерации.
- Множество команд для модерации.
- Канал, чтобы модераторы могли видеть всех нарушителей.
2. Groovy
Новичок на сцене музыкальных ботов Discord — Groovy — позволяет пользователям на канале в Discord ставить в очередь плейлисты песен из самых популярных музыкальных источников в интернете.
3. MEE6
Есть причина, по которой MEE6 в настоящее время — один из лучших ботов Discord. Он обладает обширными возможностями и поддержкой. Вы также можете обновиться до премиум пакета подписки для еще большего количества функций.
Множество ботов Disord предназначены для модерации сервера, и MEE6 не вызовет разочарования. Вы можете настроить автоматические правила для защиты от таких проблем, как спам на сервере. Администраторы MEE6 также могут настроить систему «страйков» для автоматизации наказаний, если пользователи регулярно нарушают правила.
Существует также система регулировки уровней для пользователей. Обычные пользователи могут «подняться» на более высокий уровень в зависимости от активности их работы. Вы можете установить награды, такие как дополнительный доступ в комнату или новые роли.
Если вы уже знаете, как добавлять боты Discord на ваш сервер, вам не составит труда столкнуться с проблемой, используя MEE6. Просто пригласите бота на свой сервер, чтобы начать работу.
4. RED
Если вы хотите, чтобы бот действительно настраивался, то RED должен быть на вашем радаре. Учтите, что для его размещения вам понадобится собственный сервер.
Если вы не нашли нужной функции, вы можете расширить RED с помощью плагинов, которые кодируются на питоне. Вы можете искать созданные сообществом плагины на сайте RED.
5. Dyno
Еще одним достойным внимания ботом является Dyno, который используется на более чем 1,6 миллионах серверов. Одним из его главных преимуществ является большая информационная веб-панель, позволяющая полностью контролировать процесс настройки.
Вам не нужно быть владельцем хостинга, так как все размещается на сервере Dyno, который управляется через веб-инструментарий. Инструменты модерации обширны, с настраиваемыми автоматическими триггерами.
Но дело не только в модерации. Вы можете настроить DJ-бота с индивидуальными плейлистами, играть в слот-игры, искать случайные факты и даже фотографии.
6. Tatsumaki
Fun — это модное слово, которое лучше всего ассоциируется с ботом Tatsumaki. Он яркий, с множеством интересных функций, которыми могут воспользоваться пользователи вашего сервера, чтобы повысить активность пользователей.
Это бот, который охватывает все основные функции для улучшения модерации и более эффективного использования сервера, а также для того, чтобы дать пользователям веселые и удобные командные игры.
Вы также можете осуществлять поиск на YouTube, искать факты о кошках, играть в различные игры, а также проводить опросы по всему серверу. Существует обширная система уровней с XP, доступная для пользователей в зависимости от их активности.
7. Pancake
Более 300 000 серверов используют Pancake на дискордах, и по уважительной причине. Простота в использовании, хороший баланс между командами развлечений для пользователей и расширенной модерацией для администраторов. Отдельный хостинг не нужен.
Настраиваемая система модерации позволяет управлять всем, начиная с голосового чата и заканчивая блокировкой пользователей с системой разрешений для настройки команд модераторов с разными полномочиями.
Кстати, если вам нужно изменить голос в Disord, то вот тут есть подробная инструкция, как это сделать и несколько программ на выбор.
Существует простая в использовании система воспроизведения музыки с поддержкой нескольких источников, включая SoundCloud и YouTube. Социальные функции, такие как игры, поиск изображений и команды шуток, также помогут сделать ваш сервер немного более ярким.
Имея сотни доступных команд, на сервере Pancake Disord найдется что-то для каждого.
Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.
Читайте также: