Table of Contents

Interface ISocketMessageChannel

Namespace
Kook.WebSocket
Assembly
Kook.Net.WebSocket.dll

表示一个基于网关的消息频道,可以用来发送和接收消息。

public interface ISocketMessageChannel : IMessageChannel, IChannel, IEntity<ulong>
Inherited Members
Extension Methods

Properties

CachedMessages

获取此频道缓存的所有消息。

IReadOnlyCollection<SocketMessage> CachedMessages { get; }

Property Value

IReadOnlyCollection<SocketMessage>

Remarks

warning

要想通过此属性获取缓存的消息,需要启用缓存功能,否则此属性将始终返回空集合。缓存功能是默认禁用的,要想启用缓存,请参考 MessageCacheSize


此属性从本地的内存缓存中获取消息实体,不会向 KOOK 发送额外的 API 请求。所获取的消息也可能是已经被删除的消息。

Methods

GetCachedMessage(Guid)

获取此频道缓存的消息。

SocketMessage? GetCachedMessage(Guid id)

Parameters

id Guid

消息的 ID。

Returns

SocketMessage

如果获取到了缓存的消息,则返回该消息实体;否则返回 null

Remarks

warning

要想通过此方法获取缓存的消息,需要启用缓存功能,否则此方法将始终返回 null。缓存功能是默认禁用的,要想启用缓存,请参考 MessageCacheSize


此方法从本地的内存缓存中获取消息实体,不会向 KOOK 发送额外的 API 请求。所获取的消息也可能是已经被删除的消息。

GetCachedMessages(IMessage, Direction, int)

获取此频道缓存的多条消息。

IReadOnlyCollection<SocketMessage> GetCachedMessages(IMessage referenceMessage, Direction dir, int limit = 50)

Parameters

referenceMessage IMessage

要开始获取消息的参考位置的消息。

dir Direction

要以参考位置为基准,获取消息的方向。

limit int

要获取的消息数量。

Returns

IReadOnlyCollection<SocketMessage>

获取到的多条缓存消息。

Remarks

warning

要想通过此方法获取缓存的消息,需要启用缓存功能,否则此方法将始终返回空集合。缓存功能是默认禁用的,要想启用缓存,请参考 MessageCacheSize


此方法从本地的内存缓存中获取消息实体,不会向 KOOK 发送额外的 API 请求。所获取的消息也可能是已经被删除的消息。

GetCachedMessages(Guid, Direction, int)

获取此频道缓存的多条消息。

IReadOnlyCollection<SocketMessage> GetCachedMessages(Guid referenceMessageId, Direction dir, int limit = 50)

Parameters

referenceMessageId Guid

要开始获取消息的参考位置的消息的 ID。

dir Direction

要以参考位置为基准,获取消息的方向。

limit int

要获取的消息数量。

Returns

IReadOnlyCollection<SocketMessage>

获取到的多条缓存消息。

Remarks

warning

要想通过此方法获取缓存的消息,需要启用缓存功能,否则此方法将始终返回空集合。缓存功能是默认禁用的,要想启用缓存,请参考 MessageCacheSize


此方法从本地的内存缓存中获取消息实体,不会向 KOOK 发送额外的 API 请求。所获取的消息也可能是已经被删除的消息。

GetCachedMessages(int)

获取此频道缓存的多条消息。

IReadOnlyCollection<SocketMessage> GetCachedMessages(int limit = 50)

Parameters

limit int

要获取的缓存消息的数量。

Returns

IReadOnlyCollection<SocketMessage>

此频道缓存的所有消息。

Remarks

此重载将会从缓存中获取最新的指定数量的缓存消息实体。

warning

要想通过此方法获取缓存的消息,需要启用缓存功能,否则此方法将始终返回空集合。缓存功能是默认禁用的,要想启用缓存,请参考 MessageCacheSize


此方法从本地的内存缓存中获取消息实体,不会向 KOOK 发送额外的 API 请求。所获取的消息也可能是已经被删除的消息。