欢迎/再见脚本不和谐 js bot 错误
Posted
技术标签:
【中文标题】欢迎/再见脚本不和谐 js bot 错误【英文标题】:Script of welcome / goodbye to discord js bot Error 【发布时间】:2021-11-20 07:43:47 【问题描述】:他给了我这个欢迎/告别 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)
)
【问题讨论】:
【参考方案1】:您正试图通过调用.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`)
);
【讨论】:
非常感谢,但如果我想使用 或 $ member.guild.memberCount,我该怎么做?当我离开服务器时,它说再见当我进入服务器时,它说再见并欢迎它并开始工作channels.fetch()
返回一个 Promise,所以它没有 .send()
方法,你需要先解决它。
@ZsoltMeszaros 哎呀我现在就更新我的答案
@Bertogim 好像是个新问题。
好的,谢谢,它工作正常 100% 也许将来我会问角色反应或其他问题,非常感谢【参考方案2】:
您应该使用this 获取频道。如果您已经在缓存中拥有频道(机器人启动后频道中发生了一些事情),您也可以使用频道缓存。
【讨论】:
以上是关于欢迎/再见脚本不和谐 js bot 错误的主要内容,如果未能解决你的问题,请参考以下文章
Discord.JS Bot 通过 Heroku 托管抛出 500 错误
在 discord.js 和 bot.on('guildMemberAdd', async newMember => 中创建欢迎消息正在创建错误