TypeError: Cannot read properties of undefined (reading 'set') discord.js v13 slash commands handler
TypeError: Cannot read properties of undefined (reading 'set') discord.js v13 slash commands handler
我正在创建 Slash 命令处理程序,当我 运行 机器人收到此错误时:
Mainguild.SlashCommands.set(SlashComanndsArray).then(async (SlashCommand) => { TypeError: Cannot read properties of undefined (reading 'set')
这是代码:
client.on("ready", async () => {
const Mainguild = await client.guilds.cache.get("926674245357039657");
Mainguild.SlashCommands.set(SlashComanndsArray).then(async (SlashComanndsArray) => {
const Roles = (SlashCommandName) => {
const cmdPerms = SlashComanndsArray.find((c) => c.name === SlashCommandName).permission;
if(!cmdPerms) return null;
return Mainguild.roles.cache.filter((r) => r.permissions.has(cmdPerms));
};
const FullPermissions = SlashCommand.reduce((accumulator, r) => {
const roles = Roles(r.name);
if(!roles) return accumulator;
const permissions = roles.reduce((a, r) => {
return [...a, {id: r.id, type: "ROLE", permission: true}];
}, []);
return [...accumulator, {id: r.id, permissions}];
}, []);
await Mainguild.SlashCommands.permissions.set({ FullPermissions });
});
})
}
也定义了SlashComanndsArray
,SlashCommand
SlashCommands
是我用 client.SlashCommands = new Collection();
创建 ID index.js 的集合
完整代码:https://srcb.in/BX1Ko4LuXd
index.js : https://srcb.in/qFC57vTaSn
Mainguild.SlashCommands
显然是未定义的,因为 Guild.SlashCommands
不是 discord.js 中的东西
- 改用Guild#commands。
Mainguild.commands
- 您的
client.SlashCommands
仅限于您的 client
。您不能将它与 Guild
. 一起使用
我正在创建 Slash 命令处理程序,当我 运行 机器人收到此错误时:
Mainguild.SlashCommands.set(SlashComanndsArray).then(async (SlashCommand) => { TypeError: Cannot read properties of undefined (reading 'set')
这是代码:
client.on("ready", async () => {
const Mainguild = await client.guilds.cache.get("926674245357039657");
Mainguild.SlashCommands.set(SlashComanndsArray).then(async (SlashComanndsArray) => {
const Roles = (SlashCommandName) => {
const cmdPerms = SlashComanndsArray.find((c) => c.name === SlashCommandName).permission;
if(!cmdPerms) return null;
return Mainguild.roles.cache.filter((r) => r.permissions.has(cmdPerms));
};
const FullPermissions = SlashCommand.reduce((accumulator, r) => {
const roles = Roles(r.name);
if(!roles) return accumulator;
const permissions = roles.reduce((a, r) => {
return [...a, {id: r.id, type: "ROLE", permission: true}];
}, []);
return [...accumulator, {id: r.id, permissions}];
}, []);
await Mainguild.SlashCommands.permissions.set({ FullPermissions });
});
})
}
也定义了SlashComanndsArray
,SlashCommand
SlashCommands
是我用 client.SlashCommands = new Collection();
创建 ID index.js 的集合
完整代码:https://srcb.in/BX1Ko4LuXd
index.js : https://srcb.in/qFC57vTaSn
Mainguild.SlashCommands
显然是未定义的,因为Guild.SlashCommands
不是 discord.js 中的东西
- 改用Guild#commands。
Mainguild.commands
- 您的
client.SlashCommands
仅限于您的client
。您不能将它与Guild
. 一起使用