【问题标题】:js does not see the second numberjs看不到第二个数字
【发布时间】:2022-01-15 21:10:06
【问题描述】:

如果我尝试批准错误 11,它会批准错误 1。 请帮忙解决这个问题 bot,根本不会感知由两位数字组成的数字


    client.on('message', async (message, member, channel) => {
    
      if (!message.content.startsWith(prefix) || message.author.bot) return;
      var args = message.content.slice(prefix.length).split(/ +/);
      const command = args.shift().toLowerCase();
      args = args.join(" ");
      let perms = message.member.permissions;
    
      if (command === 'accept') {
        const user = await message.guild.members.cache.get(message.author.id)
        if (!user.roles.cache.get(ApprovoredRoleID)) return message.reply('Доступно только охотникам за багами')
        if (!args[0]) return message.reply('Укажите Bug-ID')
        var SelectBug = await BugScheme.findOne({ id: args[0] });
        if (!SelectBug) return message.reply('Я не могу найти идентификатор отчета.')
        if (SelectBug.reportStatus != 'none') return message.reply('Этот отчет уже перемещен.')
        var bug = client.channels.cache.get(BugsChannel)
        bug.messages.fetch({around: SelectBug.messageid, limit: 1})
          .then(msg => {
            const fetchedMsg = msg.first();
            fetchedMsg.edit(`**───────────────────**\n<@${SelectBug.owner}> сообщил\n\n**Название:** ${SelectBug.title}\n**Описание:** ${SelectBug.description}\n\nПроверил ${message.author} <:yes:917708321056768000>\nID отчета: **${SelectBug.id}**`);
        });
        SelectBug.reportStatus = 'accept'
        SelectBug.save()

mongo

【问题讨论】:

  • 当您执行args = args.join(" ") 时,您会将其转回字符串;我不认为这是你想要做的
  • 这里不放指南针的图片,只放一个数据样本作为代码。此外,您是否还可以为此功能提供输入(例如 discord 命令)?
  • 加入 args.join("") 后,解析为整数 - parseInt(args)。并直接使用 args 而不是 args[0]
  • 请缩短代码以便我们更容易识别问题
  • pastebin.com/tZ9c8JQ9 完整代码

标签: javascript discord.js


【解决方案1】:

这是因为您只获取字符串的第一个字符。删除 args = args.join(" ") 并改为这样做:

var SelectBug = await BugScheme.findOne({ id: args.join("") })

【讨论】:

  • C:\Users\gemer\Downloads\discord-bug-trello\index.js:38 var SelectBug = await BugScheme.findOne({ id: args.join("") }) ^ TypeError : args.join 不是函数
  • @flameprofi 你还没有删除args = args.join(" "),是吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多