使用 discord.js v12 解禁命令

Posted

技术标签:

【中文标题】使用 discord.js v12 解禁命令【英文标题】:unban command with discord.js v12 【发布时间】:2021-03-26 05:58:18 【问题描述】:

我正在尝试执行 unban 命令,但收到错误 const member; ERROR: Missing initializer in const 声明

client.on('message', async message => 
    if (message.content.toLowerCase().startsWith(prefix + "unban"))
    if (!message.member.hasPermission("BAN_MEMBERS")) 
      return message.channel.send(`You cant use this command since you're missing "BAN_MEMBERS" perm`)
    
    if (!args[0]) return (await message.channel.send('pls enter a users id to unban.')).then(msg => msg.delete(timeout: 5000))
    const member;
    try 
      member = await client.users.fetch(args[0])
     catch (e) 
      console.log(e)
      return message.channel.send(('an error accured'));
    
const reason = args[1] ? args.slice(1).join(' ') : 'no reason';
const newEmbed = new Discord.MessageEmbed()
.setFooter(`$message.author.tag | $message.author.id`, message.author.displayAvatarURL(dynamic: true))  
message.guild.fetchBans().then( bans => 
  const user = bans.find(ban => ban.user.id === member.id);
  if (user) 
    newEmbed.setTitle(`Successfully Unbanned $user.user.tag`)
    .setColor('#FFFF00')
    .addField(name: 'User ID', value: user.user.id, inline: true)
    .addField(name: 'User Tag', value: user.user.tag, inline: true)
    .addField(name: 'Banned Reason', value: user.reason)
    message.channel.send(newEmbed)
))

【问题讨论】:

【参考方案1】:

const 表示该变量将是不可变的(常量)。因此,声明一个const-type 变量而不立即为其赋值是没有意义的,并且在 javascript 中是不允许的。

要创建一个可变变量,而不是const,您应该使用let

因此,在您的代码中,第 7 行应如下所示:

let member;

【讨论】:

如果我把 let member;错误是:args 未定义 这结账了。您尚未在代码中的任何位置定义 args。我假设您希望它们成为命令调用后的参数。为此,您可以将 const args = message.content.trim().split(/ +/g); 放在处理函数的顶部。 感谢您为我付出的努力。尽管如此,只要我将机器人上线,它就会像 30 条“发生错误”消息一样发送垃圾邮件。然后在控制台日志中说 DiscordAPIError: Invalid Form Body user_id: Value "error" is not snowflake. 您能否通过 Pastebin 或类似服务提供完整的错误消息? https://i.imgur.com/qumhvUO.png

以上是关于使用 discord.js v12 解禁命令的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 解禁命令

解禁命令 |不和谐.js

Discord.js 解禁所有用户

机器人不响应命令(discord.js v12)

Discord.js v12 清除命令

discord.js V12,我的命令[重复]