#javascript #node.js #discord #discord.js
#javascript #node.js #Discord #discord.js
Вопрос:
Я пытался закодировать бота, который добавляет роль человеку, когда он отправляет сообщение по определенному каналу, и, похоже, я не могу заставить его работать. Вот код, пожалуйста, скажите мне, где я ошибаюсь. Заранее спасибо.
client.on("message", (receivedMessage) => {
receivedMessage.content = receivedMessage.content.toUpperCase();
if (receivedMessage.content.includes("PASSWORD") amp;amp; receivedMessage.channel.id === `channelId`) {
client.guilds.cache.get("guildId").members.get(receivedMessage.author.id).addRole("roleId");
}
});
Ответ №1:
GuildMemberManager
не имеет members
свойства. Вам нужно будет получить доступ к кешу участников.
GuildMember
не имеет addRole
свойства. Вам придется использовать GuildMemberRoleManager#add
.
client.on("message", (receivedMessage) => {
receivedMessage.content = receivedMessage.content.toUpperCase();
if (receivedMessage.content.includes("PASSWORD") amp;amp; receivedMessage.channel.id === `channelId`) {
client.guilds.cache.get("guildId").members.cache.get(receivedMessage.author.id).roles.add("roleId");
}
});
Совет: вы можете немного сократить свой код, просто используя message.member
.