[英]Having issue assigning roles on guildMemberUpdate discord.js
[英]Discord.js guildMemberUpdate event
我正在嘗試使用 Discord.js 制作歡迎消息機器人,當成員有權訪問它時,歡迎消息將通過某個通道中的 webhook 發送。
這就是我現在所擁有的:
client.on("guildMemberUpdate", member => {
const wc = new WebhookClient('webhook-id', 'webook-token');
if (member.roles.cache.some(r => r.name === "test")) {
wc.send(`Welcome <@${member.id}> !`);
} else if (member.roles.cache.find(r => r.name === "Server Booster")) {
wc.send(`Thank you for the boost <@${member.id}> !`);
} else return;
});
我在添加角色時沒有發出guildMemberUpdate
的問題,控制台日志顯示它僅在刪除角色時觸發。
任何見解將不勝感激!
謝謝閱讀
使用oldMember
和newMember
而不是member
解決了問題
client.on("guildMemberUpdate", (oldMember, newMember) => {
const wc = new WebhookClient("webhook-id', 'webook-token");
if (oldMember.roles.cache.isze !== newMember.roles.cache.size) {
if (!oldMember.roles.cache.has("role-id") && newMember.roles.cache.has("role-id")) {
wc.send(`Welcome ${newMember} !`);
}
if (!oldMember.roles.cache.has("boost-role-id") && newMember.roles.cache.has("boost-role-id")) {
wc.send(`Thank you for the Nitro Boost ${newMember} !`);
}
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.