websocket

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package websocket SDK 需要实现的 websocket 定义。

Index

Constants

This section is empty.

Variables

DefaultHandlers 默认的 handler 结构,管理所有支持的 handler 类型

View Source
var PanicBufLen = 1024

PanicBufLen Panic 堆栈大小

Functions

func PanicHandler

func PanicHandler(e interface{}, session *dto.Session)

PanicHandler 处理websocket场景的 panic ,打印堆栈

func Register

func Register(ws WebSocket)

Register 注册 websocket 实现

func RegisterHandlers

func RegisterHandlers(handlers ...interface{}) dto.Intent

RegisterHandlers 注册事件回调,并返回 intent 用于 websocket 的鉴权

func RegisterResumeSignal

func RegisterResumeSignal(signal syscall.Signal)

RegisterResumeSignal 注册用于通知 client 将连接进行 resume 的信号

Types

type ATMessageEventHandler

type ATMessageEventHandler func(event *dto.WSPayload, data *dto.WSATMessageData) error

ATMessageEventHandler at 机器人消息事件 handler

type AudioEventHandler

type AudioEventHandler func(event *dto.WSPayload, data *dto.WSAudioData) error

AudioEventHandler 音频机器人事件 handler

type ChannelEventHandler

type ChannelEventHandler func(event *dto.WSPayload, data *dto.WSChannelData) error

ChannelEventHandler 子频道事件 handler

type DirectMessageEventHandler

type DirectMessageEventHandler func(event *dto.WSPayload, data *dto.WSDirectMessageData) error

DirectMessageEventHandler 私信消息事件 handler

type ErrorNotifyHandler

type ErrorNotifyHandler func(err error)

ErrorNotifyHandler 当 ws 连接发生错误的时候,会回调,方便使用方监控相关错误 比如 reconnect invalidSession 等错误,错误可以转换为 bot.Err

type GuildEventHandler

type GuildEventHandler func(event *dto.WSPayload, data *dto.WSGuildData) error

GuildEventHandler 频道事件handler

type GuildMemberEventHandler

type GuildMemberEventHandler func(event *dto.WSPayload, data *dto.WSGuildMemberData) error

GuildMemberEventHandler 频道成员事件 handler

type MessageAuditEventHandler

type MessageAuditEventHandler func(event *dto.WSPayload, data *dto.WSMessageAuditData) error

MessageAuditEventHandler 消息审核事件 handler

type MessageEventHandler

type MessageEventHandler func(event *dto.WSPayload, data *dto.WSMessageData) error

MessageEventHandler 消息事件 handler

type MessageReactionEventHandler

type MessageReactionEventHandler func(event *dto.WSPayload, data *dto.WSMessageReactionData) error

MessageReactionEventHandler 表情表态事件 handler

type PlainEventHandler

type PlainEventHandler func(event *dto.WSPayload, message []byte) error

PlainEventHandler 透传handler

type ReadyHandler

type ReadyHandler func(event *dto.WSPayload, data *dto.WSReadyData)

ReadyHandler 可以处理 ws 的 ready 事件

type WebSocket

type WebSocket interface {
	// New 创建一个新的ws实例,需要传递 session 对象
	New(session dto.Session) WebSocket
	// Connect 连接到 wss 地址
	Connect() error
	// Identify 鉴权连接
	Identify() error
	// Session 拉取 session 信息,包括 token,shard,seq 等
	Session() *dto.Session
	// Resume 重连
	Resume() error
	// Listening 监听websocket事件
	Listening() error
	// Write 发送数据
	Write(message *dto.WSPayload) error
	// Close 关闭连接
	Close()
}

WebSocket 需要实现的接口

var (
	// ClientImpl websocket 实现
	ClientImpl WebSocket
	// ResumeSignal 用于强制 resume 连接的信号量
	ResumeSignal syscall.Signal
)

Directories

Path Synopsis
Package client 默认的 websocket client 实现。
Package client 默认的 websocket client 实现。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL