首页 > 解决方案 > Discord Node JS TypeError:args.slice 不是函数

问题描述

我正在尝试编写我的不和谐 js 机器人,我正在更新我的命令处理程序,并使用我的 hastebin 命令使用 args,它说 args.slice 不是一个函数,但它已经在手头工作了。这是我当前的代码:


    module.exports = {
        config: {
            name: `hastebin`,
            description: 'Sends pinging... => pong latency',
            usage: "hastbin <extension (js, ts, ...)> <code>",
            aliases: [`hastebin`, `hastebingen`],
        },
        run: async (message, args) => {
    const extension = args[0];
    const code = args.slice(1).join(" ");

    if (!args.length) {
      return message.channel.send(
        "Please write your text or code to generate hastebin link"
      );
    }
    if(message && message.deletable) message.delete().catch(e => {});
    try {
      const haste = await hastebin(`${code}`, { extension: `${extension}` });

      message.channel.send(haste);
    } catch (e) {
      return message.channel.send(
        "Something went wrong, Please try again later."
      );
    }
  },
}; 

如果有人有修复请评论:)))

标签: args

解决方案


上面使用的slice语句需要一个起始索引和一个结束索引。并且该变量args是一个数组(或者我相信),因此您不能joinsliced 数组上使用语句,因为该slice语句为您提供了一个数组作为结果,而该join语句用于字符串。因此,如果您尝试将元素添加到数组的末尾,请使用该push()语句。


推荐阅读