我开发了一个可以在服务器上做很多事情的不和谐机器人。最近我决定自动化一个简单的任务。每当有人提升我的服务器时,都会向其中一个频道发送一条系统消息——“ABC 刚刚提升了服务器!” 我正在尝试阅读此消息以获取 ID,因此我可以让我的机器人感谢用户的提升。但我无法阅读消息,因为 message.content 为空白。我相信这是因为它是一条系统消息,不是由任何用户发送的。谁能帮我这个?我如何获得助推器的 id?
这是代码块。
var channalPosting = "848630009056067596"; //
client.channels.cache.get(channalPosting).send("NitroBoost : " +message.content);
价值为 -
(NitroBoost : )
答案 0 :(得分:1)
或者,您可以使用 guildmemberupdate 事件简单地检查成员的助推器角色
<client>.on('guildMemberUpdate', async (oldMember, newMember) => {
const prevRole = oldMember.roles.find(role => role.name === 'Nitro Booster');
const currentRole = newMember.roles.find(role => role.name === 'Nitro Booster');
if (!prevRole && currentRole) {
newMember.guild.channels.get(yourchannelid).send('someone boosted pogU');
}
});
用你的 Discord.Client() 变量替换 client 并用实际的频道 ID 替换 yourchannelid