Documentation ¶
Overview ¶
Package global 包含文件下载,视频音频编码,本地文件缓存处理,消息过滤器,调用速率限制,gocq主配置等的相关函数与结构体
Index ¶
- Constants
- Variables
- func BootFilter()
- func Check(err error)
- func DelFile(path string) bool
- func DownloadFile(url, path string, limit int64, headers map[string]string) error
- func DownloadFileMultiThreading(url, path string, limit int64, threadCount int, headers map[string]string) error
- func EncodeMP4(src string, dst string) error
- func EncoderSilk(data []byte) ([]byte, error)
- func EnsureBool(p interface{}, defaultVal bool) bool
- func ExtractCover(src string, target string) error
- func FindFile(file, cache, p string) (data []byte, err error)
- func GetBytes(url string) ([]byte, error)
- func GetLogLevel(level string) []logrus.Level
- func GetSliderTicket(raw, id string) (string, error)
- func InitLimiter(frequency float64, bucketSize int)
- func IsAMRorSILK(b []byte) bool
- func NeteaseMusicSongInfo(id string) (gjson.Result, error)
- func NewBuffer() *bytes.Buffer
- func PathExists(path string) bool
- func PutBuffer(buf *bytes.Buffer)
- func QQMusicSongInfo(id string) (gjson.Result, error)
- func RateLimit(ctx context.Context)
- func ReadAddrFile(path string) []*net.TCPAddr
- func ReadAllText(path string) string
- func SplitURL(s string) []string
- func UpdateFromStream(updateWith io.Reader) (err error, errRecover error)
- func VersionNameCompare(current, remote string) bool
- func WriteAllText(path, text string) error
- type AndOperator
- type CQHTTPAPIConfig
- type ContainsOperator
- type EqualOperator
- type Filter
- type GoCQHTTPConfig
- type GoCQReverseWebSocketConfig
- type GoCQWebSocketConfig
- type InOperator
- type JSONConfig
- type LocalHook
- type MSG
- type NotEqualOperator
- type NotOperator
- type OrOperator
- type RegexOperator
- type WriteCounter
Constants ¶
const ( // ImagePath go-cqhttp使用的图片缓存目录 ImagePath = "data/images" // ImagePathOld 兼容旧版go-cqhttp使用的图片缓存目录 ImagePathOld = "data/image" // VoicePath go-cqhttp使用的语音缓存目录 VoicePath = "data/voices" // VoicePathOld 兼容旧版go-cqhttp使用的语音缓存目录 VoicePathOld = "data/record" // VideoPath go-cqhttp使用的视频缓存目录 VideoPath = "data/videos" // CachePath go-cqhttp使用的缓存目录 CachePath = "data/cache" )
Variables ¶
var ( // ErrSyntax Path语法错误时返回的错误 ErrSyntax = errors.New("syntax error") // HeaderAmr AMR文件头 HeaderAmr = []byte("#!AMR") // HeaderSilk Silkv3文件头 HeaderSilk = []byte("\x02#!SILK_V3") )
var ( // Proxy 存储Config.proxy_rewrite,用于设置代理 Proxy string // ErrOverSize 响应主体过大时返回此错误 ErrOverSize = errors.New("oversize") // UserAgent HTTP请求时使用的UA UserAgent = "" /* 130-byte string literal not displayed */ )
var DefaultConfFile = path.Join(currentPath, "config.hjson")
var DefaultConfigWithComments = `` /* 3661-byte string literal not displayed */
DefaultConfigWithComments 为go-cqhttp的默认配置文件
var PasswordHash [16]byte
PasswordHash 存储QQ密码哈希供登录使用
Functions ¶
func DownloadFile ¶ added in v0.9.37
DownloadFile 将给定URL对应的文件下载至给定Path
func DownloadFileMultiThreading ¶ added in v0.9.37
func DownloadFileMultiThreading(url, path string, limit int64, threadCount int, headers map[string]string) error
DownloadFileMultiThreading 使用threadCount个线程将给定URL对应的文件下载至给定Path
func EncoderSilk ¶ added in v0.9.38
EncoderSilk 将音频编码为Silk
func EnsureBool ¶ added in v0.9.20
EnsureBool 判断给定的p是否可表示为合法Bool类型,否则返回defaultVal
支持的合法类型有
type bool
type gjson.True or gjson.False
type string "true","yes","1" or "false","no","0" (case insensitive)
func ExtractCover ¶ added in v0.9.38
ExtractCover 获取给定视频文件的Cover
func FindFile ¶ added in v0.9.26
FindFile 从给定的File寻找文件,并返回文件byte数组。File是一个合法的URL。p为文件寻找位置。 对于HTTP/HTTPS形式的URL,Cache为"1"或空时表示启用缓存
func GetLogLevel ¶ added in v0.9.40
GetLogLevel 获取日志等级
可能的值有
"trace","debug","info","warn","warn","error"
func GetSliderTicket ¶ added in v0.9.37
GetSliderTicket 通过给定的验证链接raw和id,获取验证结果Ticket
func InitLimiter ¶ added in v0.9.25
InitLimiter 初始化速率限制器
func NeteaseMusicSongInfo ¶ added in v0.9.22
NeteaseMusicSongInfo 通过给定id在wdd音乐上查找曲目信息
func QQMusicSongInfo ¶ added in v0.9.21
QQMusicSongInfo 通过给定id在QQ音乐上查找曲目信息
func ReadAddrFile ¶ added in v0.9.31
ReadAddrFile 从给定path中读取合法的IP地址与端口,每个IP地址以换行符"\n"作为分隔
func UpdateFromStream ¶ added in v0.9.37
UpdateFromStream copy form getlantern/go-update
func VersionNameCompare ¶ added in v0.9.30
VersionNameCompare 检查版本名是否需要更新, 仅适用于 go-cqhttp 的版本命名规则
例: v0.9.29-fix2 == v0.9.29-fix2 -> false
v0.9.29-fix1 < v0.9.29-fix2 -> true
v0.9.29-fix2 > v0.9.29-fix1 -> false
v0.9.29-fix2 < v0.9.30 -> true
Types ¶
type AndOperator ¶ added in v0.9.21
type AndOperator struct {
// contains filtered or unexported fields
}
AndOperator 定义了过滤器中And操作符
func (*AndOperator) Eval ¶ added in v0.9.21
func (op *AndOperator) Eval(payload MSG) bool
Eval 对payload执行And过滤
type CQHTTPAPIConfig ¶ added in v0.9.39
type CQHTTPAPIConfig struct { Host string `json:"host"` Port uint16 `json:"port"` UseHTTP bool `json:"use_http"` WSHost string `json:"ws_host"` WSPort uint16 `json:"ws_port"` UseWS bool `json:"use_ws"` WSReverseURL string `json:"ws_reverse_url"` WSReverseAPIURL string `json:"ws_reverse_api_url"` WSReverseEventURL string `json:"ws_reverse_event_url"` WSReverseReconnectInterval uint16 `json:"ws_reverse_reconnect_interval"` WSReverseReconnectOnCode1000 bool `json:"ws_reverse_reconnect_on_code_1000"` UseWsReverse bool `json:"use_ws_reverse"` PostURL string `json:"post_url"` AccessToken string `json:"access_token"` Secret string `json:"secret"` PostMessageFormat string `json:"post_message_format"` }
CQHTTPAPIConfig HTTPAPI对应的Config结构体
type ContainsOperator ¶ added in v0.9.21
type ContainsOperator struct {
// contains filtered or unexported fields
}
ContainsOperator 定义了过滤器中Contains操作符
func (*ContainsOperator) Eval ¶ added in v0.9.21
func (op *ContainsOperator) Eval(payload MSG) bool
Eval 对payload执行Contains过滤
type EqualOperator ¶ added in v0.9.21
type EqualOperator struct {
// contains filtered or unexported fields
}
EqualOperator 定义了过滤器中Equal操作符
func (*EqualOperator) Eval ¶ added in v0.9.21
func (op *EqualOperator) Eval(payload MSG) bool
Eval 对payload执行Equal过滤
type GoCQHTTPConfig ¶ added in v0.9.39
type GoCQHTTPConfig struct { Enabled bool `json:"enabled"` Host string `json:"host"` Port uint16 `json:"port"` Timeout int32 `json:"timeout"` PostUrls map[string]string `json:"post_urls"` }
GoCQHTTPConfig 正向HTTP对应config结构体
type GoCQReverseWebSocketConfig ¶ added in v0.9.39
type GoCQReverseWebSocketConfig struct { Enabled bool `json:"enabled"` ReverseURL string `json:"reverse_url"` ReverseAPIURL string `json:"reverse_api_url"` ReverseEventURL string `json:"reverse_event_url"` ReverseReconnectInterval uint16 `json:"reverse_reconnect_interval"` }
GoCQReverseWebSocketConfig 反向WebSocket对应Config结构体
type GoCQWebSocketConfig ¶ added in v0.9.39
type GoCQWebSocketConfig struct { Enabled bool `json:"enabled"` Host string `json:"host"` Port uint16 `json:"port"` }
GoCQWebSocketConfig 正向WebSocket对应Config结构体
type InOperator ¶ added in v0.9.21
type InOperator struct {
// contains filtered or unexported fields
}
InOperator 定义了过滤器中In操作符
func (*InOperator) Eval ¶ added in v0.9.21
func (op *InOperator) Eval(payload MSG) bool
Eval 对payload执行In过滤
type JSONConfig ¶ added in v0.9.39
type JSONConfig struct { Uin int64 `json:"uin"` Password string `json:"password"` EncryptPassword bool `json:"encrypt_password"` PasswordEncrypted string `json:"password_encrypted"` EnableDB bool `json:"enable_db"` EnableSelfMessage bool `json:"enable_self_message"` AccessToken string `json:"access_token"` ReLogin struct { Enabled bool `json:"enabled"` ReLoginDelay int `json:"relogin_delay"` MaxReloginTimes uint `json:"max_relogin_times"` } `json:"relogin"` RateLimit struct { Enabled bool `json:"enabled"` Frequency float64 `json:"frequency"` BucketSize int `json:"bucket_size"` } `json:"_rate_limit"` IgnoreInvalidCQCode bool `json:"ignore_invalid_cqcode"` ForceFragmented bool `json:"force_fragmented"` FixURL bool `json:"fix_url"` ProxyRewrite string `json:"proxy_rewrite"` HeartbeatInterval time.Duration `json:"heartbeat_interval"` HTTPConfig *GoCQHTTPConfig `json:"http_config"` WSConfig *GoCQWebSocketConfig `json:"ws_config"` ReverseServers []*GoCQReverseWebSocketConfig `json:"ws_reverse_servers"` PostMessageFormat string `json:"post_message_format"` UseSSOAddress bool `json:"use_sso_address"` Debug bool `json:"debug"` LogLevel string `json:"log_level"` }
JSONConfig Config对应的结构体
func (*JSONConfig) Save ¶ added in v0.9.39
func (c *JSONConfig) Save(path string) error
Save 写入配置文件至path
type LocalHook ¶ added in v0.9.40
type LocalHook struct {
// contains filtered or unexported fields
}
LocalHook logrus本地钩子
func NewLocalHook ¶ added in v0.9.40
NewLocalHook 初始化本地日志钩子实现
func (*LocalHook) SetFormatter ¶ added in v0.9.40
SetFormatter 设置日志格式
type MSG ¶ added in v0.9.34
type MSG map[string]interface{}
MSG 消息Map
type NotEqualOperator ¶ added in v0.9.21
type NotEqualOperator struct {
// contains filtered or unexported fields
}
NotEqualOperator 定义了过滤器中NotEqual操作符
func (*NotEqualOperator) Eval ¶ added in v0.9.21
func (op *NotEqualOperator) Eval(payload MSG) bool
Eval 对payload执行NotEqual过滤
type NotOperator ¶ added in v0.9.21
type NotOperator struct {
// contains filtered or unexported fields
}
NotOperator 定义了过滤器中Not操作符
func (*NotOperator) Eval ¶ added in v0.9.21
func (op *NotOperator) Eval(payload MSG) bool
Eval 对payload执行Not过滤
type OrOperator ¶ added in v0.9.21
type OrOperator struct {
// contains filtered or unexported fields
}
OrOperator 定义了过滤器中Or操作符
func (*OrOperator) Eval ¶ added in v0.9.21
func (op *OrOperator) Eval(payload MSG) bool
Eval 对payload执行Or过滤
type RegexOperator ¶ added in v0.9.21
type RegexOperator struct {
// contains filtered or unexported fields
}
RegexOperator 定义了过滤器中Regex操作符
func (*RegexOperator) Eval ¶ added in v0.9.21
func (op *RegexOperator) Eval(payload MSG) bool
Eval 对payload执行RegexO过滤
type WriteCounter ¶ added in v0.9.31
type WriteCounter struct {
Total uint64
}
WriteCounter 写入量计算实例
func (*WriteCounter) PrintProgress ¶ added in v0.9.31
func (wc *WriteCounter) PrintProgress()
PrintProgress 方法将打印当前的总写入量