我正在研究discord.js的指南,但是当我尝试为斜杠命令设置权限时,我一直得到SyntaxError:等待仅在异步函数和模块的顶层主体中有效。不确定我是否遗漏了一些东西,或者它是否简单,因为我对此并不熟悉,但我无法找到解决方案。
这是我试图使用的指南中的代码
if (!client.application?.owner) await client.application?.fetch();
const command = await client.guilds.cache.get('123456789012345678')?.commands.fetch('876543210987654321');
const permissions = [
{
id: '224617799434108928',
type: 'USER',
permission: false,
},
];
await command.permissions.add({ permissions });发布于 2022-03-26 01:39:09
如果还没有,则需要将await封装到async-marked函数中。
试试下面的代码!
// Change the name of the function to whatever name you want!
const discordFetchData = async () => {
if (!client.application?.owner) await client.application?.fetch();
const command = await client.guilds.cache.get('123456789012345678')?.commands.fetch('876543210987654321');
const permissions = [
{
id: '224617799434108928',
type: 'USER',
permission: false,
},
];
await command.permissions.add({ permissions });
};
discordFetchData();上面的代码将使您基本了解如何处理代码(将其包装在async函数中)。
您还可以将该函数设置为自调用、匿名、异步函数,如下所示.
(async () => {
if (!client.application?.owner) await client.application?.fetch();
const command = await client.guilds.cache.get('123456789012345678')?.commands.fetch('876543210987654321');
const permissions = [
{
id: '224617799434108928',
type: 'USER',
permission: false,
},
];
await command.permissions.add({ permissions });
})();最后,这两种解决方案都会奏效!
有关更多信息,请访问async function - JavaScript | MDN。
发布于 2022-03-26 01:30:01
我意识到我没有把它放在一个函数里,我不知道我是怎么错过的,但我想我真的需要休息一下,因为我刚吃完它就得到了它。
发布于 2022-03-26 01:36:44
你也可以试试这个:
(async function(){
if (!client.application?.owner) await client.application?.fetch();
//And more await calls...
})();https://stackoverflow.com/questions/71624471
复制相似问题