Class SocketRole
表示一个基于网关的可授予服务器用户的角色。
public class SocketRole : SocketEntity<uint>, IRole, IEntity<uint>, IDeletable, IMentionable, IComparable<IRole>
- Inheritance
-
SocketRole
- Implements
- Inherited Members
Properties
Color
获取此角色的颜色。
public Color Color { get; }
Property Value
Remarks
如果此用户所拥有的最高角色的颜色类型为渐变色,则此属性返回的颜色是渐变色权益失效后的回退颜色。
ColorType
获取此角色的颜色类型。
public ColorType ColorType { get; }
Property Value
GradientColor
获取此角色的渐变色。
public GradientColor? GradientColor { get; }
Property Value
Remarks
Guild
获取拥有此角色的服务器。
public SocketGuild Guild { get; }
Property Value
IsEveryone
获取此角色是否为 @全体成员
角色。
public bool IsEveryone { get; }
Property Value
IsHoisted
获取拥有此角色的用户是否在用户列表中与普通在线成员分开显示。
public bool IsHoisted { get; }
Property Value
IsMentionable
获取是否允许任何人提及此角色。
public bool IsMentionable { get; }
Property Value
KMarkdownMention
返回一个用于在 KMarkdown 格式文本中提及此对象的格式化字符串。
public string KMarkdownMention { get; }
Property Value
Name
获取此角色的名称。
public string Name { get; }
Property Value
Permissions
获取此角色拥有的权限。
public GuildPermissions Permissions { get; }
Property Value
PlainTextMention
获取一个用于在纯文本格式文本中提及此对象的格式化字符串。
public string PlainTextMention { get; }
Property Value
Position
获取此角色在服务器角色列表中的位置。
public int Position { get; }
Property Value
Remarks
更小的数值表示更靠近列表顶部的位置。
Type
获取此角色的类型。
public RoleType Type { get; }
Property Value
Methods
CompareTo(IRole?)
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
public int CompareTo(IRole? role)
Parameters
role
IRole
Returns
- int
A value that indicates the relative order of the objects being compared. The return value has these meanings:
Value Meaning Less than zero This instance precedes other
in the sort order.Zero This instance occurs in the same position in the sort order as other
.Greater than zero This instance follows other
in the sort order.
DeleteAsync(RequestOptions?)
删除此对实体象及其所有子实体对象。
public Task DeleteAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
GetUsersAsync(RequestOptions?)
获取拥有此角色的用户的集合。
public IAsyncEnumerable<IReadOnlyCollection<SocketGuildUser>> GetUsersAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- IAsyncEnumerable<IReadOnlyCollection<SocketGuildUser>>
分页的用户集合的异步可枚举对象。
Remarks
important
返回的集合是一个异步可枚举对象;调用 FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>) 可以异步枚举所有分页,并将其合并为一个集合。
warning
请勿一次性获取过多消息,这可能会导致抢占式速率限制,甚至触发实际的速率限制,从而导致 Bot 服务暂停。
此方法将尝试获取拥有此角色的所有服务器用户。此方法会根据 MaxUsersPerBatch 将请求拆分。换句话说,如果存在 500 个用户拥有此角色,而 MaxUsersPerBatch 的常量为
50
,则请求将被拆分为 10 个单独请求,因此异步枚举器会异步枚举返回 10 个响应。
FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>)
方法可以展开这 10 个响应返回的集合,并将其合并为一个集合。
ModifyAsync(Action<RoleProperties>, RequestOptions?)
修改此角色。
public Task ModifyAsync(Action<RoleProperties> func, RequestOptions? options = null)
Parameters
func
Action<RoleProperties>一个包含修改角色属性的委托。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步修改操作的任务。
Remarks
此方法使用指定的属性修改当前角色信息。要查看可用的属性,请参考 RoleProperties。
ToString()
获取此角色的名称。
public override string ToString()