所以我已经使用discord.js有一段时间了,但是每当我输入任何与discord相关的函数/对象时,智能感知命题就完全不相关或直接缺失。实在是太烦人了,又找不到原因。虽然它似乎在主文件(index.js)中工作
otherfile.js:
index.js:
可能是什么问题?
我也遇到了完全相同的问题。是什么为我解决了这个问题? 实际上切换到 TypeScript。我将客户端类型设置为来自discord.js 的客户端,现在它可以正常工作了。我知道,这不是最简单的解决办法,但肯定是有效的。
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] }); }, };
这应该可以解决问题
在其他文件中,尝试添加这段代码
const { Client } = require("discord.js") module.exports = { /** * * @param {Client} client */ }
您可以使用相应的参数导入其他类,例如
Message
(例如:message
)。
如果您仍然感到困惑,请输入
client.
并同时按 CTRL + 空格键。这将带来选项的下拉菜单。