C# - DSharp 获取机器人(最高)角色的颜色
C# - DSharp getting color of the Bots (highest) Role
我正在努力做到这一点,因此当您调用交互嵌入时,左侧显示的线条与机器人最高角色颜色的颜色相同。 (真的是小细节,但出于某种原因我真的很想要它)
到目前为止,我只找到了 Javascript 版本 (discord.js) 的答案,但 none 找到了 DSharp 的答案。 https://dsharpplus.github.io/api 上的文档也无济于事。我尝试了以下方法:
ctx.Guild.GetMemberAsync(MY BOT ID).Color;
我在一台带有静态 ID 的测试服务器上这样做,只是想看看它是否能正常工作,至少在一台服务器上,但它没有。
接下来我尝试使用
ctx.Client.Guild.GetRole(MY BOT ROLE ID).Color;
这确实有效,但只能在一台服务器上使用一个角色。我希望它可以在具有任何角色的任何服务器上运行,以便获得颜色
我很茫然。请帮忙
相关代码大体:
public async Task join(CommandContext ctx)
{
DiscordColor botTopRoleColor = //help;
var Thumbnail = new DiscordEmbedBuilder.EmbedThumbnail { Url = ctx.Client.CurrentUser.AvatarUrl };
var joinEmbed = new DiscordEmbedBuilder
{
Title = "Head",
Description = "Body",
Thumbnail = Thumbnail,
Color = botTopRoleColor //(This should be the highest role color which i am trying to set in botTopRoleColor
}; ...
ctx.Guild.CurrentMember.Color
。如果这不起作用,您可能使用的是未启用适当意图的旧版本。
我正在努力做到这一点,因此当您调用交互嵌入时,左侧显示的线条与机器人最高角色颜色的颜色相同。 (真的是小细节,但出于某种原因我真的很想要它)
到目前为止,我只找到了 Javascript 版本 (discord.js) 的答案,但 none 找到了 DSharp 的答案。 https://dsharpplus.github.io/api 上的文档也无济于事。我尝试了以下方法:
ctx.Guild.GetMemberAsync(MY BOT ID).Color;
我在一台带有静态 ID 的测试服务器上这样做,只是想看看它是否能正常工作,至少在一台服务器上,但它没有。
接下来我尝试使用
ctx.Client.Guild.GetRole(MY BOT ROLE ID).Color;
这确实有效,但只能在一台服务器上使用一个角色。我希望它可以在具有任何角色的任何服务器上运行,以便获得颜色
我很茫然。请帮忙
相关代码大体:
public async Task join(CommandContext ctx)
{
DiscordColor botTopRoleColor = //help;
var Thumbnail = new DiscordEmbedBuilder.EmbedThumbnail { Url = ctx.Client.CurrentUser.AvatarUrl };
var joinEmbed = new DiscordEmbedBuilder
{
Title = "Head",
Description = "Body",
Thumbnail = Thumbnail,
Color = botTopRoleColor //(This should be the highest role color which i am trying to set in botTopRoleColor
}; ...
ctx.Guild.CurrentMember.Color
。如果这不起作用,您可能使用的是未启用适当意图的旧版本。