SponserRole Bot for Kook
kook的助力者感谢bot。服务器新增助力用户的时候,在指定频道发送信息感谢助力者
命令 | 功能 |
---|---|
/hh |
测试bot是否上线/是否有发言权限 |
/sphelp |
帮助命令 |
/spr |
在当前 频道发送助力者感谢信息 |
/spr #文字频道 |
在指定 频道发送助力者感谢信息 |
/spr-d |
取消当前服务器的助力者提醒 |
/spr-text 文字 |
自定义助力者信息的感谢文字 |
更多
旧版本的助力者感谢信息基于助力者的角色组id,kook新提供了查询服务器助力历史的接口,不再需要使用这个办法来替代查询!
需要注意,这里的id指的是角色/频道的唯一数字id
,并非名字!
获取方式(必须要是服务器管理员,必须在pc端操作)
个人设置-高级设置-打开开发者模式,进入服务器设置-角色设置-右键助力者角色-复制id
文字频道id获取方式同上,打开开发者模式后,右键文字频道-复制id即可
设置之前,请使用/hh
命令检查机器人是否有在当前频道或指定频道发言的权限,避免设置失效!
当前获取助力者角色只能依靠/api/v3/guild/user-list 接口获取到当前服务器的指定角色id的用户列表,将其存放本地后,过一段时间二次获取,比较角色列表区别,即可发现新的助力者
但由于官方没有提供助力者专门的接口,用上面的办法有一些缺陷:
- 一次助力的时长是一个月,可以叠加助力包个数,但是不能叠加助力时间
- 助力者角色是系统自动上的,且无法被管理员删除;系统也不会在助力结束后解除某个用户的助力者角色
- 因为无法被删除,所以无法得知一个用户是否有进行二次助力
综上所述,本功能可以说是一个“一次性功能”,只有用户首次在某个服务器助力的时候,才能有通知,且无法得知该助力者助力了几个包
基本框架:khl.py 提供的kook sdk
以及使用教程
kook api文档:官方文档 通过aiohttp
库调用api
关于code里面的makefile,这是用于linux下快速启动bot后台运行的。如果你想在自己的linux服务器使用,请把里面的py3
改成你自己云服务器上的python(就是用来命令行运行python程序的哪一个,如python3
)