将角色添加到用户后,在文本通道中发送消息
When a Role is added to user, send message in a text channel
我希望当我向用户添加角色时,机器人会向文本通道发送一条消息。请问我该怎么做?
您必须使用 guildMemberUpdate 事件。
这是一个如何执行此操作的示例:
const Discord = require('discord.js');
exports.run = async (client, oldMember, newMember) => {
const messagechannel = msg.guild.channels.find('name', 'YOUR NAME OF YOUR CHANNEL');
if (oldMember.roles.size < newMember.roles.size) {
const embed = new Discord.RichEmbed()
.setColor('#FE2E2E')
.setTimestamp()
.setAuthor('Role added!')
.addField(`Member:`, `${oldMember.user.tag} (${oldMember.id})`);
for (const role of newMember.roles.map(x => x.id)) {
if (!oldMember.roles.has(role)) {
embed.addField(`Role:`, `${oldMember.guild.roles.get(role).name}`);
}
}
messagechannel.send({
embed
});
}
}
我希望当我向用户添加角色时,机器人会向文本通道发送一条消息。请问我该怎么做?
您必须使用 guildMemberUpdate 事件。
这是一个如何执行此操作的示例:
const Discord = require('discord.js');
exports.run = async (client, oldMember, newMember) => {
const messagechannel = msg.guild.channels.find('name', 'YOUR NAME OF YOUR CHANNEL');
if (oldMember.roles.size < newMember.roles.size) {
const embed = new Discord.RichEmbed()
.setColor('#FE2E2E')
.setTimestamp()
.setAuthor('Role added!')
.addField(`Member:`, `${oldMember.user.tag} (${oldMember.id})`);
for (const role of newMember.roles.map(x => x.id)) {
if (!oldMember.roles.has(role)) {
embed.addField(`Role:`, `${oldMember.guild.roles.get(role).name}`);
}
}
messagechannel.send({
embed
});
}
}