Discord 斜杠命令静音

时间:2021-02-05 10:34:50

标签: javascript node.js discord discord.js

我正在用斜杠命令做 discord bot,我有那个代码:

        let channel = client.channels.cache.get('channel id')
        var member = guild.members.cache.get(Object.values(interaction.data.options[0])[0])
        var role = client.guilds.cache.get("guild id").roles.cache.get("role id")
        let reason = Object.values(interaction.data.options[1])[0]
        let time = '1h'
        try {
            let time = Object.values(interaction.data.options[2])[0]
        } catch(err){
            console.log("some text")
        }
        member.roles.add("role id");
        let time2 = times(time)
        const muteEmbed = new Discord.MessageEmbed()
        .setTitle("Mute")
        .setDescription("<@" + member.id + "> Otrzymał mute za "+reason+", na "+parseInt(time).toString()+' '+typeoftime(time)+".")
        .setTimestamp()
        .setColor("#ff0000")
    client.channels.cache.get('channel').send(muteEmbed)
    member.timeout = client.setTimeout(async () => {
      try {
        member.roles.remove("role id");
        const unmuteEmbed = new Discord.MessageEmbed()
          .setTitle('Unmute')
          .setDescription("<@"+member.id+"> Już nie ma mute.")
          .setTimestamp()
          .setColor("#00ff00");
        client.channels.cache.get('channel id').send(unmuteEmbed);
      } catch (err) {
        console.log(err)
      }
    }, time2);

但是没有通过 id 找到用户的东西不起作用......有人可以帮忙吗? (部分代码是自定义函数(times 和 typeoftime))

1 个答案:

答案 0 :(得分:1)

其实你没有正确找到用户、角色和渠道

您可以通过以下方式查找会员

  let member = guild.members.cache.find(mem => mem.id === "member_id_here")

对于角色

  let role = guild.roles.cache.find(r => r.id === "role_id_here")

频道

  let channel = guild.channel.cache.find(ch => ch.id === "channel_id_here")