【发布时间】:2021-10-12 18:09:17
【问题描述】:
我有一个建议频道的基本票务系统。
理想情况下,当用户执行.exesuggest <whatever suggestion they want>(.exe 是机器人前缀)时,我希望机器人回复票已发送给员工,我希望机器人删除用户的消息,并删除它5秒后自己的消息。同时,机器人会向员工频道发送一条包含建议作者和建议本身的消息。
目前一切正常,除了机器人在 5 秒后删除自己的消息。
这是我的代码:
const Discord = require("discord.js")
const channelId = '873769980729106442'
const check = '✅'
let registered = false
const registerEvent = client => {
if (registered) {
return
}
registered = true
client.on('messageReactionAdd', (reaction, user) => {
if (user.bot) {
return
}
const { message } = reaction
if (message.channel.id === channelId) {
message.delete()
}
})
}
module.exports = {
commands: ['ticket', 'suggest', 'suggestion'],
minArgs: 1,
expectedArgs: '<message>',
callback: (userMessage, arguments, text, client) => {
const { guild, member } = userMessage
registerEvent(client)
const channel = guild.channels.cache.get(channelId)
const newTicketEmbed = new Discord.MessageEmbed()
.setAuthor(userMessage.author.username)
.setTitle('Created a new ticket.')
.setDescription(`"${text}"`)
.setFooter(`Click the ${check} icon to delete this message.`)
channel.send(newTicketEmbed).then(ticketMessage => {
ticketMessage.react(check)
const replyEmbed = new Discord.MessageEmbed()
.setDescription(`<@${member.id}> Your ticket has been created! Expect a reply soon!`)
userMessage.channel.send(replyEmbed)
})
}
}
我在另一个文件中有一个有效的命令库处理程序,它使命令工作。
我只需要确切知道如何使该机器人在replyEmbed 中的回复在 5 秒后被删除。
【问题讨论】:
标签: discord.js