Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Apr 16, 2024. It is now read-only.

super1207/KookOneBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

73 Commits

Repository files navigation

此项目停止维护

此项目停止维护,您有如下4种迁移方法:

1:寻找其它同类项目

2:fork一份此项目自己维护

3:继续使用,并每天祈祷不会出问题

onebot-11并不是一个完善的协议,在错误的路上走得越远,越难以实现one bot。

应该完善协议,而不是继续加强生态。

为一些原作者都已经放弃的插件或协议编写兼容器不是我的初衷。

KookOnebot

为kook实现onebot11协议!

注意,群聊==频道,好友==私信

我们为此项目创建了一个KOOK群,欢迎来玩,邀请链接:https://kook.top/3SEwQj

红色问答MiraiCQ 与此项目配合更佳,欢迎加入为它们创建的QQ群:920220179、556515826

如果你想在Mirai & MrXiaoM/Overflow中体验kookonebot,暂时请使用github actions中的版本。

配置文件

config.json 例子:

{
	"web_port": 8080,
	"web_host": "127.0.0.1",
	"kook_token": "1/MTUyNDY=/snqjxHpGZFdEM50wyZLOpg==",
	"access_token": "123456",
	"reverse_uri": [
				"http://127.0.0.1:55001/OlivOSMsgApi/pp/onebot/default",
 	"ws://127.0.0.1:5555/some"
			],
	"secret":""
}

解释:

web_port:正向http和正向websocket需要这个端口号,若不使用正向http和正向websocket,填0即可。

web_host:正向http和正向websocket需要这个,若想要外网访问,填"0.0.0.0",若不使用正向http和正向websocket,填""即可。

kook_token:kook的token,请到此处去获得:KOOK 开发者中心 - 机器人 (kookapp.cn)

access_token:正向http、正向websocket、反向websocket需要,若不需要访问密码,填""即可。

reverse_uri:反向http和反向websocket需要这个,若不需要反向http或反向ws,填[]即可。

secret:反向http需要的HMAC签名,用来验证上报的数据确实来自OneBot,若不需要,填""即可。

注意:所有的字段都是必填的,不可省略!!!

网络协议实现

正向ws

正向http,端口号和正向ws相同,自动识别!

反向ws

反向 http

API

已实现

send_group_msg 发送群消息

目前支持文字、图片、at、回复、自定义音乐分享、qq/网易云音乐分享(使用故梦api)、语音

send_private_msg 发送私聊消息

目前支持文字、图片、回复、自定义音乐分享、qq/网易云音乐分享(使用故梦api)、语音

get_login_info 获取登录号信息

get_stranger_info 获取陌生人信息

年龄为0,性别为unknown

get_group_info 获取群信息

成员数和最大成员数暂时为0,待研究。

get_group_list 获取群列表

成员数和最大成员数暂时为0,待研究。如果你拥有的频道数量大于150,则此api调用失败。

get_group_member_info 获取群成员信息

成员信息尽力提供,服务器拥有者,被认为是owner,若有加入某角色,被认为是admin,否则被认为是member。

get_group_member_list 获取群成员列表

成员信息尽力提供,服务器拥有者,被认为是owner,若有加入某角色,被认为是admin,否则被认为是member。

send_msg 发送消息

can_send_image 检查是否可以发送图片

直接返回可以

get_status 获取运行状态

get_version_info 获取版本信息

set_group_kick 群组踢人

实际上是踢出服务器

delete_msg 撤回消息

set_group_leave 退出群组

实际上会退出服务器

can_send_record 检查是否可以发送语音

直接返回可以

set_group_name 设置群名

set_group_card 设置群名片(群备注)

实际上会设置该用户在服务器中的名字

get_friend_list 获取好友列表

实际上获取在bot的私信列表上的人

get_cookies 获取机器人的cookies

domaintoken,响应数据中的cookies为kook的token,你可以用这个api来实现一些其它非onebot标准的功能。

正在研究

get_msg 获取消息(可能需要数据库支持才行)

set_group_add_request 处理加群请求

不实现

send_like 发送好友赞(kook没有这个)

get_group_honor_info 获取群荣誉信息(kook没有群荣誉)

get_cookies 获取 Cookies(kook没有这个)

get_csrf_token 获取 CSRF Token(kook没有这个)

get_credentials 获取 QQ 相关接口凭证(kook没有这个)

clean_cache 清理缓存(没必要)

set_restart 重启 OneBot 实现(没必要)

set_group_anonymous 群组匿名(kook没有匿名)

get_forward_msg 获取合并转发消息(kook没有合并转发)

get_image 获取图片(此api已经过时)

set_group_anonymous_ban 群组匿名用户禁言(kook没有匿名)

set_friend_add_request 处理加好友请求(bot不能被加好友)

get_record 获取语音(此api已经过时)

set_group_special_title 设置群组专属头衔(kook没有这个)

set_group_ban 群组单人禁言(kook的权限机制不好实现这个)

set_group_whole_ban 群组全员禁言(kook的权限机制不好实现这个)

set_group_admin 群组设置管理员(kook的权限机制不好实现这个)

set_group_add_request 处理加群邀请(kook的bot被邀请就会同意,不需要处理)

事件

已实现

群消息

目前接收文字、图片、at、回复、语音

私聊消息

目前接收文字、图片、回复、语音

生命周期

仅connect(反向http没有此事件)。

群成员减少

sub_type只支持leave,无论是被踢还是自己退出,都为leave,operator_id与user_id相同,均为退出的人

bot自己被踢不会触发此事件。

群成员增加

sub_type只支持approve,无论是被邀请还是自己加入,均为approve,operator_id与user_id相同,均为加入的人

群消息撤回

无法获得正确的operator_id,kook没有提供

好友消息撤回

群文件上传

busid 始终为0,也没啥用

心跳

目前固定为5秒一次

正在研究

加群请求

不实现

好友添加(bot不能被加好友)

群内戳一戳(kook没有这个)

群红包运气王(kook没有这个)

群成员荣誉变更(kook没有这个)

加好友请求(kook没有这个)

群管理员变动(kook的权限机制不好实现这个)

群禁言(kook的权限机制不好实现这个)

加群邀请(bot被邀请就会自己同意)

自行编译

注意,通常情况下,如果您不打算参与此项目的开发,就无需自行编译,请直接到release(或者github action)中去下载。

$ENV:RUSTFLAGS='-C target-feature=+crt-static';cargo run --target=i686-pc-windows-msvc --release
cargo install cross --git https://github.com/cross-rs/cross
cross build --target i686-unknown-linux-musl --release

Packages

No packages published

Contributors 3

Languages

AltStyle によって変換されたページ (->オリジナル) /