Class HeyBoxSocketClient
表示一个基于网关的黑盒语音客户端。
public class HeyBoxSocketClient : BaseSocketClient, IHeyBoxClient, IDisposable
- Inheritance
-
HeyBoxSocketClient
- Implements
- Inherited Members
Constructors
HeyBoxSocketClient()
初始化一个 HeyBoxSocketClient 类的新实例。
public HeyBoxSocketClient()
HeyBoxSocketClient(HeyBoxSocketConfig)
初始化一个 HeyBoxSocketClient 类的新实例。
public HeyBoxSocketClient(HeyBoxSocketConfig config)
Parameters
config
HeyBoxSocketConfig用于配置此客户端的配置对象。
Properties
ConnectionState
获取当前连接的状态。
public override ConnectionState ConnectionState { get; }
Property Value
DMChannels
获取在此会话中存在的所有私聊频道。
public IReadOnlyCollection<SocketDMChannel> DMChannels { get; }
Property Value
Remarks
warning
此属性不会包含在当前会话之外创建的私聊会话的私聊频道实体,如果此 Bot 刚刚启动,此属性可能会返回一个空集合。
Latency
获取到网关服务器的往返延迟估计值(以毫秒为单位)。
public override int Latency { get; protected set; }
Property Value
Remarks
此往返估计值源于心跳包的延迟,不代表诸如发送消息等操作的真实延迟。
Rest
获取一个与此客户端共享状态的仅限于 REST 的客户端。
public override HeyBoxSocketRestClient Rest { get; }
Property Value
Rooms
获取当前用户所在的所有房间。
public override IReadOnlyCollection<SocketRoom> Rooms { get; }
Property Value
Methods
CreateDMChannel(uint)
创建一个用于与指定用户收发私信的频道。
public SocketDMChannel CreateDMChannel(uint userId)
Parameters
userId
uint
Returns
- SocketDMChannel
与指定用户相关的私信频道。
GetChannel(ulong)
获取一个服务器频道。
public override SocketChannel? GetChannel(ulong id)
Parameters
id
ulong要获取的频道的 ID。
Returns
- SocketChannel
与指定的
id
关联的频道;如果未找到,则返回null
。
GetDMChannel(uint)
获取一个私聊频道。
public override SocketDMChannel? GetDMChannel(uint userId)
Parameters
userId
uint私聊频道中另一位用户的 ID。
Returns
- SocketDMChannel
另一位用户具有指定用户 ID 的私聊频道;如果未找到,则返回
null
。
GetRoom(ulong)
获取一个房间。
public override SocketRoom? GetRoom(ulong id)
Parameters
id
ulong要获取的房间的 ID。
Returns
- SocketRoom
与指定的
id
关联的实体;如果缓存中不存在指定的房间,则返回一个用于后续调用但不包含其他有效信息的房间实体。
GetUser(uint)
获取用户。
public override SocketUser? GetUser(uint id)
Parameters
id
uint要获取的用户的 ID。
Returns
- SocketUser
与指定的
id
关联的用户;如果未找到,则返回null
。
Remarks
此方法可能返回 null
,因为此方法仅会返回网关缓存中存在的用户,如果在当前 Bot
登录会话中,要获取的用户未引发过任何事件,那么该用户实体则不会存在于缓存中。
StartAsync()
启动客户端与黑盒语音之间的连接。
public override Task StartAsync()
Returns
- Task
一个表示异步启动操作的任务。
Remarks
当前方法会初始化客户端与黑盒语音之间的连接。
important
此方法会在调用后立即返回,因为它会在另一个线程上初始化连接。
StopAsync()
停止客户端与黑盒语音之间的连接。
public override Task StopAsync()
Returns
- Task
一个表示异步停止操作的任务。
Events
Connected
当连接到黑盒语音网关时引发。
public event Func<Task> Connected
Event Type
Disconnected
当与黑盒语音网关断开连接时引发。
public event Func<Exception, Task> Disconnected
Event Type
LatencyUpdated
当网关延迟已更新时引发。
public event Func<int, int, Task> LatencyUpdated
Event Type
Remarks
Ready
当此 Bot 准备就绪以供用户代码访问时引发。
public event Func<Task> Ready