微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么exports.run = async (client, message, args) => do Discord.js

如何解决什么exports.run = async (client, message, args) => do Discord.js

在上一个问题中,我得到了一个很好的答案,但我不明白这意味着什么 请记住这是 disCORD.JS

exports.run = async (client,message,args) =>

整个代码

const roles = {
  ':harrison:': '794924635778973716',':banana': '794924670955814943',}

exports.run = async (client,args) => {
  await message.delete()

  // because RoleManager.fetch is async
  const rolesArray = await Promise.all(Object.entries(roles)
    .map(async ([emoji,id]) => `${emoji} ${(await message.guild.roles.fetch(id)).toString()}`)
  )
  const embed = new MessageEmbed()
    .setTitle('Roles')
    .setDescription(`
      Tip: *Double React to remove a role*

      ${rolesArray.join('\n')}
    `)
    .setColor(colors.purple)
    .setFooter('Wilderbot')

  message.channel.send(embed).then(async msg => {
    const emojis = Object.keys(roles)
    for (const emoji of emojis) await msg.react(emoji)

    // only collect reactions that are the role emojis
    const collector = msg.createReactionCollector(({emoji}) => emojis.includes(emoji.name))

    collector.on('collect',({emoji,message},user) => {
      message.guild.members.fetch(user).then(member => {
        member.roles.add(roles[emoji.name])
      })
    })

    collector.on('remove',user) => {
      message.guild.members.fetch(user).then(member => {
        member.roles.remove(roles[emoji.name])
      })
    })
  })
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。