Class BaseSocketClient
表示一个基于网关的客户端的抽象基类。
public abstract class BaseSocketClient : BaseKookClient, IKookClient, IDisposable
- Inheritance
-
BaseSocketClient
- Implements
- Derived
- Inherited Members
Fields
BaseConfig
获取此客户端使用的配置。
protected readonly KookSocketConfig BaseConfig
Field Value
Properties
CurrentUser
获取登录到此客户端的当前用户;如果未登录,则为 null
。
public virtual SocketSelfUser? CurrentUser { get; protected set; }
Property Value
Guilds
获取当前用户所在的所有服务器。
public abstract IReadOnlyCollection<SocketGuild> Guilds { get; }
Property Value
Latency
获取到网关服务器的往返延迟估计值(以毫秒为单位)。
public abstract int Latency { get; protected set; }
Property Value
Remarks
此往返估计值源于心跳包的延迟,不代表诸如发送消息等操作的真实延迟。
Rest
获取一个与此客户端共享状态的仅限于 REST 的客户端。
public abstract KookSocketRestClient Rest { get; }
Property Value
Methods
DownloadBoostSubscriptionsAsync(IEnumerable<IGuild>?, RequestOptions?)
下载全部或指定服务器的服务器助力信息到缓存中。
public abstract Task DownloadBoostSubscriptionsAsync(IEnumerable<IGuild>? guilds = null, RequestOptions? options = null)
Parameters
guilds
IEnumerable<IGuild>要下载服务器助力信息的服务器。如果为
null
,则下载所有可用的服务器。options
RequestOptions发送请求时要使用的选项。
Returns
Remarks
对于要下载服务器助力信息的服务器,当前用户在该服务器中必须具有 ManageGuild 权限。
DownloadUsersAsync(IEnumerable<IGuild>?, RequestOptions?)
下载全部或指定服务器的用户到缓存中。
public abstract Task DownloadUsersAsync(IEnumerable<IGuild>? guilds = null, RequestOptions? options = null)
Parameters
guilds
IEnumerable<IGuild>要下载用户的服务器。如果为
null
,则下载所有可用的服务器。options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步下载操作的任务。
DownloadVoiceStatesAsync(IEnumerable<IGuild>?, RequestOptions?)
下载全部或指定服务器的语音状态到缓存中。
public abstract Task DownloadVoiceStatesAsync(IEnumerable<IGuild>? guilds = null, RequestOptions? options = null)
Parameters
guilds
IEnumerable<IGuild>要下载语音状态的服务器。如果为
null
,则下载所有可用的服务器。options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步下载操作的任务。
GetChannel(ulong)
获取一个服务器频道。
public abstract SocketChannel? GetChannel(ulong id)
Parameters
id
ulong要获取的频道的 ID。
Returns
- SocketChannel
与指定的
id
关联的频道;如果未找到,则返回null
。
GetDMChannel(Guid)
获取一个私聊频道。
public abstract SocketDMChannel? GetDMChannel(Guid chatCode)
Parameters
chatCode
Guid私聊频道的聊天代码。
Returns
- SocketDMChannel
具有指定聊天代码的私聊频道;如果未找到,则返回
null
。
GetDMChannel(ulong)
获取一个私聊频道。
public abstract SocketDMChannel? GetDMChannel(ulong userId)
Parameters
userId
ulong私聊频道中另一位用户的 ID。
Returns
- SocketDMChannel
另一位用户具有指定用户 ID 的私聊频道;如果未找到,则返回
null
。
GetGuild(ulong)
获取一个服务器。
public abstract SocketGuild? GetGuild(ulong id)
Parameters
id
ulong要获取的服务器的 ID。
Returns
- SocketGuild
与指定的
id
关联的服务器;如果未找到,则返回null
。
GetUser(string, string)
获取用户。
public abstract SocketUser? GetUser(string username, string identifyNumber)
Parameters
Returns
- SocketUser
与指定的名称和识别号关联的用户;如果未找到,则返回
null
。
Remarks
此方法可能返回 null
,因为此方法仅会返回网关缓存中存在的用户,如果在当前 Bot
登录会话中,要获取的用户未引发过任何事件,那么该用户实体则不会存在于缓存中。
GetUser(ulong)
获取用户。
public abstract SocketUser? GetUser(ulong id)
Parameters
id
ulong要获取的用户的 ID。
Returns
- SocketUser
与指定的
id
关联的用户;如果未找到,则返回null
。
Remarks
此方法可能返回 null
,因为此方法仅会返回网关缓存中存在的用户,如果在当前 Bot
登录会话中,要获取的用户未引发过任何事件,那么该用户实体则不会存在于缓存中。
StartAsync()
启动客户端与 KOOK 之间的连接。
public abstract Task StartAsync()
Returns
- Task
一个表示异步启动操作的任务。
Remarks
当前方法会初始化客户端与 KOOK 之间的连接。
important
此方法会在调用后立即返回,因为它会在另一个线程上初始化连接。
StopAsync()
停止客户端与 KOOK 之间的连接。
public abstract Task StopAsync()
Returns
- Task
一个表示异步停止操作的任务。
Events
ChannelCreated
当服务器频道被创建时引发。
public event Func<SocketChannel, Task> ChannelCreated
Event Type
Remarks
事件参数:
- SocketChannel 参数是新创建的服务器频道。
ChannelDestroyed
当服务器频道被删除时引发。
public event Func<SocketChannel, Task> ChannelDestroyed
Event Type
Remarks
事件参数:
- SocketChannel 参数是被删除的服务器频道。
ChannelUpdated
当服务器频道信息被更新时引发。
public event Func<SocketChannel, SocketChannel, Task> ChannelUpdated
Event Type
Remarks
事件参数:
- SocketChannel 参数是更新前的服务器频道。
- SocketChannel 参数是更新后的服务器频道。
CurrentUserUpdated
当当前用户信息被更新时引发。
public event Func<SocketSelfUser, SocketSelfUser, Task> CurrentUserUpdated
Event Type
Remarks
事件参数:
- SocketSelfUser 参数是当前用户被更新前的状态。
- SocketSelfUser 参数是当前用户被更新后的状态。
DirectMessageButtonClicked
当用户点击私聊频道内的卡片消息按钮时引发。
public event Func<string, Cacheable<SocketUser, ulong>, Cacheable<IMessage, Guid>, SocketDMChannel, Task> DirectMessageButtonClicked
Event Type
Remarks
卡片消息中的按钮包含多种点击事件类型,当该类型为 ReturnValue
时,用户点击按钮后会引发此事件。
事件参数:
- string 参数是按钮的值。
- Cacheable<TEntity, TId> 参数是点击按钮的可缓存用户。如果缓存中存在此用户实体,那么该结构内包含该 Kook.SocketUser 用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- Cacheable<TEntity, TId> 参数是点击按钮所在的可缓存消息。如果缓存中存在此消息实体,那么该结构内包含该 IMessage 消息被更新后的状态;否则,包含 Guid 消息 ID,以供按需下载实体。
- SocketDMChannel 参数是点击按钮所在的私聊频道。
DirectMessageDeleted
当私聊频道内的消息被删除时引发。
public event Func<Cacheable<IMessage, Guid>, Cacheable<SocketUser, ulong>, Cacheable<SocketDMChannel, Guid>, Task> DirectMessageDeleted
Event Type
- Func<Cacheable<IMessage, Guid>, Cacheable<SocketUser, ulong>, Cacheable<SocketDMChannel, Guid>, Task>
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是被删除的可缓存消息。如果缓存中存在此消息实体,那么该结构内包含该
IMessage 被删除的消息;否则,包含 Guid 消息 ID。
important
消息被删除后无法通过 DownloadAsync() 方法下载。
- Cacheable<TEntity, TId> 参数是该消息的作者的可缓存用户。如果缓存中存在此用户实体,那么该结构内包含该 SocketUser 用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketTextChannel 参数是消息被删除前所在的服务器频道。
DirectMessageReceived
当接收到新的私聊消息时引发。
public event Func<SocketMessage, SocketUser, SocketDMChannel, Task> DirectMessageReceived
Event Type
Remarks
事件参数:
- SocketMessage 参数是新接收到的私聊消息。
- SocketUser 参数是发送消息的用户。
- SocketDMChannel 参数是消息所在的私聊频道。
DirectMessageUpdated
当私聊频道内的消息被更新时引发。
public event Func<Cacheable<IMessage, Guid>, Cacheable<IMessage, Guid>, Cacheable<SocketUser, ulong>, Cacheable<SocketDMChannel, Guid>, Task> DirectMessageUpdated
Event Type
- Func<Cacheable<IMessage, Guid>, Cacheable<IMessage, Guid>, Cacheable<SocketUser, ulong>, Cacheable<SocketDMChannel, Guid>, Task>
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是可缓存消息被更新前的状态。如果缓存中存在此消息实体,那么该结构内包含该
IMessage 消息被更新前的状态;否则,包含 Guid 消息 ID。
important
消息被更新前的状态无法通过 DownloadAsync() 方法下载。
- Cacheable<TEntity, TId> 参数是可缓存消息被更新后的状态。如果缓存中存在此消息实体,那么该结构内包含该 IMessage 消息被更新后的状态;否则,包含 Guid 消息 ID,以供按需下载实体。
- Cacheable<TEntity, TId> 参数是该消息的作者的可缓存用户。如果缓存中存在此用户实体,那么该结构内包含该 SocketUser 用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketDMChannel 参数是消息所在的私聊频道。
DirectReactionAdded
当私聊频道内的消息上被添加了新的回应时引发。
public event Func<Cacheable<IMessage, Guid>, Cacheable<SocketDMChannel, Guid>, Cacheable<SocketUser, ulong>, SocketReaction, Task> DirectReactionAdded
Event Type
- Func<Cacheable<IMessage, Guid>, Cacheable<SocketDMChannel, Guid>, Cacheable<SocketUser, ulong>, SocketReaction, Task>
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是被添加了回应的可缓存消息。如果缓存中存在此消息实体,那么该结构内包含该 IMessage 消息;否则,包含 Guid 消息 ID,以供按需下载实体。
- Cacheable<TEntity, TId> 参数是消息所在的可缓存私聊频道。如果缓存中存在此私聊频道实体,那么该结构内包含该 SocketDMChannel 私聊频道;否则,包含 Guid 私聊频道聊天代码,以供按需下载实体。
- Cacheable<TEntity, TId> 参数是添加了此回应的可缓存用户。如果缓存中存在此用户实体,那么该结构内包含该 SocketUser 用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketReaction 参数是被添加的回应。
DirectReactionRemoved
当私聊频道内的消息上存在的回应被用户移除时引发。
public event Func<Cacheable<IMessage, Guid>, Cacheable<SocketDMChannel, Guid>, Cacheable<SocketUser, ulong>, SocketReaction, Task> DirectReactionRemoved
Event Type
- Func<Cacheable<IMessage, Guid>, Cacheable<SocketDMChannel, Guid>, Cacheable<SocketUser, ulong>, SocketReaction, Task>
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是被移除了回应的可缓存消息。如果缓存中存在此消息实体,那么该结构内包含该 IMessage 消息;否则,包含 Guid 消息 ID,以供按需下载实体。
- Cacheable<TEntity, TId> 参数是消息所在的可缓存私聊频道。如果缓存中存在此私聊频道实体,那么该结构内包含该 SocketDMChannel 私聊频道;否则,包含 Guid 私聊频道聊天代码,以供按需下载实体。
- Cacheable<TEntity, TId> 参数是移除了此回应的可缓存用户。如果缓存中存在此用户实体,那么该结构内包含该 SocketUser 用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketReaction 参数是被移除的回应。
EmoteCreated
当服务器内的自定义表情被创建时引发。
public event Func<GuildEmote, SocketGuild, Task> EmoteCreated
Event Type
Remarks
事件参数:
- GuildEmote 参数是被创建的自定义表情。
- SocketGuild 参数是自定义表情所在的服务器。
EmoteDeleted
当服务器内的自定义表情被删除时引发。
public event Func<GuildEmote, SocketGuild, Task> EmoteDeleted
Event Type
Remarks
事件参数:
- GuildEmote 参数是被删除的自定义表情。
- SocketGuild 参数是自定义表情被删除前所在的服务器。
EmoteUpdated
当服务器内的自定义表情被更新时引发。
public event Func<GuildEmote?, GuildEmote, SocketGuild, Task> EmoteUpdated
Event Type
Remarks
事件参数:
- GuildEmote 参数是自定义表情被更新前的状态,如果缓存中不存在此自定义表情实体,则为 null。
- GuildEmote 参数是自定义表情被更新后的状态。
- SocketGuild 参数是自定义表情所在的服务器。
GuildAvailable
当服务器状态变更为可用时引发。
public event Func<SocketGuild, Task> GuildAvailable
Event Type
Remarks
服务器状态变更为可用,表示此服务器实体已完整缓存基础数据,并与网关同步。
缓存基础数据包括服务器基本信息、频道、角色、频道权限重写、当前用户在服务器内的昵称。
事件参数:
- SocketGuild 参数是服务器状态变更为可用的服务器。
GuildMemberOffline
当服务器用户的在线状态变更为离线时引发。
public event Func<IReadOnlyCollection<Cacheable<SocketGuildUser, ulong>>, DateTimeOffset, Task> GuildMemberOffline
Event Type
Remarks
事件参数:
- IReadOnlyCollection<T> 参数是所有此批次在线状态变更为离线的服务器用户。每个服务器用户都由一个 Cacheable<TEntity, TId> 表示。如果缓存中存在此服务器用户实体,那么该结构内包含该 SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- DateTimeOffset 参数是在线状态变更为离线的时间。
GuildMemberOnline
当服务器用户的在线状态变更为在线时引发。
public event Func<IReadOnlyCollection<Cacheable<SocketGuildUser, ulong>>, DateTimeOffset, Task> GuildMemberOnline
Event Type
Remarks
事件参数:
- IReadOnlyCollection<T> 参数是所有此批次在线状态变更为在线的服务器用户。每个服务器用户都由一个 Cacheable<TEntity, TId> 表示。如果缓存中存在此服务器用户实体,那么该结构内包含该 SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- DateTimeOffset 参数是在线状态变更为在线的时间。
GuildMemberUpdated
当服务器用户信息被更新时引发。
public event Func<Cacheable<SocketGuildUser, ulong>, Cacheable<SocketGuildUser, ulong>, Task> GuildMemberUpdated
Event Type
Remarks
事件参数:
- SocketGuildUser 参数是可缓存服务器用户被更新前的状态。如果缓存中存在此用户实体,那么该结构内包含该
SocketGuildUser 服务器用户被更新前的状态;否则,包含 ulong 用户 ID。
important
服务器用户被更新前的状态无法通过 DownloadAsync() 方法下载。
- Cacheable<TEntity, TId> 参数是可缓存服务器用户被更新后的状态。如果缓存中存在此用户实体,那么该结构内包含该 Kook.SocketGuildUser 用户被更新后的状态;否则,包含 ulong 用户 ID,以供按需下载实体。
GuildUnavailable
当服务器状态变更为不可用时引发。
public event Func<SocketGuild, Task> GuildUnavailable
Event Type
Remarks
服务器状态变更为不可用,表示此服务器实体丢失与网关的同步,所缓存的数据不可靠,这通常发生在服务器被删除、当前用户离开服务器、网关连接断开等情况。
事件参数:
- SocketGuild 参数是服务器状态变更为不可用的服务器。
GuildUpdated
当服务器信息被更新时引发。
public event Func<SocketGuild, SocketGuild, Task> GuildUpdated
Event Type
Remarks
事件参数:
- SocketGuild 参数是服务器信息被更新前的状态。
- SocketGuild 参数是服务器信息被更新后的状态。
JoinedGuild
当当前用户新加入服务器时引发。
public event Func<SocketGuild, Task> JoinedGuild
Event Type
Remarks
事件参数:
- SocketGuild 参数是当前用户新加入的服务器。
LeftGuild
当当前用户离开服务器时引发。
public event Func<SocketGuild, Task> LeftGuild
Event Type
Remarks
事件参数:
- SocketGuild 参数是当前用户离开的服务器。
MessageButtonClicked
当用户点击服务器频道内的卡片消息按钮时引发。
public event Func<string, Cacheable<SocketGuildUser, ulong>, Cacheable<IMessage, Guid>, SocketTextChannel, Task> MessageButtonClicked
Event Type
Remarks
卡片消息中的按钮包含多种点击事件类型,当该类型为 ReturnValue
时,用户点击按钮后会引发此事件。
事件参数:
- string 参数是按钮的值。
- Cacheable<TEntity, TId> 参数是点击按钮的可缓存服务器用户。如果缓存中存在此用户实体,那么该结构内包含该 Kook.SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- Cacheable<TEntity, TId> 参数是点击按钮所在的可缓存消息。如果缓存中存在此消息实体,那么该结构内包含该 IMessage 消息被更新后的状态;否则,包含 Guid 消息 ID,以供按需下载实体。
- SocketTextChannel 参数是点击按钮所在的服务器频道。
MessageDeleted
当服务器内的消息被删除时引发。
public event Func<Cacheable<IMessage, Guid>, SocketTextChannel, Task> MessageDeleted
Event Type
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是被删除的可缓存消息。如果缓存中存在此消息实体,那么该结构内包含该
IMessage 被删除的消息;否则,包含 Guid 消息 ID。
important
消息被删除后无法通过 DownloadAsync() 方法下载。
- SocketTextChannel 参数是消息被删除前所在的服务器频道。
MessagePinned
当服务器内的消息被置顶时引发。
public event Func<Cacheable<IMessage, Guid>, Cacheable<IMessage, Guid>, SocketTextChannel, Cacheable<SocketGuildUser, ulong>, Task> MessagePinned
Event Type
- Func<Cacheable<IMessage, Guid>, Cacheable<IMessage, Guid>, SocketTextChannel, Cacheable<SocketGuildUser, ulong>, Task>
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是可缓存消息被置顶前的状态。如果缓存中存在此消息实体,那么该结构内包含该
IMessage 消息被置顶前的状态;否则,包含 Guid 消息 ID。
important
消息被置顶前的状态无法通过 DownloadAsync() 方法下载。
- Cacheable<TEntity, TId> 参数是可缓存消息被置顶后的状态。如果缓存中存在此消息实体,那么该结构内包含该 IMessage 消息被置顶后的状态;否则,包含 Guid 消息 ID,以供按需下载实体。
- SocketTextChannel 参数是消息所在的服务器频道。
- Cacheable<TEntity, TId> 参数是置顶了该消息的可缓存服务器用户。如果缓存中存在此服务器用户实体,那么该结构内包含该 SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
MessageReceived
当接收到新的服务器消息时引发。
public event Func<SocketMessage, SocketGuildUser, SocketTextChannel, Task> MessageReceived
Event Type
Remarks
事件参数:
- SocketMessage 参数是新接收到的服务器消息。
- SocketGuildUser 参数是发送消息的服务器用户。
- SocketTextChannel 参数是消息所在的服务器频道。
MessageUnpinned
当服务器内的消息被取消置顶时引发。
public event Func<Cacheable<IMessage, Guid>, Cacheable<IMessage, Guid>, SocketTextChannel, Cacheable<SocketGuildUser, ulong>, Task> MessageUnpinned
Event Type
- Func<Cacheable<IMessage, Guid>, Cacheable<IMessage, Guid>, SocketTextChannel, Cacheable<SocketGuildUser, ulong>, Task>
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是可缓存消息被取消置顶前的状态。如果缓存中存在此消息实体,那么该结构内包含该
IMessage 消息被取消置顶前的状态;否则,包含 Guid 消息 ID。
important
消息被取消置顶前的状态无法通过 DownloadAsync() 方法下载。
- Cacheable<TEntity, TId> 参数是可缓存消息被取消置顶后的状态。如果缓存中存在此消息实体,那么该结构内包含该 IMessage 消息被取消置顶后的状态;否则,包含 Guid 消息 ID,以供按需下载实体。
- SocketTextChannel 参数是消息所在的服务器频道。
- Cacheable<TEntity, TId> 参数是取消置顶了该消息的可缓存服务器用户。如果缓存中存在此服务器用户实体,那么该结构内包含该 SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
MessageUpdated
当服务器内的消息被更新时引发。
public event Func<Cacheable<IMessage, Guid>, Cacheable<IMessage, Guid>, SocketTextChannel, Task> MessageUpdated
Event Type
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是可缓存消息被更新前的状态。如果缓存中存在此消息实体,那么该结构内包含该
IMessage 消息被更新前的状态;否则,包含 Guid 消息 ID。
important
消息被更新前的状态无法通过 DownloadAsync() 方法下载。
- Cacheable<TEntity, TId> 参数是可缓存消息被更新后的状态。如果缓存中存在此消息实体,那么该结构内包含该 IMessage 消息被更新后的状态;否则,包含 Guid 消息 ID,以供按需下载实体。
- SocketTextChannel 参数是消息所在的服务器频道。
ReactionAdded
当服务器内的消息上被添加了新的回应时引发。
public event Func<Cacheable<IMessage, Guid>, SocketTextChannel, Cacheable<SocketGuildUser, ulong>, SocketReaction, Task> ReactionAdded
Event Type
- Func<Cacheable<IMessage, Guid>, SocketTextChannel, Cacheable<SocketGuildUser, ulong>, SocketReaction, Task>
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是被添加了回应的可缓存消息。如果缓存中存在此消息实体,那么该结构内包含该 IMessage 消息;否则,包含 Guid 消息 ID,以供按需下载实体。
- SocketChannel 参数是消息所在的频道。
- Cacheable<TEntity, TId> 参数是添加了此回应的可缓存服务器用户。如果缓存中存在此服务器用户实体,那么该结构内包含该 SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketReaction 参数是被添加的回应。
ReactionRemoved
当服务器内的消息上存在的回应被用户移除时引发。
public event Func<Cacheable<IMessage, Guid>, SocketTextChannel, Cacheable<SocketGuildUser, ulong>, SocketReaction, Task> ReactionRemoved
Event Type
- Func<Cacheable<IMessage, Guid>, SocketTextChannel, Cacheable<SocketGuildUser, ulong>, SocketReaction, Task>
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是被移除了回应的可缓存消息。如果缓存中存在此消息实体,那么该结构内包含该 IMessage 消息;否则,包含 Guid 消息 ID,以供按需下载实体。
- SocketChannel 参数是消息所在的频道。
- Cacheable<TEntity, TId> 参数是移除了此回应的可缓存服务器用户。如果缓存中存在此服务器用户实体,那么该结构内包含该 SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketReaction 参数是被移除的回应。
RoleCreated
当服务器内的角色被创建时引发。
public event Func<SocketRole, Task> RoleCreated
Event Type
Remarks
事件参数:
- SocketRole 参数是被创建的角色。
RoleDeleted
当服务器内的角色被删除时引发。
public event Func<SocketRole, Task> RoleDeleted
Event Type
Remarks
事件参数:
- SocketRole 参数是被删除的角色。
RoleUpdated
当服务器内的角色被更新时引发。
public event Func<SocketRole, SocketRole, Task> RoleUpdated
Event Type
Remarks
事件参数:
- SocketRole 参数是角色被更新前的状态。
- SocketRole 参数是角色被更新后的状态。
UserBanned
当用户被服务器封禁时引发。
public event Func<IReadOnlyCollection<Cacheable<SocketUser, ulong>>, Cacheable<SocketGuildUser, ulong>, SocketGuild, string?, Task> UserBanned
Event Type
- Func<IReadOnlyCollection<Cacheable<SocketUser, ulong>>, Cacheable<SocketGuildUser, ulong>, SocketGuild, string, Task>
Remarks
事件参数:
- IReadOnlyCollection<T> 参数是所有此批次被封禁的用户。每个用户都由一个 Cacheable<TEntity, TId> 表示。如果缓存中存在此用户实体,那么该结构内包含该 SocketUser 用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- Cacheable<TEntity, TId> 参数是操作此批次封禁的可缓存服务器用户。如果缓存中存在此用户实体,那么该结构内包含该 SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketGuild 参数是封禁操作所在的服务器。
- string 参数是封禁的原因。
UserConnected
当服务器用户连接到语音频道时引发。
public event Func<Cacheable<SocketGuildUser, ulong>, SocketVoiceChannel, DateTimeOffset, Task> UserConnected
Event Type
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是连接到语音频道的可缓存服务器用户。如果缓存中存在此服务器用户实体,那么该结构内包含该 Kook.SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketVoiceChannel 参数是用户连接到的语音频道。
- DateTimeOffset 参数是用户连接到语音频道的时间。
UserDisconnected
当服务器用户从语音频道断开连接时引发。
public event Func<Cacheable<SocketGuildUser, ulong>, SocketVoiceChannel, DateTimeOffset, Task> UserDisconnected
Event Type
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是从语音频道断开连接的可缓存服务器用户。如果缓存中存在此服务器用户实体,那么该结构内包含该 Kook.SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketVoiceChannel 参数是用户断开连接的语音频道。
- DateTimeOffset 参数是用户断开连接的时间。
UserJoined
当用户加入服务器时引发。
public event Func<Cacheable<SocketGuildUser, ulong>, DateTimeOffset, Task> UserJoined
Event Type
Remarks
warning
有消息称,那么此事件不会在其成员数量超过 2000 人的服务器内被触发。
事件参数:
- Cacheable<TEntity, TId> 参数是加入服务器的可缓存服务器用户。如果缓存中存在此用户实体,那么该结构内包含该 SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- DateTimeOffset 参数是用户加入服务器的时间。
UserLeft
当用户离开服务器时引发。
public event Func<SocketGuild, Cacheable<SocketUser, ulong>, DateTimeOffset, Task> UserLeft
Event Type
Remarks
warning
有消息称,那么此事件不会在其成员数量超过 2000 人的服务器内被触发。
事件参数:
- SocketGuild 参数是用户离开的服务器。
- Cacheable<TEntity, TId> 参数是离开服务器的可缓存用户。如果缓存中存在此用户实体,那么该结构内包含该 SocketUser 用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- DateTimeOffset 参数是用户加入服务器的时间。
UserUnbanned
当用户在服务器内的封禁被解除时引发。
public event Func<IReadOnlyCollection<Cacheable<SocketUser, ulong>>, Cacheable<SocketGuildUser, ulong>, SocketGuild, Task> UserUnbanned
Event Type
- Func<IReadOnlyCollection<Cacheable<SocketUser, ulong>>, Cacheable<SocketGuildUser, ulong>, SocketGuild, Task>
Remarks
事件参数:
- IReadOnlyCollection<T> 参数是所有此批次被解除封禁的用户。每个用户都由一个 Cacheable<TEntity, TId> 表示。如果缓存中存在此用户实体,那么该结构内包含该 SocketUser 用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- Cacheable<TEntity, TId> 参数是操作此批次解除封禁的可缓存服务器用户。如果缓存中存在此用户实体,那么该结构内包含该 SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketGuild 参数是解除封禁操作所在的服务器。
UserUpdated
当用户信息被更新时引发。
public event Func<Cacheable<SocketUser, ulong>, Cacheable<SocketUser, ulong>, Task> UserUpdated
Event Type
- Func<Cacheable<SocketUser, ulong>, Cacheable<SocketUser, ulong>, Task>
Remarks
当用户的用户名或头像变更,且该用户与当前用户存在聊天会话或互为好友时,此事件会被引发。
事件参数:
- Cacheable<TEntity, TId> 参数是可缓存用户被更新前的状态。如果缓存中存在此用户实体,那么该结构内包含该
SocketUser 用户被更新前的状态;否则,包含 ulong 用户 ID。
important
用户被更新前的状态无法通过 DownloadAsync() 方法下载。
- Cacheable<TEntity, TId> 参数是可缓存用户被更新后的状态。如果缓存中存在此用户实体,那么该结构内包含该 Kook.SocketUser 用户被更新后的状态;否则,包含 ulong 用户 ID,以供按需下载实体。
UserVoiceStateUpdated
当服务器用户的语音状态发生变化时引发。
public event Func<Cacheable<SocketGuildUser, ulong>, SocketVoiceState, SocketVoiceState, Task> UserVoiceStateUpdated
Event Type
Remarks
事件参数:
- Cacheable<TEntity, TId> 参数是其语音状态发生变化的可缓存服务器用户。如果缓存中存在此服务器用户实体,那么该结构内包含该 Kook.SocketGuildUser 服务器用户;否则,包含 ulong 用户 ID,以供按需下载实体。
- SocketVoiceState 参数是用户语音状态变更前的状态。
- SocketVoiceState 参数是用户语音状态变更后的状态。