Class RestGuildUser
表示一个基于 REST 的服务器用户。
public class RestGuildUser : RestUser, IUpdateable, IGuildUser, IUser, IEntity<ulong>, IMentionable, IPresence, IVoiceState
- Inheritance
-
RestGuildUser
- Implements
- Inherited Members
- Extension Methods
Properties
ActiveAt
获取此用户在该服务器内的最近活跃时间。
public DateTimeOffset? ActiveAt { get; }
Property Value
Color
获取此用户的显示名称的颜色。
public Color? Color { get; }
Property Value
Remarks
如果此用户所拥有的最高角色的颜色类型为渐变色,则此属性返回的颜色是渐变色权益失效后的回退颜色。
warning
一个角色的颜色可能是纯色或渐变色,参见 ColorType。但由于服务器用户列表 API 及服务器用户详情 API 所返回的用户信息均不包含角色的颜色类型和渐变色信息,因此,如果用户的最高角色的颜色是渐变色, 则此属性的值可能是不正确的。如需获取该用户的准确的显示名称及颜色,请获取此用户的最高角色实体对象,访问其颜色类型及渐变色属性。
if (guildUser.RoleIds.Select(x => guildUser.Guild.GetRole(x)).OfType<IRole>().MinBy(x => x.Position) is { } topRole)
{
ColorType colorType = topRole.ColorType;
GradientColor? gradientColor = topRole.GradientColor;
}
DisplayName
获取此用户的显示名称。
public string DisplayName { get; }
Property Value
Remarks
如果此用户在该服务器内设置了昵称,则此属性返回昵称;否则返回用户名。
Guild
获取此服务器用户所属的服务器。
public IGuild Guild { get; }
Property Value
GuildId
获取此用户所属服务器的 ID。
public ulong GuildId { get; }
Property Value
GuildPermissions
获取此用户在该服务器内的权限。
public GuildPermissions GuildPermissions { get; }
Property Value
Exceptions
- InvalidOperationException
解析服务器用户的权限需要所属服务器的基础数据已完整下载。
IsMobileVerified
获取此用户的手机号码是否已验证。
public bool? IsMobileVerified { get; }
Property Value
- bool?
IsOwner
获取此用户是否为当前服务器的所有者。
public bool? IsOwner { get; }
Property Value
- bool?
JoinedAt
获取此用户加入服务器的时间。
public DateTimeOffset? JoinedAt { get; }
Property Value
Nickname
获取此用户在该服务器内的昵称。
public string? Nickname { get; }
Property Value
Remarks
如果此用户在该服务器内没有设置昵称,则此属性返回 null。
PlainTextMention
获取一个用于在纯文本格式文本中提及此对象的格式化字符串。
public string PlainTextMention { get; }
Property Value
RoleIds
获取此用户在该服务器内拥有的所有角色的 ID。
public IReadOnlyCollection<uint> RoleIds { get; }
Property Value
Remarks
此属性返回此用户所拥有的所有角色的 ID。对于 WebSocket 服务器用户实体,Roles
属性可以用来获取所有角色对象;对于 REST
服务器用户实体,受限于 KOOK API,在服务器用户实体上仅能直接获取其所拥有的所有角色的 ID。
Methods
AddRoleAsync(IRole, RequestOptions?)
在该服务器内授予此用户指定的角色。
public Task AddRoleAsync(IRole role, RequestOptions? options = null)
Parameters
role
IRole要在该服务器内为此用户授予的角色。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步授予操作的任务。
AddRoleAsync(uint, RequestOptions?)
在该服务器内授予此用户指定的角色。
public Task AddRoleAsync(uint roleId, RequestOptions? options = null)
Parameters
roleId
uint要在该服务器内为此用户授予的角色的 ID。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步授予操作的任务。
AddRolesAsync(IEnumerable<IRole>, RequestOptions?)
在该服务器内授予此用户指定的一些角色。
public Task AddRolesAsync(IEnumerable<IRole> roles, RequestOptions? options = null)
Parameters
roles
IEnumerable<IRole>要在该服务器内为此用户授予的所有角色。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步授予操作的任务。
AddRolesAsync(IEnumerable<uint>, RequestOptions?)
在该服务器内授予此用户指定的一些角色。
public Task AddRolesAsync(IEnumerable<uint> roleIds, RequestOptions? options = null)
Parameters
roleIds
IEnumerable<uint>要在该服务器内为此用户授予的所有角色的 ID。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步授予操作的任务。
DeafenAsync(RequestOptions?)
在该服务器内限制此用户的语音接收。
public Task DeafenAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步静音操作的任务。
Remarks
此操作会使此用户无法在该服务器内的语音频道中接收来自其他用户的语音。
GetBoostSubscriptionsAsync(RequestOptions?)
获取此用户在该服务器内的所有服务器助力包订阅信息。
public Task<IReadOnlyCollection<BoostSubscriptionMetadata>> GetBoostSubscriptionsAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task<IReadOnlyCollection<BoostSubscriptionMetadata>>
一个表示异步获取操作的任务。任务的结果包含此用户在该服务器内的所有服务器助力包订阅信息。
GetConnectedVoiceChannelsAsync(RequestOptions?)
获取此用户当前所连接到的所有语音频道。
public Task<IReadOnlyCollection<IVoiceChannel>> GetConnectedVoiceChannelsAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task<IReadOnlyCollection<IVoiceChannel>>
一个表示异步获取操作的任务。任务的结果包含此用户当前所连接到的所有语音频道。
GetPermissions(IGuildChannel)
获取此用户在指定频道内所拥有的权限。
public ChannelPermissions GetPermissions(IGuildChannel channel)
Parameters
channel
IGuildChannel要获取权限的频道。
Returns
- ChannelPermissions
一个表示此用户在指定频道内所拥有的频道权限的权限集。
KickAsync(RequestOptions?)
将此用户从此服务器中踢出。
public Task KickAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步踢出操作的任务。
ModifyNicknameAsync(string?, RequestOptions?)
修改此用户在该服务器内的昵称。
public Task ModifyNicknameAsync(string? name, RequestOptions? options = null)
Parameters
name
string要设置到此用户在该服务器内的新昵称。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步修改操作的任务。
Remarks
此方法使用指定的属性修改当前用户在该服务器内的昵称。
如要清除此用户在该服务器内的昵称,请将 name
设置为 null。
warning
如果将昵称设置为与用户名相同,KOOK 也会将该用户在此服务器内的昵称清除,显示名称将跟随用户名,而不是固定为指定的昵称。
MuteAsync(RequestOptions?)
在该服务器内关闭此用户的语音输入。
public Task MuteAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步关闭操作的任务。
Remarks
此操作会使此用户无法在该服务器内的语音频道中发言。
RemoveRoleAsync(IRole, RequestOptions?)
在该服务器内撤销此用户指定的角色。
public Task RemoveRoleAsync(IRole role, RequestOptions? options = null)
Parameters
role
IRole要在该服务器内为此用户撤销的角色。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步撤销操作的任务。
RemoveRoleAsync(uint, RequestOptions?)
在该服务器内撤销此用户指定的角色。
public Task RemoveRoleAsync(uint roleId, RequestOptions? options = null)
Parameters
roleId
uint要在该服务器内为此用户撤销的角色的 ID。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步撤销操作的任务。
RemoveRolesAsync(IEnumerable<IRole>, RequestOptions?)
在该服务器内撤销此用户指定的一些角色。
public Task RemoveRolesAsync(IEnumerable<IRole> roles, RequestOptions? options = null)
Parameters
roles
IEnumerable<IRole>要在该服务器内为此用户撤销的所有角色。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步撤销操作的任务。
RemoveRolesAsync(IEnumerable<uint>, RequestOptions?)
在该服务器内撤销此用户指定的一些角色。
public Task RemoveRolesAsync(IEnumerable<uint> roleIds, RequestOptions? options = null)
Parameters
roleIds
IEnumerable<uint>要在该服务器内为此用户撤销的所有角色的 ID。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步撤销操作的任务。
RequestFriendAsync(RequestOptions?)
向此用户发送好友请求。
public override Task RequestFriendAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步发送操作的任务。
UndeafenAsync(RequestOptions?)
在该服务器内恢复此用户的语音接收。
public Task UndeafenAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步恢复操作的任务。
Remarks
此操作会撤销由于服务器静音而导致的无法在语音频道中接收来自其他用户的语音的状态。
UnmuteAsync(RequestOptions?)
在该服务器内恢复此用户的语音输入。
public Task UnmuteAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步恢复操作的任务。
Remarks
此操作会撤销由于服务器闭麦而导致的在语音频道中无法发言状态。
UpdateAsync(RequestOptions?)
通过 REST API 获取此实体对象的最新状态,并替换当前对象的属性。
public override Task UpdateAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步更新操作的任务。
Remarks
warning
此方法将从 KOOK REST API 获取最新数据,并替换当前对象的属性,而非使用指定的属性修改 KOOK 服务端的数据。