Vs 代码,没有使用 javascript 自动完成(discord.js)

问题描述 投票:0回答:3

所以我已经使用discord.js有一段时间了,但是每当我输入任何与discord相关的函数/对象时,智能感知命题就完全不相关或直接缺失。实在是太烦人了,又找不到原因。虽然它似乎在主文件(index.js)中工作

otherfile.js:

enter image description here

index.js:

enter image description here

可能是什么问题?

javascript discord.js visual-studio-code intellisense
3个回答
1
投票

我也遇到了完全相同的问题。是什么为我解决了这个问题? 实际上切换到 TypeScript。我将客户端类型设置为来自discord.js 的客户端,现在它可以正常工作了。我知道,这不是最简单的解决办法,但肯定是有效的。


0
投票

首先像这样导入客户端和CommandInteraction:

const { ApplicationCommandType, EmbedBuilder, Client, CommandInteraction } = require("discord.js");

然后在运行之前添加以下内容:

  /**
   * 
   * @param {Client} client - The Discord client instance
   * @param {CommandInteraction} interaction - The interaction object
   */

这是所有示例:

const { ApplicationCommandType, EmbedBuilder, Client, CommandInteraction } = require("discord.js");

module.exports = {
  name: "roll",
  description: "Roll a 6-sided dice and get a random number.",
  type: ApplicationCommandType.ChatInput,
  cooldown: 3000,

  /**
   * 
   * @param {Client} client - The Discord client instance
   * @param {CommandInteraction} interaction - The interaction object
   */ 
  run: async (client, interaction) => {
    const sides = 6; // Fixed to a 6-sided dice

    const result = Math.floor(Math.random() * sides) + 1;

    const embed = new EmbedBuilder()
      .setColor("Gold")
      .setTitle("Dice Roll")
      .setDescription(`You rolled a **${result}** on a 6-sided dice.`)
      .setFooter({
        text: `Requested by ${interaction.user.tag}`,
        iconURL: interaction.user.displayAvatarURL(),
      })
      .setTimestamp();
      
    await interaction.reply({ embeds: [embed] });
  },
};

-1
投票

这应该可以解决问题

在其他文件中,尝试添加这段代码

const { Client } = require("discord.js")

module.exports = {
/**
  * 
  * @param {Client} client
  */
}

您可以使用相应的参数导入其他类,例如

Message
(例如:
message
)。

如果您仍然感到困惑,请输入

client.
并同时按 CTRL + 空格键。这将带来选项的下拉菜单。

© www.soinside.com 2019 - 2024. All rights reserved.