Categorygithub.com/botuniverse/go-libonebot
modulepackage
0.7.0
Repository: https://github.com/botuniverse/go-libonebot.git
Documentation: pkg.go.dev

# README

Go LibOneBot

OneBot Version Go Reference

Go LibOneBot 可以帮助 OneBot 实现者快速在新的聊天机器人平台实现 OneBot 12 接口标准

具体而言,Go LibOneBot 通过 OneBotConfigActionMuxEvent 等类型的抽象,让 OneBot 实现者只需编写少量代码即可完成一个 OneBot 实现,而无需关心过多 OneBot 标准所定义的通信方式的细节。

基于 LibOneBot 实现 OneBot 时,OneBot 实现者只需专注于编写与聊天机器人平台对接的逻辑,包括通过长轮询或 webhook 方式从机器人平台获得事件,并将其转换为 OneBot 事件,以及处理 OneBot 动作请求,并将其转换为对机器人平台 API 的调用。

用法

使用方法请参考 Examplesrichardchien/go-onebot-repl(通过交互命令行输入“私聊消息”的 OneBot 实现)和 Godoc 文档

局限

Go LibOneBot 不会提供很好的多机器人账号连接复用支持,如需更好的支持,请使用 walle-core

致谢

# Packages

No description provided by the author

# Functions

AudioSegment 构造一个音频消息段.
CustomSegment 构造一个指定类型的消息段.
EasierMapFromEasyMap 从 EasyMap 创建一个 EasierMap.
EasierMapFromMap 从 map[string]interface{} 创建一个 EasierMap.
FileSegment 构造一个文件消息段.
ImageSegment 构造一个图片消息段.
LocationSegment 构造一个位置消息段.
MakeChannelCreateNoticeEvent 构造一个频道新建事件.
MakeChannelDeleteNoticeEvent 构造一个频道删除事件.
MakeChannelMemberDecreaseNoticeEvent 构造一个频道成员减少通知事件.
MakeChannelMemberIncreaseNoticeEvent 构造一个频道成员增加通知事件.
MakeChannelMessageDeleteNoticeEvent 构造一个频道消息删除通知事件.
MakeChannelMessageEvent 构造一个频道消息事件.
MakeFriendDecreaseNoticeEvent 构造一个好友减少通知事件.
MakeFriendIncreaseNoticeEvent 构造一个好友增加通知事件.
MakeGroupMemberDecreaseNoticeEvent 构造一个群成员减少通知事件.
MakeGroupMemberIncreaseNoticeEvent 构造一个群成员增加通知事件.
MakeGroupMessageDeleteNoticeEvent 构造一个群消息删除通知事件.
MakeGroupMessageEvent 构造一个群消息事件.
MakeGuildMemberDecreaseNoticeEvent 构造一个群组成员减少通知事件.
MakeGuildMemberIncreaseNoticeEvent 构造一个群组成员增加通知事件.
MakeHeartbeatMetaEvent 构造一个心跳元事件.
MakeMessageEvent 构造一个消息事件.
MakeMetaEvent 构造一个元事件.
MakeNoticeEvent 构造一个通知事件.
MakePrivateMessageDeleteNoticeEvent 构造一个私聊消息删除通知事件.
MakePrivateMessageEvent 构造一个私聊消息事件.
MakeRequestEvent 构造一个请求事件.
MakeStatusUpdateMetaEvent 构造一个状态更新元事件.
MentionAllSegment 构造一个提及所有人消息段.
MentionSegment 构造一个提及消息段.
NewActionMux 创建一个新的 ActionMux 对象.
NewOneBot 创建一个新的 OneBot 实例.
NewOneBotMultiSelf 创建一个新的多机器人账号复用的 OneBot 实例.
NewParamGetter 创建一个 ParamGetter 对象.
ReplySegment 构造一个回复消息段.
TextSegment 构造一个纯文本消息段.
VideoSegment 构造一个视频消息段.
VoiceSegment 构造一个语音消息段.

# Constants

删除消息.
获取频道信息.
获取频道列表.
获取频道成员信息.
获取频道成员列表.
获取文件.
分片获取文件.
获取好友列表.
获取群信息.
获取群列表.
获取群成员信息.
获取群成员列表.
获取群组信息.
获取群组列表.
获取群组成员信息.
获取群组成员列表.
获取最新事件列表 (仅 HTTP 通信方式支持).
获取机器人自身信息.
获取 OneBot 运行状态.
获取支持的动作列表.
获取用户信息.
获取 OneBot 版本信息.
退出频道.
退出群.
退出群组.
发送消息.
设置频道名称.
设置群名称.
设置群组名称.
上传文件.
分片上传文件.
成员被踢出.
成员主动退出.
成员被邀请加入.
成员主动加入.
管理员删除.
发送者主动删除.
HTTP 通信方式.
HTTP Webhook 通信方式.
无通信方式 (OneBot 实现内部构造的请求).
WebSocket 通信方式.
反向 WebSocket 通信方式.
消息事件.
元事件.
通知事件.
请求事件.
成员被踢出.
成员主动退出.
成员被邀请加入.
成员主动加入.
管理员删除.
发送者主动删除.
成员被踢出.
成员主动退出.
成员被邀请加入.
成员主动加入.
OneBot 标准版本.
动作处理器实现错误 (如没有正确设置响应状态等).
无效的动作请求参数 (参数缺失或参数类型错误).
无效的动作请求 (格式错误, 必要字段缺失或字段类型错误).
无效的消息段参数 (参数缺失或参数类型错误).
数据库错误.
动作执行错误 (OneBot 实现可根据需要在低三位细分).
文件系统错误.
动作处理器错误 (类似 HTTP 的 5xx 服务端错误).
我不想干了 (一位 OneBot 实现决定罢工).
动作处理器运行时抛出异常.
动作逻辑错误 (如尝试向不存在的用户发送消息等).
网络错误.
成功.
机器人平台错误 (如由于机器人平台限制导致消息发送失败等).
动作请求错误 (类似 HTTP 的 4xx 客户端错误).
保留错误段.
RetCodeXxx 表示动作响应返回码.
不存在的机器人账号 (动作请求指定的机器人账号不存在).
不支持的动作请求 (OneBot 实现没有实现该动作).
不支持的动作请求参数 (OneBot 实现没有实现该参数的语义).
不支持的消息段类型 (OneBot 实现没有实现该消息段类型).
不支持的消息段参数 (OneBot 实现没有实现该参数的语义).
未指定机器人账号 (OneBot 实现在单个 OneBot Connect 连接上支持多个机器人账号,但动作请求未指定要使用的账号).
音频消息段.
文件消息段.
图片消息段.
位置消息段.
提及 (即 @) 消息段.
提及所有人消息段.
回复消息段.
纯文本消息段.
视频消息段.
语音消息段.
LibOneBot 版本号.

# Structs

ActionMux 将动作请求按动作名称分发到不同的 Handler 对象处理.
ChannelCreateNoticeEvent 表示一个频道新建事件.
ChannelDeleteNoticeEvent 表示一个频道删除事件.
ChannelMemberDecreaseNoticeEvent 表示一个频道成员减少通知事件.
ChannelMemberIncreaseNoticeEvent 表示一个频道成员增加通知事件.
ChannelMessageDeleteNoticeEvent 表示一个频道消息删除通知事件.
ChannelMessageEvent 表示一个频道消息事件.
Config 表示一个 OneBot 配置.
ConfigComm 配置通信方式.
ConfigCommHTTP 配置一个 HTTP 通信方式.
ConfigCommHTTPWebhook 配置一个 HTTP Webhook 通信方式.
ConfigCommWS 配置一个 WebSocket 通信方式.
ConfigCommWSReverse 配置一个反向 WebSocket 通信方式.
ConfigHeartbeat 配置心跳.
EasierMap 在 EasyMap 的基础上添加了 GetMessage 方法.
Event 包含所有类型事件的共同字段.
FriendDecreaseNoticeEvent 表示一个好友减少通知事件.
FriendIncreaseNoticeEvent 表示一个好友增加通知事件.
GroupMemberDecreaseNoticeEvent 表示一个群成员减少通知事件.
GroupMemberIncreaseNoticeEvent 表示一个群成员增加通知事件.
GroupMessageDeleteNoticeEvent 表示一个群消息删除通知事件.
GroupMessageEvent 表示一个群消息事件.
GuildMemberDecreaseNoticeEvent 表示一个群组成员减少通知事件.
GuildMemberIncreaseNoticeEvent 表示一个群组成员增加通知事件.
HeartbeatMetaEvent 表示一个心跳元事件.
MessageEvent 表示一个消息事件.
MetaEvent 表示一个元事件.
NoticeEvent 表示一个通知事件.
OneBot 表示一个 OneBot 实例.
ParamGetter 用于在处理动作请求时方便地获取参数, 当参数不存在或参数错误时, 向 ResponseWriter 写入错误信息.
PrivateMessageDeleteNoticeEvent 表示一个私聊消息删除通知事件.
PrivateMessageEvent 表示一个私聊消息事件.
Request 表示一个动作请求.
RequestCommMethod 表示接收动作请求的通信方式.
RequestEvent 表示一个请求事件.
Response 表示一个动作响应.
ResponseWriter 封装了对 Response 的修改操作.
Segment 表示一个消息段.
Self 用于唯一标识一个机器人账号.
StatusUpdateMetaEvent 表示一个状态更新元事件.

# Interfaces

AnyEvent 是所有事件对象共同实现的接口.
Handler 是动作处理器需要实现的接口.

# Type aliases

HandlerFunc 表示一个实现 Handler 接口的函数.
Message 表示一条消息.