机器人 API

Connect connect = new("localhost", 3001, 3000);
Bot bot = new(connect);
名称类型使用参数说明
好友属性bot.Friends
属性bot.Groups
onebot版本属性bot.Version
onebot状态属性bot.Status
检查是否可以发送语音方法bot.CanSendRecord
检查是否可以发送图片方法bot.CanSendImage
重启方法bot.Restartdelay:延迟重启
发送私聊消息方法bot.SendPrivateMessageqq/friend:qq号/好友对象;msg:消息内容存在重载,自行查看
发送群聊消息方法bot.SendGroupMessagegroupQQ/group:qq群号/群对象;msg:消息内容存在重载,自行查看
扩展api方法方法bot.GetAsyncapiEndpoint:请求端点;paramStr:请求参数字符串(url格式拼接好)onebot实现框架的扩展api通用调用方法;存在重载,自行查看
扩展api方法方法bot.PostAsyncapiEndpoint:请求端点;data:请求body数据(json字符串)onebot实现框架的扩展api通用调用方法;存在重载,自行查看
资源释放方法bot.Dispose

群聊对象

 bot.MessageReceived.OfType<GroupReceiver>().Subscribe(gr =>
 {

 });
名称类型使用参数说明
群消息属性gr.Group群对象
发送消息方法gr.SendMessagemsg:消息内容存在重载,自行查看
撤回消息方法gr.Recall

群对象

Connect connect = new("localhost", 3001, 3000);
Bot bot = new(connect);
var group = bot.Groups[0];
名称类型使用参数说明
群成员列表属性group.Members群成员对象
群荣誉属性group.Honor
发送消息方法group.SendMessagemsg:消息内容存在重载,自行查看
全体禁言方法group.EnableGroupBan
取消全体禁言方法group.DisableGroupBan
允许匿名聊天方法group.EnableAnonymous
禁止匿名聊天方法group.DisableAnonymous
设置群名方法group.SetGroupNamename:新群名
退出群聊方法group.LeaveGroupdissolve:是否解散,如果登录号是群主,则仅在此项为 true 时能够解散

群成员对象

Connect connect = new("localhost", 3001, 3000);
Bot bot = new(connect);
var member = bot.Groups[0].Members[0];
名称类型使用参数说明
设置群组专属头衔方法member.SetTitletitle:专属头衔,不填或空字符串表示删除专属头衔;time:专属头衔有效期,单位秒,-1表示永久
成员在群的昵称方法member.SetNicknamename:成员在群的昵称,不填或空字符串表示删除昵称,使用qq昵称
任命管理方法member.SetAdmin
卸任管理方法member.RemoveAdmin
禁言方法member.Bantime?:禁言时间,单位秒
取消禁言方法member.CancelBan
踢出群聊方法member.Kickreject?:拒绝此人的加群请求
点赞方法member.Liketimes?:次数非好友可能操作失败
发送消息方法member.SendMessagemsg:消息内容非好友大概率发送失败;存在重载

好友对象

Connect connect = new("localhost", 3001, 3000);
Bot bot = new(connect);
var friend = bot.Friends[0];
名称类型使用参数说明
发送消息方法group.SendMessagemsg:消息内容存在重载,自行查看
点赞方法group.Liketimes?:次数存在重载,自行查看

框架扩展 API

onebot 机器人实现框架会有一些自己的 API(非 onebot 标准),此框架由于是按照 onebot 标准实现的,所以不提供也不会支持这些扩展 api 的使用方法,不过可以通过此框架的扩展 api 方法调用到这些 API。例如:

//例如框架扩展的api是upload_file,接口返回值假设是FileInfo类,需要传入path参数,则调用方法如下
bot.GetAsync("upload_file","?path=xxxxx");
bot.GetAsync<FileInfo>("upload_file","?path=xxxxx");
bot.PostAsync("upload_file",new {path="xxx"}.ToJsonStr());
bot.PostAsync<FileInfo>("upload_file",new {path="xxx"}.ToJsonStr());
Last Updated:
Contributors: Jaffoo, 子墨Jaffoo