加入服务器后静音新成员

问题描述 投票:0回答:1

我的想法很简单,我希望有人可以引导我找到一个好的解决方案。因此,在事件GuildMemberAdd中,我正在尝试使加入服务器的任何人静音,因此,如果我是服务器的新手,我将被静音,直到工作人员取消静音为止对我来说应该是一件好事垃圾邮件发送者等等。我尝试通过定义mute角色来自己完成此操作

let muterole = message.guild.roles.find(role => role.name === "Muted");
if(!member.user.bot) member.addRole(muterole);

但是无论何时我尝试加入一个新帐户,它总是会说TypeError: Cannot read property 'guild' of undefined.

javascript discord.js
1个回答
0
投票

[messageundefined,这是有道理的,因为guildMemberAdd事件采用仅采用一个参数的侦听器:公会成员。

将其用于Discord.js v11(这似乎是您正在使用的):

guildMemberAdd

对于v12(最新版本):

// I used const instead of let because it's very unlikely you would change muteRole.
// const makes it an immutable variable.

// Note I used member.guild here not message.guild
const muteRole = member.guild.roles.find(role => role.name === 'Muted')
if (!member.user.bot) member.addRole(muteRole)
© www.soinside.com 2019 - 2024. All rights reserved.