Как обновить discord js

Я настраиваю журналы сервера на моем боте Discord на Discord.js v12.2.0, и в настоящее время я пытаюсь настроить ведение журнала ролей. Я немного покопался в Интернете и могу найти решения для этого только в более старых версиях Discord.js, которые, очевидно, не работают в v12.2.0. Я настроил событие guildMemberUpdate для регистрации изменений никнейма, но я просто не знаю, как это сделать для ролей. Это может быть очень просто, но я не уверен, как бы я это сделал.

client.on(‘guildMemberUpdate’, (oldMember, newMember) => < if (!oldMember.nickname newMember.nickname) < const membernewnicklog = new Discord.MessageEmbed() .setAuthor(`$`, `$)>`) .setDescription(`**$ nickname added**`) .setFooter(`$’s ID: $`) .setTimestamp() .setColor(‘#ffff00’) .addField(«New nickname», newMember.nickname) client.channels.cache.get(‘736996028787589201’).send(membernewnicklog); return; > if (oldMember.nickname !newMember.nickname) < const memberremovenicklog = new Discord.MessageEmbed() .setAuthor(`$`, `$)>`) .setDescription(`**$ nickname removed**`) .setFooter(`$’s ID: $`) .setTimestamp() .setColor(‘#f04747’) .addField(«Old nickname», oldMember.nickname) client.channels.cache.get(‘736996028787589201’).send(memberremovenicklog); return; > if (oldMember.nickname newMember.nickname) < const memberchangednicklog = new Discord.MessageEmbed() .setAuthor(`$`, `$)>`) .setDescription(`**$ nickname changed**`) .setFooter(`$’s ID: $`) .setTimestamp() .setColor(‘#ff4500’) .addField(«Before», oldMember.nickname) .addField(«After», newMember.nickname); client.channels.cache.get(‘736996028787589201’).send(memberchangednicklog); return; > >);

И вот что я собираюсь сделать: https://imgur.com/a/FRbTpGQ ( пример от другого бота)

Updating Slappey to Discord.js v13 (?)

Любая помощь будет очень признательна. Благодарность!

user13334858 29 Июл 2020 в 23:40

Я был тем, кто помог вам с вашим первоначальным вопросом, и ваш код не имеет особого смысла. везде, где он говорит (oldMember.nickname newMember.nickname) , всегда следует вместо этого говорить if (oldMember.nickname !== newMember.nickname) .

30 Июл 2020 в 02:10

1 ответ

Лучший ответ

client.on(«guildMemberUpdate», (oldMember, newMember) => < // Old roles Collection is higher in size than the new one. A role has been removed. if (oldMember.roles.cache.size >newMember.roles.cache.size) < // Creating an embed message. const Embed = new discord.MessageEmbed(); Embed.setColor(«RED»); Embed.setAuthor(newMember.user.tag, newMember.user.avatarURL()); // Looping through the role and checking which role was removed. oldMember.roles.cache.forEach(role => < if (!newMember.roles.cache.has(role.id)) < Embed.addField(«Role Removed», role); >>); client.channels.cache.get(«ChannelID»).send(Embed); > else if (oldMember.roles.cache.size < newMember.roles.cache.size) < const Embed = new discord.MessageEmbed(); Embed.setColor(«GREEN»); Embed.setAuthor(newMember.user.tag, newMember.user.avatarURL()); // Looping through the role and checking which role was added. newMember.roles.cache.forEach(role => < if (!oldMember.roles.cache.has(role.id)) < Embed.addField(«Role Added», role); >>); client.channels.cache.get(«ChannelID»).send(Embed); > >);

Еще по теме:  Как сделать чтобы при заходе на сервер дискорд выдавалась роль

Источник: question-it.com

Updating Node & Discord.JS (Channel Update)

Перезагрузите команду discord.js

Я создаю диск-бот с помощью discord.js, но моя команда сброса не работает.

//!reload if(command === `$reload`)

Это не дает никакой ошибки; он перезапускается и снова включается, но команды не обновляются!

Я пробовал так много разных вещей, которые нашел, но это не работает.

У меня только один файл для всех команд.

user9897638 05 июн ’18 в 12:44 2018-06-05 12:44
2018-06-05 12:44

3 ответа

Если вы используете систему nodemon и локальный пакетный файл, он автоматически перезагрузит файл для каждого сохраненного в нем изменения и выведет новые изменения файла. Если вам нужна дополнительная помощь по этому вопросу, посмотрите несколько видеороликов из TheSourceCode на YouTube, и вы увидите около 3-4 эпизодов о нем с помощью nodemon. Если вы в конечном итоге разместите его на Heroku, который не одобряется, но я так и сделаю, он будет автоматически перезагружаться при каждом изменении в вашем репозитории GitHub, просто убедитесь, что ваш токен заменен на process.env.token и убедитесь, что он установлен. на твоем Heroku YouTube твой друг.

user10425476 27 сен ’18 в 16:58 2018-09-27 16:58
2018-09-27 16:58

Итак, я предполагаю, что у вас есть различные файлы (config и т.д.) и один центральный файл bot.js, и вы загружаете бота, используя что-то вроде

node bot.js

на вашем хост-компьютере, и, очевидно, часть вашего файла.js настраивает бота примерно так:

const bot = new Discord.Client();

Из того, что я могу сказать, ваш

bot.destroy()
bot.login(botsettings.token);

просто обновляет const ‘bot’, но он не загружает файл bot.js (с обновленными командами и кодом).

Что вам нужно сделать, это настроить его для запуска пакетного файла или чего-либо на вашем хост-компьютере, который завершает весь процесс bot.js, а затем перезапускает его. Поскольку это тогда использовало бы новый и обновленный файл bot.js.

Еще по теме:  Certified moderator discord как получить

Единственная проблема в том, что я до сих пор выясняю, как запустить пакетный файл из моего JS-файла, что понятно для безопасности, в которую эта функция не встроена (другие мудрые сайты, использующие JS, были бы уязвимы, чтобы заставить его запускать такие вещи, как форматирование). C:)

Я предполагаю, что это будет включать в себя использование WSH в моем JS, и я буду обновлять здесь, если у меня все получится.

Надеюсь это было понятно? дайте мне знать, если у вас еще есть вопрос:)

Источник: stackru.com

Код Discord.js v13 ломается при обновлении до v14

Я только что обновил свой файл discord.js с версии 13 до версии 14, и в нем много ошибок.

Ошибки с намерениями:

const client = new Client(< intents: [ Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MESSAGE_REACTIONS, ], >); // Intents.FLAGS.GUILDS, // ^ // // TypeError: Cannot read properties of undefined (reading ‘FLAGS’) const client = new Client(< intents: [‘GUILDS’, ‘GUILD_MEMBERS’, ‘GUILD_MESSAGES’], >); // throw new RangeError(ErrorCodes.BitFieldInvalid, bit); // // RangeError [BitFieldInvalid]: Invalid bitfield flag or number: GUILDS.

Ошибки с interaction s:

if (interaction.isCommand()) <> // TypeError: interaction.isCommand is not a function if (interaction.isAutocomplete()) <> // TypeError: interaction.isAutocomplete is not a function if (interaction.isMessageComponent()) <> // TypeError: interaction.isMessageComponent is not a function if (interaction.isModalSubmit()) <> // TypeError: interaction.isModalSubmit is not a function

Ошибки с каналами:

if (message.channel.isText()) <> // TypeError: channel.isText is not a function if (message.channel.isVoice()) <> // TypeError: channel.isVoice is not a function if (message.channel.isDM()) <> // TypeError: channel.isDM is not a function if (message.channel.isCategory()) <> // TypeError: channel.isCategory is not a function

Ошибки с билдерами и эмбедами:

const embed = new MessageEmbed(); // const embed = new MessageEmbed(); // ^ // // TypeError: MessageEmbed is not a constructor const button = new MessageButton(); // const button = new MessageButton(); // ^ // // TypeError: MessageButton is not a constructor const actionRow = new MessageActionRow(); // const actionRow = new MessageActionRow(); // ^ // // TypeError: MessageActionRow is not a constructor const selectMenu = new MessageSelectMenu(); // const selectMenu = new MessageSelectMenu(); // ^ // // TypeError: MessageSelectMenu is not a constructor const textInput = new TextInputComponent(); // const textInput = new TextInputComponent(); // ^ // // TypeError: TextInputComponent is not a constructor const modal = new Modal(); // const modal = new Modal(); // ^ // // TypeError: Modal is not a constructor

Еще по теме:  Дискорд это что wow

Ошибки с перечислениями:

new ButtonBuilder() .setCustomId(‘verification’) .setStyle(‘PRIMARY’) // UnknownEnumValueError: Expected the value to be one of the following enum values: // at NativeEnumValidator.handle new TextInputBuilder() .setCustomId(‘verification’) .setStyle(‘SHORT’) // UnknownEnumValueError: Expected the value to be one of the following enum values: // at NativeEnumValidator.handle

Источник: reddeveloper.ru

Рейтинг
( Пока оценок нет )
Загрузка ...