global

package
v0.9.19-0...-75f36c2 Latest Latest
Warning

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

Go to latest
Published: May 13, 2021 License: AGPL-3.0 Imports: 31 Imported by: 0

Documentation

Overview

Package global 包含文件下载,视频音频编码,本地文件缓存处理,消息过滤器,调用速率限制,gocq主配置等的相关函数与结构体

Index

Constants

View Source
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

View Source
var (
	// ErrSyntax Path语法错误时返回的错误
	ErrSyntax = errors.New("syntax error")
	// HeaderAmr AMR文件头
	HeaderAmr = []byte("#!AMR")
	// HeaderSilk Silkv3文件头
	HeaderSilk = []byte("\x02#!SILK_V3")
)
View Source
var (

	// Proxy 存储Config.proxy_rewrite,用于设置代理
	Proxy string

	// ErrOverSize 响应主体过大时返回此错误
	ErrOverSize = errors.New("oversize")

	// UserAgent HTTP请求时使用的UA
	UserAgent = "" /* 130-byte string literal not displayed */
)

Functions

func Check

func Check(err error, deleteSession bool)

Check 检测err是否为nil

func DelFile

func DelFile(path string) bool

DelFile 删除一个给定path,并返回删除结果

func DownloadFile

func DownloadFile(url, path string, limit int64, headers map[string]string) error

DownloadFile 将给定URL对应的文件下载至给定Path

func DownloadFileMultiThreading

func DownloadFileMultiThreading(url, path string, limit int64, threadCount int, headers map[string]string) error

DownloadFileMultiThreading 使用threadCount个线程将给定URL对应的文件下载至给定Path

func EncodeMP4

func EncodeMP4(src string, dst string) error

EncodeMP4 将给定视频文件编码为MP4

func EncoderSilk

func EncoderSilk(data []byte) ([]byte, error)

EncoderSilk 将音频编码为Silk

func EnsureBool

func EnsureBool(p interface{}, defaultVal bool) bool

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

func ExtractCover(src string, target string) error

ExtractCover 获取给定视频文件的Cover

func FindFile

func FindFile(file, cache, p string) (data []byte, err error)

FindFile 从给定的File寻找文件,并返回文件byte数组。File是一个合法的URL。p为文件寻找位置。 对于HTTP/HTTPS形式的URL,Cache为"1"或空时表示启用缓存

func GetBytes

func GetBytes(url string) ([]byte, error)

GetBytes 对给定URL发送Get请求,返回响应主体

func GetLogLevel

func GetLogLevel(level string) []logrus.Level

GetLogLevel 获取日志等级

可能的值有

"trace","debug","info","warn","warn","error"

func GetSliderTicket

func GetSliderTicket(raw, id string) (string, error)

GetSliderTicket 通过给定的验证链接raw和id,获取验证结果Ticket

func HTTPGetReadCloser

func HTTPGetReadCloser(url string) (io.ReadCloser, error)

HTTPGetReadCloser 从 Http url 获取 io.ReadCloser

func IsAMRorSILK

func IsAMRorSILK(b []byte) bool

IsAMRorSILK 判断给定文件是否为Amr或Silk格式

func NeteaseMusicSongInfo

func NeteaseMusicSongInfo(id string) (gjson.Result, error)

NeteaseMusicSongInfo 通过给定id在wdd音乐上查找曲目信息

func NewBuffer

func NewBuffer() *bytes.Buffer

NewBuffer 从池钟获取新 bytes.Buffer

func NewGzipReadCloser

func NewGzipReadCloser(reader io.ReadCloser) (io.ReadCloser, error)

NewGzipReadCloser 从 io.ReadCloser 创建 gunzip io.ReadCloser

func PathExists

func PathExists(path string) bool

PathExists 判断给定path是否存在

func PutBuffer

func PutBuffer(buf *bytes.Buffer)

PutBuffer 将 Buffer放入池中

func QQMusicSongInfo

func QQMusicSongInfo(id string) (gjson.Result, error)

QQMusicSongInfo 通过给定id在QQ音乐上查找曲目信息

func ReadAddrFile

func ReadAddrFile(path string) []*net.TCPAddr

ReadAddrFile 从给定path中读取合法的IP地址与端口,每个IP地址以换行符"\n"作为分隔

func ReadAllText

func ReadAllText(path string) string

ReadAllText 读取给定path对应文件,无法读取时返回空值

func SplitURL

func SplitURL(s string) []string

SplitURL 将给定URL字符串分割为两部分,用于URL预处理防止风控

func VersionNameCompare

func VersionNameCompare(current, remote string) bool

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

v1.0.0-alpha2 < v1.0.0-beta1 -> true

v1.0.0 > v1.0.0-beta1 -> false

func WriteAllText

func WriteAllText(path, text string) error

WriteAllText 将给定text写入给定path

Types

type AndOperator

type AndOperator struct {
	// contains filtered or unexported fields
}

AndOperator 定义了过滤器中And操作符

func (*AndOperator) Eval

func (op *AndOperator) Eval(payload gjson.Result) bool

Eval 对payload执行And过滤

type ContainsOperator

type ContainsOperator struct {
	// contains filtered or unexported fields
}

ContainsOperator 定义了过滤器中Contains操作符

func (*ContainsOperator) Eval

func (op *ContainsOperator) Eval(payload gjson.Result) bool

Eval 对payload执行Contains过滤

type EqualOperator

type EqualOperator struct {
	// contains filtered or unexported fields
}

EqualOperator 定义了过滤器中Equal操作符

func (*EqualOperator) Eval

func (op *EqualOperator) Eval(payload gjson.Result) bool

Eval 对payload执行Equal过滤

type Filter

type Filter interface {
	Eval(payload gjson.Result) bool
}

Filter 定义了一个消息上报过滤接口

func Generate

func Generate(opName string, argument gjson.Result) Filter

Generate 根据给定操作符名opName及操作符参数argument创建一个过滤器实例

type InOperator

type InOperator struct {
	// contains filtered or unexported fields
}

InOperator 定义了过滤器中In操作符

func (*InOperator) Eval

func (op *InOperator) Eval(payload gjson.Result) bool

Eval 对payload执行In过滤

type LocalHook

type LocalHook struct {
	// contains filtered or unexported fields
}

LocalHook logrus本地钩子

func NewLocalHook

func NewLocalHook(args interface{}, formatter logrus.Formatter, levels ...logrus.Level) *LocalHook

NewLocalHook 初始化本地日志钩子实现

func (*LocalHook) Fire

func (hook *LocalHook) Fire(entry *logrus.Entry) error

Fire ref: logrus/hooks.go impl Hook interface

func (*LocalHook) Levels

func (hook *LocalHook) Levels() []logrus.Level

Levels ref: logrus/hooks.go impl Hook interface

func (*LocalHook) SetFormatter

func (hook *LocalHook) SetFormatter(formatter logrus.Formatter)

SetFormatter 设置日志格式

func (*LocalHook) SetPath

func (hook *LocalHook) SetPath(path string)

SetPath 设置日志写入路径

func (*LocalHook) SetWriter

func (hook *LocalHook) SetWriter(writer io.Writer)

SetWriter 设置Writer

type NotEqualOperator

type NotEqualOperator struct {
	// contains filtered or unexported fields
}

NotEqualOperator 定义了过滤器中NotEqual操作符

func (*NotEqualOperator) Eval

func (op *NotEqualOperator) Eval(payload gjson.Result) bool

Eval 对payload执行NotEqual过滤

type NotOperator

type NotOperator struct {
	// contains filtered or unexported fields
}

NotOperator 定义了过滤器中Not操作符

func (*NotOperator) Eval

func (op *NotOperator) Eval(payload gjson.Result) bool

Eval 对payload执行Not过滤

type OrOperator

type OrOperator struct {
	// contains filtered or unexported fields
}

OrOperator 定义了过滤器中Or操作符

func (*OrOperator) Eval

func (op *OrOperator) Eval(payload gjson.Result) bool

Eval 对payload执行Or过滤

type RegexOperator

type RegexOperator struct {
	// contains filtered or unexported fields
}

RegexOperator 定义了过滤器中Regex操作符

func (*RegexOperator) Eval

func (op *RegexOperator) Eval(payload gjson.Result) bool

Eval 对payload执行RegexO过滤

Directories

Path Synopsis
Package codec Slik编码核心模块
Package codec Slik编码核心模块
Package config 包含go-cqhttp操作配置文件的相关函数
Package config 包含go-cqhttp操作配置文件的相关函数
Package terminal 包含用于检测在windows下是否通过双击运行go-cqhttp的函数
Package terminal 包含用于检测在windows下是否通过双击运行go-cqhttp的函数
Package update 包含go-cqhttp自我更新相关函数
Package update 包含go-cqhttp自我更新相关函数

Jump to

Keyboard shortcuts

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