c# - C# - DSharp 获得 Bots(最高)角色的颜色
问题描述
我正在努力做到这一点,因此当您调用交互嵌入时,左侧显示的线条与机器人最高角色颜色相同。(真的是次要的细节,但出于某种原因我真的很想要它)
到目前为止,我只找到了 Javascript 版本(discord.js)的答案,但没有找到 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
. 如果这不起作用,您可能使用的是未启用适当意图的旧版本。
推荐阅读
- java - Tomcat 和解析 MultipartFile Upload 服务的问题
- mysql - 如何让 MySQL 在日期时间列上使用功能索引?
- php - 如果您未登录,PHP SESSION 不允许打开页面
- vim - 关闭 numlock 时正确重新映射 vim numpad 键
- reactjs - 如何使用 useState 声明一个字符串数组,然后在使用 Typescript 时对其进行更新?
- r - Rstudio IF 语句
- c# - 导航到 Xamarin Shell 中的特定顶部选项卡页
- twitter-bootstrap - boostrap 响应式照片网格在页面缩小时裁剪照片
- c++ - 如何在程序集 MSVC 中将字符串转换为 int
- node.js - 将节点应用部署到带有防火墙的 Google Cloud VM 中