欢迎/再见discord js bot错误的脚本

Script of welcome / goodbye to discord js bot Error

他给我这个 welcome/goodbye 的 Discord 错误脚本,如果有人帮助我,他已经尝试了很多东西,我将非常感激,谢谢

module.exports = (client) => {
    const channelIdA = '718596514305277972'
    
    client.on('guildMemberAdd', (member) => {
       console.log("Se ha unido una nueva persona al servidor TPA")
       
         const messageA = `message`

          const channel = (channelIdA)
          channel.send(messageA)
       })
   }
   
   module.exports = (client) => {
    const channelIdB = '890891192995303424'
    
    client.on('guildMemberRemove', (member) => {
       console.log("Se ha salido una persona del servidor TPA")
       
         const messageB = `message`
          
          const channel = (channelIdB)
          channel.send(messageB)
    })
}

您应该使用 this 获取频道。如果您已经在缓存中拥有频道(机器人启动后频道中发生了一些事情),您也可以使用频道缓存。

您正在尝试通过调用 .send() 方法向频道发送消息。但是,您是在字符串上调用该方法。 send() 方法仅存在于 text based channels 上。要向特定频道发送消息,请将您的消息发送代码替换为此

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`)
});