在 DSharpPlus 中将机器人命令限制为特定角色/用户的最佳方法是什么?

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

我正在使用 DSharpPlus 构建 Discord 机器人。我想要一些命令,例如

!status
对每个人/所有角色都可用。但我希望其他命令,如
!start
仅限于某些角色/用户。

我发现这篇文章讨论了一点。如果我使用

AddRoleAsync
,它会保存对Discord服务器的权限吗?如何让机器人加入服务器但只允许某些角色/用户使用某些命令?另外,我可以限制机器人只加入某些频道吗?像管理员/模组频道?

谢谢

discord permissions bots limit dsharp+
1个回答
0
投票

如果你使用 Dsharpplus.CommandsNext.Attributes 这实际上非常简单!

您可以为您的代码分配一个属性,如下所示,这需要您拥有 Discord 管理员权限才能使用此命令。

[Command("greet")]
[RequirePermissions(DSharpPlus.Permissions.Administrator)]
public async Task GreetCommand(CommandContext ctx)
{
    await ctx.RespondAsync("Greetings! Thank you for executing me!");
}

DSharpPlus下有很多属性。权限可以用来自定义控制谁可以使用命令,但是注意

All
None
是字面意思,你要么需要所有的权限(服务器所有者) 或没有权限。

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