他正在给我这个欢迎/再见不和谐错误的脚本,他已经尝试了很多事情,如果有人帮助我,我将非常感激,谢谢
module.exports = (client) => {
const channelIdA = '718596514305277972'
client.on('guildMemberAdd', (member) => {
console.log("Someone joined the server")
const messageA = `message`
const channel = (channelIdA)
channel.send(messageA)
})
}
module.exports = (client) => {
const channelIdB = '890891192995303424'
client.on('guildMemberRemove', (member) => {
console.log("Someone leaved the server")
const messageB = `message`
const channel = (channelIdB)
channel.send(messageB)
})
}
您正在尝试通过调用
.send()
方法向频道发送消息。但是,您正在对字符串调用该方法。 send()
方法仅存在于基于文本的通道。要将消息发送到特定频道,请用此替换您的消息发送代码
client.on("guildMemberAdd", members => {
client.channels.cache.get("REPLACE WITH CHANNEL ID").send("message")
});
client.on("guildMemberRemove", members => {
client.channels.cache.get("REPLACE WITH OTHER CHANNEL ID").send(" other message")
});
如果上述方法不起作用,请尝试以下操作: (无需缓存即可工作)
client.on("guildMemberAdd", async (member) => {
const channel = await client.channels.fetch("REPLACE WITH CHANNEL ID")
channel.send(`${member.user.username}, welcome`)
});
client.on("guildMemberRemove", async (member) => {
const channel = await client.channels.fetch("REPLACE WITH OTHER CHANNEL ID")
channel.send(`${member.user.username} has left`)
});
您应该使用 this 获取频道。如果您已经在缓存中拥有频道(机器人启动后频道中发生了一些事情),您也可以使用频道缓存。