【问题标题】:discord.js code error: args is not defineddiscord.js 代码错误:未定义 args
【发布时间】:2021-08-26 03:53:34
【问题描述】:

所以我创建了一个代码来解禁人们,但由于我是编码新手,我完全不知道如何使我的代码正常工作,这是我的代码:

client.on("messageCreate", message => {
  if(message.content === "!ping"){
    message.channel.send("pong")
  } else if(message.content === '!unban') {
    let permissionToKick = true;

    if(!message.member.hasPermission("BAN_MEMBERS")) {
      permissionToKick = false
      message.channel.send(`**${message.author.username}**, You do not have perms to unban someone`)
    }

    if(!message.guild.me.hasPermission("BAN_MEMBERS")) {
      permissionToKick = false
      message.channel.send(`**${message.author.username}**, I do not have perms to unban someone`)
    }

    if(permissionToKick) {
      let userID = args[0] //args[] are not defined, and this will throw an error
        message.guild.fetchBans().then(bans=> {
        if(!bans.size === 0) {
          let bUser = bans.find(b => b.user.id === userID)
          if(bUser) {
            message.guild.members.unban(bUser.user)
          }
        }
      })
    }
  }
})

谁能帮我解决这个问题,我知道我问的有点多,但我是编码新手,没有人可以问,请不要生气

【问题讨论】:

  • 整个代码好像错了,请慢慢学习,因为都是错的,你甚至把v12代码和v13混在一起,你总是可以通过docsguides学习
  • 我建议在尝试编写 Discord Bot 之前学习 JavaScript。正如@UltraX 所说,上面的代码没有意义,例如为什么监听器是messageCreate?通过this guide,然后尝试编写一个发送消息的简单机器人。从那里开始工作,并在直接进入高级命令之前尝试添加更多功能。
  • 您不能只是将我给您的答案复制到您的另一个 question 上并要求人们为您编码。 Stack Overflow 是一个问答网站,而不是代码编写服务。请see here学习如何写出有效的问题。
  • @JoeMoore 监听器正确,检查docs
  • @ChristophBlüm 这从 v12 开始发生了变化,抱歉。

标签: javascript discord.js


【解决方案1】:

你没有定义它。试试这个:

const args = message.content.split(" ");

最终代码如下所示:

  if(permissionToKick) {
      
      // Split the content in an array
      const args = message.content.split(" ");
      
        // args[0] would be the command so args[1] is the userID
        let userID = args[1] 
        message.guild.fetchBans().then(bans=> {
        if(!bans.size === 0) {
          let bUser = bans.find(b => b.user.id === userID)
          if(bUser) {
            message.guild.members.unban(bUser.user)
          }
        }
      })
    }

【讨论】:

  • 虽然这在技术上是正确的,但即使纠正了,他们的代码仍然无法工作。
猜你喜欢
  • 2018-10-23
  • 2019-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 2021-04-04
  • 2011-10-08
相关资源
最近更新 更多