Class SocketGuildChannel
表示一个基于网关的服务器频道。
public class SocketGuildChannel : SocketChannel, IUpdateable, IGuildChannel, IChannel, IEntity<ulong>, IDeletable
- Inheritance
-
SocketGuildChannel
- Implements
- Derived
- Inherited Members
- Extension Methods
Properties
Creator
获取创建此频道的用户。
public SocketGuildUser? Creator { get; }
Property Value
Remarks
此属性会尝试从缓存的用户列表中获取此频道的创建者。如果用户不是此服务器的成员,或该用户不在本地缓存的用户列表中,则此属性将返回
null
。在这种情况下,可以尝试通过
GetUserAsync(ulong, CacheMode, RequestOptions?)
获取指定的用户信息。
CreatorId
获取创建此频道的用户的 ID。
public ulong? CreatorId { get; }
Property Value
Guild
获取此频道所属的服务器。
public SocketGuild Guild { get; }
Property Value
Name
获取此频道的名称。
public string Name { get; }
Property Value
Position
获取此频道在服务器频道列表中的位置。
public int? Position { get; }
Property Value
- int?
Remarks
更小的数值表示更靠近列表顶部的位置。
RolePermissionOverwrites
获取此频道的角色的权限重写集合。
public IReadOnlyCollection<RolePermissionOverwrite> RolePermissionOverwrites { get; }
Property Value
Type
获取此频道的类型。
public ChannelType Type { get; }
Property Value
UserPermissionOverwrites
获取此频道的用户的权限重写集合。
public IReadOnlyCollection<UserPermissionOverwrite> UserPermissionOverwrites { get; }
Property Value
Users
获取用户缓存列表中的可以访问此频道的所有用户。
public virtual IReadOnlyCollection<SocketGuildUser> Users { get; }
Property Value
Remarks
此属性仅会返回缓存中可以访问此频道的所有用户,如果未启用用户列表缓存,或者由于网关事件确实导致本地缓存不同步,此属性所返回的用户列表可能不准确。
Methods
AddPermissionOverwriteAsync(IGuildUser, RequestOptions?)
添加给定用户的权限重写配置。
public Task AddPermissionOverwriteAsync(IGuildUser user, RequestOptions? options = null)
Parameters
user
IGuildUser要添加权限重写配置的用户。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步添加频道内用户权限重写配置操作的任务。
AddPermissionOverwriteAsync(IRole, RequestOptions?)
添加给定角色的权限重写配置。
public Task AddPermissionOverwriteAsync(IRole role, RequestOptions? options = null)
Parameters
role
IRole要添加权限重写配置的角色。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步添加频道内角色权限重写配置操作的任务。
DeleteAsync(RequestOptions?)
删除此对实体象及其所有子实体对象。
public Task DeleteAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
GetPermissionOverwrite(IRole)
获取给定角色的权限重写配置。
public virtual OverwritePermissions? GetPermissionOverwrite(IRole role)
Parameters
role
IRole要获取权限重写配置的角色。
Returns
- OverwritePermissions?
一个表示目标角色的权限重写配置;如果没有设置则为
null
。
GetPermissionOverwrite(IUser)
获取给定用户的权限重写配置。
public virtual OverwritePermissions? GetPermissionOverwrite(IUser user)
Parameters
user
IUser要获取权限重写配置的用户。
Returns
- OverwritePermissions?
一个表示目标用户的权限重写配置;如果没有设置则为
null
。
GetUser(ulong)
获取此频道中的一个服务器用户。
public virtual SocketGuildUser? GetUser(ulong id)
Parameters
id
ulong要获取的服务器用户的 ID。
Returns
- SocketGuildUser
如果找到了具有指定 ID 的服务器用户,则返回该用户;否则返回
null
。
ModifyAsync(Action<ModifyGuildChannelProperties>, RequestOptions?)
修改此服务器频道。
public Task ModifyAsync(Action<ModifyGuildChannelProperties> func, RequestOptions? options = null)
Parameters
func
Action<ModifyGuildChannelProperties>一个包含修改服务器频道属性的委托。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示服务器频道属性修改操作的异步任务。
- See Also
ModifyPermissionOverwriteAsync(IGuildUser, Func<OverwritePermissions, OverwritePermissions>, RequestOptions?)
更新给定用户的权限重写配置。
public Task ModifyPermissionOverwriteAsync(IGuildUser user, Func<OverwritePermissions, OverwritePermissions> func, RequestOptions? options = null)
Parameters
user
IGuildUser要更新权限重写配置的用户。
func
Func<OverwritePermissions, OverwritePermissions>一个包含修改权限重写配置的委托。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步更新频道内用户权限重写配置操作的任务。
ModifyPermissionOverwriteAsync(IRole, Func<OverwritePermissions, OverwritePermissions>, RequestOptions?)
更新给定角色的权限重写配置。
public Task ModifyPermissionOverwriteAsync(IRole role, Func<OverwritePermissions, OverwritePermissions> func, RequestOptions? options = null)
Parameters
role
IRole要更新权限重写配置的角色。
func
Func<OverwritePermissions, OverwritePermissions>一个包含修改权限重写配置的委托。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步更新频道内角色权限重写配置操作的任务。
RemovePermissionOverwriteAsync(IGuildUser, RequestOptions?)
对于给定的用户,如果存在权限重写配置,则移除它。
public Task RemovePermissionOverwriteAsync(IGuildUser user, RequestOptions? options = null)
Parameters
user
IGuildUser要对其移除权限重写配置的用户。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步移除频道内用户权限重写配置操作的任务。
RemovePermissionOverwriteAsync(IRole, RequestOptions?)
对于给定的角色,如果存在权限重写配置,则移除它。
public Task RemovePermissionOverwriteAsync(IRole role, RequestOptions? options = null)
Parameters
role
IRole要对其移除权限重写配置的角色。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步移除频道内角色权限重写配置操作的任务。
ToString()
获取此频道的名称。
public override string ToString()
Returns
UpdateAsync(RequestOptions?)
通过 REST API 获取此实体对象的最新状态,并替换当前对象的属性。
public override Task UpdateAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步更新操作的任务。
Remarks
warning
此方法将从 KOOK REST API 获取最新数据,并替换当前对象的属性,而非使用指定的属性修改 KOOK 服务端的数据。