Documentation ¶
Index ¶
- Variables
- func AdminPermission(ctx *Ctx) bool
- func ChatGpt(replay string)
- func GetTriggeredMessages(id message.MessageID) []message.MessageID
- func HasPicture(ctx *Ctx) bool
- func MustProvidePicture(ctx *Ctx) bool
- func OnlyGroup(ctx *Ctx) bool
- func OnlyGuild(ctx *Ctx) bool
- func OnlyPrivate(ctx *Ctx) bool
- func OnlyPublic(ctx *Ctx) bool
- func OnlyToMe(ctx *Ctx) bool
- func OwnerPermission(ctx *Ctx) bool
- func ParseShell(s string) []string
- func RangeBot(iter func(id int64, ctx *Ctx) bool)
- func Run(op *Config)
- func RunAndBlock(op *Config, preblock func())
- func SuperUserPermission(ctx *Ctx) bool
- func UserOrGrpAdmin(ctx *Ctx) bool
- type APICaller
- type APIRequest
- type APIResponse
- type Config
- type Ctx
- func (ctx *Ctx) Block()
- func (ctx *Ctx) Break()
- func (ctx *Ctx) CallAction(action string, params Params) APIResponse
- func (ctx *Ctx) CardOrNickName(uid int64) (name string)
- func (ctx *Ctx) CheckSession() Rule
- func (ctx *Ctx) DeleteGroupEssenceMessage(messageID int64) APIResponse
- func (ctx *Ctx) DeleteMessage(messageID message.MessageID)
- func (ctx *Ctx) Echo(response []byte)
- func (ctx *Ctx) ExtractPlainText() string
- func (ctx *Ctx) FutureEvent(Type string, rule ...Rule) *FutureEvent
- func (ctx *Ctx) Get(prompt string) string
- func (ctx *Ctx) GetForwardMessage(id string) gjson.Result
- func (ctx *Ctx) GetFriendList() gjson.Result
- func (ctx *Ctx) GetGroupAtAllRemain(groupID int64) gjson.Result
- func (ctx *Ctx) GetGroupEssenceMessageList(groupID int64) gjson.Result
- func (ctx *Ctx) GetGroupFileUrl(groupID, busid int64, fileID string) string
- func (ctx *Ctx) GetGroupFilesByFolder(groupID int64, folderID string) gjson.Result
- func (ctx *Ctx) GetGroupFilesystemInfo(groupID int64) gjson.Result
- func (ctx *Ctx) GetGroupHonorInfo(groupID int64, hType string) gjson.Result
- func (ctx *Ctx) GetGroupInfo(groupID int64, noCache bool) Group
- func (ctx *Ctx) GetGroupList() gjson.Result
- func (ctx *Ctx) GetGroupMemberInfo(groupID int64, userID int64, noCache bool) gjson.Result
- func (ctx *Ctx) GetGroupMemberList(groupID int64) gjson.Result
- func (ctx *Ctx) GetGroupMemberListNoCache(groupID int64) gjson.Result
- func (ctx *Ctx) GetGroupMessageHistory(groupID, messageID int64) gjson.Result
- func (ctx *Ctx) GetGroupRootFiles(groupID int64) gjson.Result
- func (ctx *Ctx) GetGroupSystemMessage() gjson.Result
- func (ctx *Ctx) GetImage(file string) gjson.Result
- func (ctx *Ctx) GetLatestGroupMessageHistory(groupID int64) gjson.Result
- func (ctx *Ctx) GetLatestThisGroupMessageHistory() gjson.Result
- func (ctx *Ctx) GetLoginInfo() gjson.Result
- func (ctx *Ctx) GetMatcher() *Matcher
- func (ctx *Ctx) GetMessage(messageID message.MessageID) Message
- func (ctx *Ctx) GetOnlineClients(noCache bool) gjson.Result
- func (ctx *Ctx) GetRecord(file string, outFormat string) gjson.Result
- func (ctx *Ctx) GetStrangerInfo(userID int64, noCache bool) gjson.Result
- func (ctx *Ctx) GetThisGroupEssenceMessageList() gjson.Result
- func (ctx *Ctx) GetThisGroupFileUrl(busid int64, fileID string) string
- func (ctx *Ctx) GetThisGroupFilesByFolder(folderID string) gjson.Result
- func (ctx *Ctx) GetThisGroupMemberList() gjson.Result
- func (ctx *Ctx) GetThisGroupMemberListNoCache() gjson.Result
- func (ctx *Ctx) GetThisGroupMessageHistory(messageID int64) gjson.Result
- func (ctx *Ctx) GetThisGroupRootFiles(groupID int64) gjson.Result
- func (ctx *Ctx) GetVersionInfo() gjson.Result
- func (ctx *Ctx) GetWordSlices(content string) gjson.Result
- func (ctx *Ctx) MarkMessageAsRead(messageID int64) APIResponse
- func (ctx *Ctx) MarkThisMessageAsRead() APIResponse
- func (ctx *Ctx) MessageString() string
- func (ctx *Ctx) NickName() (name string)
- func (ctx *Ctx) NoTimeout()
- func (ctx *Ctx) OCRImage(file string) gjson.Result
- func (ctx *Ctx) Parse(model interface{}) (err error)
- func (ctx *Ctx) Send(msg interface{}) message.MessageID
- func (ctx *Ctx) SendChain(msg ...message.MessageSegment) message.MessageID
- func (ctx *Ctx) SendGroupForwardMessage(groupID int64, message message.Message) gjson.Result
- func (ctx *Ctx) SendGroupMessage(groupID int64, message interface{}) int64
- func (ctx *Ctx) SendGuildChannelMessage(guildID, channelID string, message interface{}) string
- func (ctx *Ctx) SendPrivateForwardMessage(userID int64, message message.Message) gjson.Result
- func (ctx *Ctx) SendPrivateMessage(userID int64, message interface{}) int64
- func (ctx *Ctx) SetFriendAddRequest(flag string, approve bool, remark string)
- func (ctx *Ctx) SetGroupAddRequest(flag string, subType string, approve bool, reason string)
- func (ctx *Ctx) SetGroupAdmin(groupID, userID int64, enable bool)
- func (ctx *Ctx) SetGroupAnonymous(groupID int64, enable bool)
- func (ctx *Ctx) SetGroupBan(groupID, userID, duration int64)
- func (ctx *Ctx) SetGroupCard(groupID, userID int64, card string)
- func (ctx *Ctx) SetGroupEssenceMessage(messageID int64) APIResponse
- func (ctx *Ctx) SetGroupKick(groupID, userID int64, rejectAddRequest bool)
- func (ctx *Ctx) SetGroupLeave(groupID int64, isDismiss bool)
- func (ctx *Ctx) SetGroupName(groupID int64, groupName string)
- func (ctx *Ctx) SetGroupPortrait(groupID int64, file string)
- func (ctx *Ctx) SetGroupSpecialTitle(groupID int64, userID int64, specialTitle string)
- func (ctx *Ctx) SetGroupWholeBan(groupID int64, enable bool)
- func (ctx *Ctx) UploadGroupFile(groupID int64, file, name, folder string) APIResponse
- func (ctx *Ctx) UploadThisGroupFile(file, name, folder string) APIResponse
- type Driver
- type Engine
- func (e *Engine) Delete()
- func (e *Engine) On(typ string, rules ...Rule) *Matcher
- func (e *Engine) OnCommand(commands string, rules ...Rule) *Matcher
- func (e *Engine) OnCommandGroup(commands []string, rules ...Rule) *Matcher
- func (e *Engine) OnFullMatch(src string, rules ...Rule) *Matcher
- func (e *Engine) OnFullMatchGroup(src []string, rules ...Rule) *Matcher
- func (e *Engine) OnKeyword(keyword string, rules ...Rule) *Matcher
- func (e *Engine) OnKeywordGroup(keywords []string, rules ...Rule) *Matcher
- func (e *Engine) OnMessage(rules ...Rule) *Matcher
- func (e *Engine) OnMetaEvent(rules ...Rule) *Matcher
- func (e *Engine) OnNotice(rules ...Rule) *Matcher
- func (e *Engine) OnPrefix(prefix string, rules ...Rule) *Matcher
- func (e *Engine) OnPrefixGroup(prefix []string, rules ...Rule) *Matcher
- func (e *Engine) OnRegex(regexPattern string, rules ...Rule) *Matcher
- func (e *Engine) OnRequest(rules ...Rule) *Matcher
- func (e *Engine) OnShell(command string, model interface{}, rules ...Rule) *Matcher
- func (e *Engine) OnSuffix(suffix string, rules ...Rule) *Matcher
- func (e *Engine) OnSuffixGroup(suffix []string, rules ...Rule) *Matcher
- func (e *Engine) SetBlock(block bool) *Engine
- func (e *Engine) UseMidHandler(rules ...Rule)
- func (e *Engine) UsePostHandler(handler ...Handler)
- func (e *Engine) UsePreHandler(rules ...Rule)
- type Event
- type File
- type FutureEvent
- type Group
- type H
- type Handler
- type Matcher
- func On(typ string, rules ...Rule) *Matcher
- func OnCommand(commands string, rules ...Rule) *Matcher
- func OnCommandGroup(commands []string, rules ...Rule) *Matcher
- func OnFullMatch(src string, rules ...Rule) *Matcher
- func OnFullMatchGroup(src []string, rules ...Rule) *Matcher
- func OnKeyword(keyword string, rules ...Rule) *Matcher
- func OnKeywordGroup(keywords []string, rules ...Rule) *Matcher
- func OnMessage(rules ...Rule) *Matcher
- func OnMetaEvent(rules ...Rule) *Matcher
- func OnNotice(rules ...Rule) *Matcher
- func OnPrefix(prefix string, rules ...Rule) *Matcher
- func OnPrefixGroup(prefix []string, rules ...Rule) *Matcher
- func OnRegex(regexPattern string, rules ...Rule) *Matcher
- func OnRequest(rules ...Rule) *Matcher
- func OnShell(command string, model interface{}, rules ...Rule) *Matcher
- func OnSuffix(suffix string, rules ...Rule) *Matcher
- func OnSuffixGroup(suffix []string, rules ...Rule) *Matcher
- func StoreMatcher(m *Matcher) *Matcher
- func StoreTempMatcher(m *Matcher) *Matcher
- func (m *Matcher) BindEngine(e *Engine) *Matcher
- func (m *Matcher) Delete()
- func (m *Matcher) FirstPriority() *Matcher
- func (m *Matcher) FutureEvent(Type string, rule ...Rule) *FutureEvent
- func (m *Matcher) Handle(handler Handler) *Matcher
- func (m *Matcher) SecondPriority() *Matcher
- func (m *Matcher) SetBlock(block bool) *Matcher
- func (m *Matcher) SetPriority(priority int) *Matcher
- func (m *Matcher) ThirdPriority() *Matcher
- type Message
- type Params
- type Rule
- func CheckGroup(grpId ...int64) Rule
- func CheckUser(userId ...int64) Rule
- func CommandRule(commands ...string) Rule
- func FullMatchRule(src ...string) Rule
- func KeywordRule(src ...string) Rule
- func PrefixRule(prefixes ...string) Rule
- func RegexRule(regexPattern string) Rule
- func ReplyRule(messageID int64) Rule
- func ShellRule(cmd string, model interface{}) Rule
- func SuffixRule(suffixes ...string) Rule
- func Type(type_ string) Rule
- type State
- type User
Constants ¶
This section is empty.
Variables ¶
var APICallers callerMap
APICallers 所有的APICaller列表, 通过self-ID映射
Functions ¶
func AdminPermission ¶
AdminPermission only triggered by the group admins or higher permission
func GetTriggeredMessages ¶
GetTriggeredMessages 获取被 id 消息触发的回复消息 id
func MustProvidePicture ¶
MustProvidePicture 消息不存在图片阻塞120秒至有图片,超时返回 false
func OnlyPrivate ¶
OnlyPrivate requires that the ctx.Event is private message
func OnlyPublic ¶
OnlyPublic requires that the ctx.Event is public/group or public/guild message
func OwnerPermission ¶
OwnerPermission only triggered by the group owner or higher permission
func ParseShell ¶
ParseShell 将指令转换为指令参数. modified from https://github.com/mattn/go-shellwords
func RunAndBlock ¶
func RunAndBlock(op *Config, preblock func())
RunAndBlock 主函数初始化并阻塞
preblock 在所有 Driver 连接后,调用最后一个 Driver 的 Listen 阻塞前执行本函数
func SuperUserPermission ¶
SuperUserPermission only triggered by the bot's owner
Types ¶
type APICaller ¶
type APICaller interface {
CallApi(request APIRequest) (APIResponse, error)
}
APICaller is the interface of CallApi
type APIRequest ¶
type APIRequest struct { Action string `json:"action"` Params Params `json:"params"` Echo uint64 `json:"echo"` // 该项不用填写,由Driver生成 }
APIRequest is the request sending to the cqhttp https://github.com/botuniverse/onebot-11/blob/master/communication/ws.md
type APIResponse ¶
type APIResponse struct { Status string `json:"status"` Data gjson.Result `json:"data"` Msg string `json:"msg"` Wording string `json:"wording"` RetCode int64 `json:"retcode"` Echo uint64 `json:"echo"` }
APIResponse is the response of calling API https://github.com/botuniverse/onebot-11/blob/master/communication/ws.md
type Config ¶
type Config struct { NickName []string `json:"nickname"` // 机器人名称 CommandPrefix string `json:"command_prefix"` // 触发命令 SuperUsers []int64 `json:"super_users"` // 超级用户 RingLen uint `json:"ring_len"` // 事件环长度 (默认关闭) Latency time.Duration `json:"latency"` // 事件处理延迟 (延迟 latency 再处理事件,在 ring 模式下不可低于 1ms) MaxProcessTime time.Duration `json:"max_process_time"` // 事件最大处理时间 (默认4min) Driver []Driver `json:"-"` // 通信驱动 }
Config is config of zero bot
var BotConfig Config
BotConfig 运行中bot的配置,是Run函数的参数的拷贝
type Ctx ¶
Ctx represents the Context which hold the event. 代表上下文
func (*Ctx) CallAction ¶
func (ctx *Ctx) CallAction(action string, params Params) APIResponse
CallAction 调用 cqhttp API
func (*Ctx) CardOrNickName ¶
CardOrNickName 从 uid 获取群名片,如果没有则获取昵称
func (*Ctx) DeleteGroupEssenceMessage ¶
func (ctx *Ctx) DeleteGroupEssenceMessage(messageID int64) APIResponse
DeleteGroupEssenceMessage 移出群精华消息 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E7%A7%BB%E5%87%BA%E7%B2%BE%E5%8D%8E%E6%B6%88%E6%81%AF
func (*Ctx) DeleteMessage ¶
DeleteMessage 撤回消息 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#delete_msg-%E6%92%A4%E5%9B%9E%E6%B6%88%E6%81%AF
func (*Ctx) FutureEvent ¶
func (ctx *Ctx) FutureEvent(Type string, rule ...Rule) *FutureEvent
FutureEvent ...
func (*Ctx) GetForwardMessage ¶
GetForwardMessage 获取合并转发消息 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_forward_msg-%E8%8E%B7%E5%8F%96%E5%90%88%E5%B9%B6%E8%BD%AC%E5%8F%91%E6%B6%88%E6%81%AF
func (*Ctx) GetFriendList ¶
GetFriendList 获取好友列表 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_friend_list-%E8%8E%B7%E5%8F%96%E5%A5%BD%E5%8F%8B%E5%88%97%E8%A1%A8
func (*Ctx) GetGroupAtAllRemain ¶
GetGroupAtAllRemain 获取群@全体成员剩余次数 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%8E%B7%E5%8F%96%E7%BE%A4%E5%85%A8%E4%BD%93%E6%88%90%E5%91%98%E5%89%A9%E4%BD%99%E6%AC%A1%E6%95%B0
func (*Ctx) GetGroupEssenceMessageList ¶
GetGroupEssenceMessageList 获取群精华消息列表 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%8E%B7%E5%8F%96%E7%B2%BE%E5%8D%8E%E6%B6%88%E6%81%AF%E5%88%97%E8%A1%A8
func (*Ctx) GetGroupFileUrl ¶
GetGroupFileUrl 获取群文件资源链接 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%8E%B7%E5%8F%96%E7%BE%A4%E6%96%87%E4%BB%B6%E8%B5%84%E6%BA%90%E9%93%BE%E6%8E%A5
func (*Ctx) GetGroupFilesByFolder ¶
GetGroupFilesByFolder 获取群子目录文件列表 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%8E%B7%E5%8F%96%E7%BE%A4%E5%AD%90%E7%9B%AE%E5%BD%95%E6%96%87%E4%BB%B6%E5%88%97%E8%A1%A8
func (*Ctx) GetGroupFilesystemInfo ¶
GetGroupFilesystemInfo 获取群文件系统信息 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%8E%B7%E5%8F%96%E7%BE%A4%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%BF%A1%E6%81%AF
func (*Ctx) GetGroupHonorInfo ¶
GetGroupHonorInfo 获取群荣誉信息 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_group_honor_info-%E8%8E%B7%E5%8F%96%E7%BE%A4%E8%8D%A3%E8%AA%89%E4%BF%A1%E6%81%AF
func (*Ctx) GetGroupInfo ¶
GetGroupInfo 获取群信息 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_group_info-%E8%8E%B7%E5%8F%96%E7%BE%A4%E4%BF%A1%E6%81%AF
func (*Ctx) GetGroupList ¶
GetGroupList 获取群列表 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_group_list-%E8%8E%B7%E5%8F%96%E7%BE%A4%E5%88%97%E8%A1%A8
func (*Ctx) GetGroupMemberInfo ¶
GetGroupMemberInfo 获取群成员信息 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_group_member_info-%E8%8E%B7%E5%8F%96%E7%BE%A4%E6%88%90%E5%91%98%E4%BF%A1%E6%81%AF
func (*Ctx) GetGroupMemberList ¶
GetGroupMemberList 获取群成员列表 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_group_member_list-%E8%8E%B7%E5%8F%96%E7%BE%A4%E6%88%90%E5%91%98%E5%88%97%E8%A1%A8
func (*Ctx) GetGroupMemberListNoCache ¶
GetGroupMemberListNoCache 无缓存获取群员列表 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_group_member_list-%E8%8E%B7%E5%8F%96%E7%BE%A4%E6%88%90%E5%91%98%E5%88%97%E8%A1%A8
func (*Ctx) GetGroupMessageHistory ¶
GetGroupMessageHistory 获取群消息历史记录 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%8E%B7%E5%8F%96%E7%BE%A4%E6%B6%88%E6%81%AF%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95
messageID: 起始消息序号, 可通过 get_msg 获得
func (*Ctx) GetGroupRootFiles ¶
GetGroupRootFiles 获取群根目录文件列表 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%8E%B7%E5%8F%96%E7%BE%A4%E6%A0%B9%E7%9B%AE%E5%BD%95%E6%96%87%E4%BB%B6%E5%88%97%E8%A1%A8
func (*Ctx) GetGroupSystemMessage ¶
GetGroupSystemMessage 获取群系统消息 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%8E%B7%E5%8F%96%E7%BE%A4%E7%B3%BB%E7%BB%9F%E6%B6%88%E6%81%AF
func (*Ctx) GetImage ¶
GetImage 获取图片 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_image-%E8%8E%B7%E5%8F%96%E5%9B%BE%E7%89%87
func (*Ctx) GetLatestGroupMessageHistory ¶
GettLatestGroupMessageHistory 获取最新群消息历史记录
func (*Ctx) GetLatestThisGroupMessageHistory ¶
GettLatestThisGroupMessageHistory 获取最新本群消息历史记录
func (*Ctx) GetLoginInfo ¶
GetLoginInfo 获取登录号信息 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_login_info-%E8%8E%B7%E5%8F%96%E7%99%BB%E5%BD%95%E5%8F%B7%E4%BF%A1%E6%81%AF
func (*Ctx) GetMessage ¶
GetMessage 获取消息 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_msg-%E8%8E%B7%E5%8F%96%E6%B6%88%E6%81%AF
func (*Ctx) GetOnlineClients ¶
GetOnlineClients 获取当前账号在线客户端列表 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E8%B4%A6%E5%8F%B7%E5%9C%A8%E7%BA%BF%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%88%97%E8%A1%A8
func (*Ctx) GetRecord ¶
GetRecord 获取语音 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_record-%E8%8E%B7%E5%8F%96%E8%AF%AD%E9%9F%B3
func (*Ctx) GetStrangerInfo ¶
GetStrangerInfo 获取陌生人信息 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_stranger_info-%E8%8E%B7%E5%8F%96%E9%99%8C%E7%94%9F%E4%BA%BA%E4%BF%A1%E6%81%AF
func (*Ctx) GetThisGroupEssenceMessageList ¶
GetThisGroupEssenceMessageList 获取本群精华消息列表
func (*Ctx) GetThisGroupFileUrl ¶
GetThisGroupFileUrl 获取本群文件资源链接
func (*Ctx) GetThisGroupFilesByFolder ¶
GetThisGroupFilesByFolder 获取本群子目录文件列表
func (*Ctx) GetThisGroupMemberList ¶
GetThisGroupMemberList 获取本群成员列表
func (*Ctx) GetThisGroupMemberListNoCache ¶
GetThisGroupMemberListNoCache 无缓存获取本群员列表
func (*Ctx) GetThisGroupMessageHistory ¶
GetThisGroupMessageHistory 获取本群消息历史记录
messageID: 起始消息序号, 可通过 get_msg 获得
func (*Ctx) GetThisGroupRootFiles ¶
GetThisGroupRootFiles 获取本群根目录文件列表
func (*Ctx) GetVersionInfo ¶
GetVersionInfo 获取运行状态 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#get_status-%E8%8E%B7%E5%8F%96%E8%BF%90%E8%A1%8C%E7%8A%B6%E6%80%81
func (*Ctx) GetWordSlices ¶
GetWordSlices 获取中文分词 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%8E%B7%E5%8F%96%E4%B8%AD%E6%96%87%E5%88%86%E8%AF%8D
func (*Ctx) MarkMessageAsRead ¶
func (ctx *Ctx) MarkMessageAsRead(messageID int64) APIResponse
MarkMessageAsRead 标记消息已读 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E6%A0%87%E8%AE%B0%E6%B6%88%E6%81%AF%E5%B7%B2%E8%AF%BB
func (*Ctx) MarkThisMessageAsRead ¶
func (ctx *Ctx) MarkThisMessageAsRead() APIResponse
MarkThisMessageAsRead 标记本消息已读
func (*Ctx) OCRImage ¶
OCRImage 图片OCR https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E5%9B%BE%E7%89%87ocr
func (*Ctx) SendChain ¶
func (ctx *Ctx) SendChain(msg ...message.MessageSegment) message.MessageID
SendChain 快捷发送消息/合并转发-消息链
func (*Ctx) SendGroupForwardMessage ¶
SendGroupForwardMessage 发送合并转发(群) https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E5%9B%BE%E7%89%87ocr
func (*Ctx) SendGroupMessage ¶
SendGroupMessage 发送群消息 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#send_group_msg-%E5%8F%91%E9%80%81%E7%BE%A4%E6%B6%88%E6%81%AF
func (*Ctx) SendGuildChannelMessage ¶
SendGuildChannelMessage 发送频道消息
func (*Ctx) SendPrivateForwardMessage ¶
SendPrivateForwardMessage 发送合并转发(私聊) https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E5%9B%BE%E7%89%87ocr
func (*Ctx) SendPrivateMessage ¶
SendPrivateMessage 发送私聊消息 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#send_private_msg-%E5%8F%91%E9%80%81%E7%A7%81%E8%81%8A%E6%B6%88%E6%81%AF
func (*Ctx) SetFriendAddRequest ¶
SetFriendAddRequest 处理加好友请求 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_friend_add_request-%E5%A4%84%E7%90%86%E5%8A%A0%E5%A5%BD%E5%8F%8B%E8%AF%B7%E6%B1%82
func (*Ctx) SetGroupAddRequest ¶
SetGroupAddRequest 处理加群请求/邀请 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_group_add_request-%E5%A4%84%E7%90%86%E5%8A%A0%E7%BE%A4%E8%AF%B7%E6%B1%82%E9%82%80%E8%AF%B7
func (*Ctx) SetGroupAdmin ¶
SetGroupAdmin 群组设置管理员 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_group_whole_ban-%E7%BE%A4%E7%BB%84%E5%85%A8%E5%91%98%E7%A6%81%E8%A8%80
func (*Ctx) SetGroupAnonymous ¶
SetGroupAnonymous 群组匿名 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_group_anonymous-%E7%BE%A4%E7%BB%84%E5%8C%BF%E5%90%8D
func (*Ctx) SetGroupBan ¶
SetGroupBan 群组单人禁言 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_group_ban-%E7%BE%A4%E7%BB%84%E5%8D%95%E4%BA%BA%E7%A6%81%E8%A8%80
func (*Ctx) SetGroupCard ¶
SetGroupCard 设置群名片(群备注) https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_group_card-%E8%AE%BE%E7%BD%AE%E7%BE%A4%E5%90%8D%E7%89%87%E7%BE%A4%E5%A4%87%E6%B3%A8
func (*Ctx) SetGroupEssenceMessage ¶
func (ctx *Ctx) SetGroupEssenceMessage(messageID int64) APIResponse
SetGroupEssenceMessage 设置群精华消息 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%AE%BE%E7%BD%AE%E7%B2%BE%E5%8D%8E%E6%B6%88%E6%81%AF
func (*Ctx) SetGroupKick ¶
SetGroupKick 群组踢人 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_group_kick-%E7%BE%A4%E7%BB%84%E8%B8%A2%E4%BA%BA
func (*Ctx) SetGroupLeave ¶
SetGroupLeave 退出群组 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_group_leave-%E9%80%80%E5%87%BA%E7%BE%A4%E7%BB%84
func (*Ctx) SetGroupName ¶
SetGroupName 设置群名 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_group_name-%E8%AE%BE%E7%BD%AE%E7%BE%A4%E5%90%8D
func (*Ctx) SetGroupPortrait ¶
SetGroupPortrait 设置群头像 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E8%AE%BE%E7%BD%AE%E7%BE%A4%E5%A4%B4%E5%83%8F
func (*Ctx) SetGroupSpecialTitle ¶
SetGroupSpecialTitle 设置群组专属头衔 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_group_special_title-%E8%AE%BE%E7%BD%AE%E7%BE%A4%E7%BB%84%E4%B8%93%E5%B1%9E%E5%A4%B4%E8%A1%94
func (*Ctx) SetGroupWholeBan ¶
SetGroupWholeBan 群组全员禁言 https://github.com/botuniverse/onebot-11/blob/master/api/public.md#set_group_whole_ban-%E7%BE%A4%E7%BB%84%E5%85%A8%E5%91%98%E7%A6%81%E8%A8%80
func (*Ctx) UploadGroupFile ¶
func (ctx *Ctx) UploadGroupFile(groupID int64, file, name, folder string) APIResponse
UploadGroupFile 上传群文件 https://github.com/Mrs4s/go-cqhttp/blob/master/docs/cqhttp.md#%E4%B8%8A%E4%BC%A0%E7%BE%A4%E6%96%87%E4%BB%B6
msg: FILE_NOT_FOUND FILE_SYSTEM_UPLOAD_API_ERROR ...
func (*Ctx) UploadThisGroupFile ¶
func (ctx *Ctx) UploadThisGroupFile(file, name, folder string) APIResponse
UploadThisGroupFile 上传本群文件
msg: FILE_NOT_FOUND FILE_SYSTEM_UPLOAD_API_ERROR ...
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine is the pre_handler, post_handler manager
func (*Engine) OnCommandGroup ¶
OnCommandGroup 命令触发器组
func (*Engine) OnFullMatch ¶
OnFullMatch 完全匹配触发器
func (*Engine) OnFullMatchGroup ¶
OnFullMatchGroup 完全匹配触发器组
func (*Engine) OnKeywordGroup ¶
OnKeywordGroup 关键词触发器组
func (*Engine) OnMetaEvent ¶
OnMetaEvent 元事件触发器
func (*Engine) OnPrefixGroup ¶
OnPrefixGroup 前缀触发器组
func (*Engine) OnSuffixGroup ¶
OnSuffixGroup 后缀触发器组
func (*Engine) UseMidHandler ¶
UseMidHandler 向该 Engine 添加新 MidHandler(Rule), 会在 Rule 判断后, Matcher 触发前触发,如果 midHandler 没有通过,则 Matcher 不会触发
可用于速率限制等
func (*Engine) UsePostHandler ¶
UsePostHandler 向该 Engine 添加新 PostHandler(Rule), 会在 Matcher 触发后触发,如果 PostHandler 返回 false, 则后续的 post handler 不会触发
可用于反并发等
func (*Engine) UsePreHandler ¶
UsePreHandler 向该 Engine 添加新 PreHandler(Rule), 会在 Rule 判断前触发,如果 preHandler 没有通过,则 Rule, Matcher 不会触发
可用于分群组管理插件等
type Event ¶
type Event struct { Time int64 `json:"time"` PostType string `json:"post_type"` DetailType string `json:"-"` MessageType string `json:"message_type"` SubType string `json:"sub_type"` MessageID interface{} `json:"-"` // int64 in qq or string in guild RawMessageID json.RawMessage `json:"message_id"` // int64 in qq or string in guild GroupID int64 `json:"group_id"` ChannelID string `json:"channel_id"` GuildID string `json:"guild_id"` UserID int64 `json:"user_id"` TinyID string `json:"tiny_id"` TargetID int64 `json:"target_id"` SelfID int64 `json:"self_id"` SelfTinyID string `json:"self_tiny_id"` RawMessage string `json:"raw_message"` // raw_message is always string Anonymous interface{} `json:"anonymous"` AnonymousFlag string `json:"anonymous_flag"` // This field is deprecated and will get removed, see #11 Event string `json:"event"` NoticeType string `json:"notice_type"` // This field is deprecated and will get removed, see #11 OperatorID int64 `json:"operator_id"` // This field is used for Notice Event File *File `json:"file"` RequestType string `json:"request_type"` Flag string `json:"flag"` Comment string `json:"comment"` // This field is used for Request Event Message message.Message `json:"-"` // Message parsed Sender *User `json:"sender"` NativeMessage json.RawMessage `json:"message"` IsToMe bool `json:"-"` RawEvent gjson.Result `json:"-"` // raw event }
Event is the event emitted form cqhttp
type File ¶
type File struct { ID string `json:"id"` Name string `json:"name"` Size int64 `json:"size"` BusID int64 `json:"busid"` }
File 文件
type FutureEvent ¶
FutureEvent 是 ZeroBot 交互式的核心,用于异步获取指定事件
func NewFutureEvent ¶
func NewFutureEvent(Type string, Priority int, Block bool, rule ...Rule) *FutureEvent
NewFutureEvent 创建一个FutureEvent, 并返回其指针
func (*FutureEvent) Next ¶
func (n *FutureEvent) Next() <-chan *Ctx
Next 返回一个 chan 用于接收下一个指定事件
该 chan 必须接收,如需手动取消监听,请使用 Repeat 方法
func (*FutureEvent) Repeat ¶
func (n *FutureEvent) Repeat() (recv <-chan *Ctx, cancel func())
Repeat 返回一个 chan 用于接收无穷个指定事件,和一个取消监听的函数
如果没有取消监听,将不断监听指定事件
func (*FutureEvent) Take ¶
func (n *FutureEvent) Take(num int) <-chan *Ctx
Take 基于 Repeat 封装,返回一个 chan 接收指定数量的事件
该 chan 对象必须接收,否则将有 goroutine 泄漏,如需手动取消请使用 Repeat
type Group ¶
type Group struct { ID int64 `json:"group_id"` Name string `json:"group_name"` MemberCount int64 `json:"member_count"` MaxMemberCount int64 `json:"max_member_count"` }
Group 群
type Matcher ¶
type Matcher struct { // Temp 是否为临时Matcher,临时 Matcher 匹配一次后就会删除当前 Matcher Temp bool // Block 是否阻断后续 Matcher,为 true 时当前Matcher匹配成功后,后续Matcher不参与匹配 Block bool // Break 是否退出后续匹配流程, 只有 rule 返回 false 且此值为真才会退出, 且不对 mid handler 以下的 rule 生效 Break bool // NoTimeout 处理是否不设超时 NoTimeout bool // Priority 优先级,越小优先级越高 Priority int // Event 当前匹配到的事件 Event *Event // Type 匹配的事件类型 Type Rule // Rules 匹配规则 Rules []Rule // Handler 处理事件的函数 Handler Handler // Engine 注册 Matcher 的 Engine,Engine可为一系列 Matcher 添加通用 Rule 和 其他钩子 Engine *Engine }
Matcher 是 ZeroBot 匹配和处理事件的最小单元
func OnCommandGroup ¶
OnCommandGroup 命令触发器组
func OnFullMatchGroup ¶
OnFullMatchGroup 完全匹配触发器组
func OnKeywordGroup ¶
OnKeywordGroup 关键词触发器组
func OnPrefixGroup ¶
OnPrefixGroup 前缀触发器组
func OnSuffixGroup ¶
OnSuffixGroup 后缀触发器组
func StoreMatcher ¶
StoreMatcher store a matcher to matcher list.
func StoreTempMatcher ¶
StoreTempMatcher store a matcher only triggered once.
func (*Matcher) BindEngine ¶
BindEngine bind the matcher to a engine
func (*Matcher) FirstPriority ¶
FirstPriority 设置当前 Matcher 优先级 - 0
func (*Matcher) FutureEvent ¶
func (m *Matcher) FutureEvent(Type string, rule ...Rule) *FutureEvent
FutureEvent 返回一个 FutureEvent 实例指针,用于获取满足 Rule 的 未来事件
func (*Matcher) SecondPriority ¶
SecondPriority 设置当前 Matcher 优先级 - 1
func (*Matcher) SetPriority ¶
SetPriority 设置当前 Matcher 优先级
func (*Matcher) ThirdPriority ¶
ThirdPriority 设置当前 Matcher 优先级 - 2
type Message ¶
type Message struct { Elements message.Message MessageId message.MessageID Sender *User MessageType string }
Message 消息
type Rule ¶
Rule filter the event
func CommandRule ¶
CommandRule check if the message is a command and trim the command name
func FullMatchRule ¶
FullMatchRule check if src has the same copy of the message
func KeywordRule ¶
KeywordRule check if the message has a keyword or keywords
type User ¶
type User struct { // Private sender // https://github.com/botuniverse/onebot-11/blob/master/event/message.md#%E7%A7%81%E8%81%8A%E6%B6%88%E6%81%AF ID int64 `json:"user_id"` TinyID string `json:"tiny_id"` // TinyID 在 guild 下为 ID 的 string NickName string `json:"nickname"` Sex string `json:"sex"` // "male"、"female"、"unknown" Age int `json:"age"` Area string `json:"area"` // Group member // https://github.com/botuniverse/onebot-11/blob/master/event/message.md#%E7%BE%A4%E6%B6%88%E6%81%AF Card string `json:"card"` Title string `json:"title"` Level string `json:"level"` Role string `json:"role"` // "owner"、"admin"、"member" // Group anonymous AnonymousID int64 `json:"anonymous_id" anonymous:"id"` AnonymousName string `json:"anonymous_name" anonymous:"name"` AnonymousFlag string `json:"anonymous_flag" anonymous:"flag"` }
User is a user on QQ.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package driver provides the default driver of zerobot
|
Package driver provides the default driver of zerobot |
manager
Package manager provides a simple group plugin Manager.
|
Package manager provides a simple group plugin Manager. |
kv
Package kv provides a simple wrap of goleveldb for multi bucket database
|
Package kv provides a simple wrap of goleveldb for multi bucket database |
rate
Package rate provides a rate limiter hooker, this package is based on golang.org/x/time/rate
|
Package rate provides a rate limiter hooker, this package is based on golang.org/x/time/rate |
utils
|
|