Interface ISocketMessageChannel
表示一个基于网关的消息频道,可以用来发送和接收消息。
public interface ISocketMessageChannel : IMessageChannel, IChannel, IEntity<ulong>
- Inherited Members
- Extension Methods
Properties
CachedMessages
获取此频道缓存的所有消息。
IReadOnlyCollection<SocketMessage> CachedMessages { get; }
Property Value
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
Returns
- IReadOnlyCollection<SocketMessage>
获取到的多条缓存消息。
Remarks
warning
要想通过此方法获取缓存的消息,需要启用缓存功能,否则此方法将始终返回空集合。缓存功能是默认禁用的,要想启用缓存,请参考 MessageCacheSize。
此方法从本地的内存缓存中获取消息实体,不会向 KOOK 发送额外的 API 请求。所获取的消息也可能是已经被删除的消息。
GetCachedMessages(Guid, Direction, int)
获取此频道缓存的多条消息。
IReadOnlyCollection<SocketMessage> GetCachedMessages(Guid referenceMessageId, Direction dir, int limit = 50)
Parameters
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 请求。所获取的消息也可能是已经被删除的消息。