斜线命令未在控制台中列出 (discord.js)

Posted

技术标签:

【中文标题】斜线命令未在控制台中列出 (discord.js)【英文标题】:Slash commands not listing in console (discord.js) 【发布时间】:2021-06-25 01:26:28 【问题描述】:

我最近一直在使用 discord.js 来制作斜杠命令,但打错了。我没有让它说 /help,而是让它说 /hlep。我试图通过使用console.log(client.api.applications(client.user.id).commands.get()) 找到它的id,但它只是在控制台中说Promise <pending> ,我不知道该怎么办。

【问题讨论】:

没有看到完整的代码就不能使用,但是试试client.api.applications(client.user.id).commands.get().then(result => console.log(result)) 【参考方案1】:

由于client.api.applications(client.user.id).commands.get() 是asynchronous,它返回一个Promise 而不是一个对象。

来自 MDN:

Promise 是在创建 Promise 时不一定知道的值的代理。它允许您将处理程序与异步操作的最终成功值或失败原因相关联。

一个未决的承诺可以用一个值来实现,也可以用一个原因(错误)拒绝。

使用.then 函数,在 Promise 实现时运行代码:

client.api.applications(client.user.id).commands.get().then((result) => 
    console.log(result);
    // You may also put other code here to be run when it is fulfilled.
);

...或者像这样在异步函数中使用它:

let result = await client.api.applications(client.user.id).commands.get();
console.log(result);

【讨论】:

以上是关于斜线命令未在控制台中列出 (discord.js)的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 无法为斜线命令添加选项

Discord.js 斜线命令权限系统不起作用

Discord.js V13 使用斜线命令时添加角色

Discord.js 机器人未在 MessageEmbeds() 中加载图像 url,以前是

Discord.js 如何列出具有特定角色的所有成员的显示名称

为啥我收到 ReferenceError:AbortController 未在 Discord.js v13 中定义?