Package: hikari-bot
Hikari战舰世界水表BOT💘您不打算给可爱的Hikari点个Star吗QAQ简介战舰世界水表BOT，基于Nonebot2水表人，出击！wws me recent！！！QQ频道官方机器人已上线，请点击上方链接加入体验~Hoshino版插件特色账号总体、单船、近期战绩全指令支持参数乱序快速切换绑定账号实时推送对局信息支持@快速查询全异步，高并发下性能更优支持频道（非官方bot类型）点我查看功能列表绑定账号：wws bind/set/绑定 [服务器+游戏昵称]：查询账号绑定列表：wws [查询/查]绑定/绑定列表 [me/@群友]：切换删除绑定账号：wws [切换/删除]绑定 [序号]查询账号总体战绩：wws [(服务器+游戏昵称)/@群友/me]查询账号历史记录：wws [(服务器+游戏昵称)/@群友/me] record查询账号近期战绩：wws [(服务器+游戏昵称)/@群友/me] recent [日期]查询单船总体战绩：wws [(服务器+游戏昵称)/@群友/me] ship [船名]查询单船近期战绩：wws [(服务器+游戏昵称)/@群友/me] ship [船名] recent [日期]查询服务器排行榜：wws [服务器+战舰名] rank/ship.rank查询军团详细信息：wws [(服务器+军团名)/@群友/me] clan查询军团历史记录：wws [(服务器+军团名)/@群友/me] clan record查询舰船中英文名：wws [搜/查船名] [国家][等级][类型]添加游戏战绩监控: wws [添加监控] [服务器] [游戏昵称] [备注名]查询游戏战绩监控: wws [查询监控]删除游戏战绩监控: wws [删除监控] [监控序号]重置全部战绩监控: wws重置监控检查版本更新：wws 检查更新更新：wws 更新Hikari查看帮助：wws help噗噗：一言点我查看与Hoshino版的区别Hikari所使用的Nonebot2框架相比Hoshino更易部署，且两者在单环境下不兼容一些功能比如频道目前仅支持HikariHoshino的插件生态更偏向PCR，具体可以查看Nonebot2商店和Hoshino插件索引由于个人精力原因，主要功能开发和维护面向Hikari，Hoshino版仅做最低限度功能适配点我查看遇到问题如何解决请确认您已按文档中部署流程进行请确认您已完整浏览可能会遇到的问题，且仍无法自行解决提问的智慧提供系统环境和bot版本，以及出现问题前后至少 10 秒的完整日志内容。请自行删除日志内存在的个人信息及敏感内容在Windows系统上快速部署点我查看视频教程windows安装python版本请勿大于3.11,建议版本3.9下载Hikari的最新Release并解压到合适文件夹复制一份.env.prod-example文件，并将其重命名为.env.prod,打开并按其中注释编辑只显示了.env，没有后面的后缀？请百度windows如何显示文件后缀名API_TOKEN = xxxxxxxx #无需引号，TOKEN即回复您的邮件所带的一串由[数字+冒号+英文/数字]组成的字符串
SUPERUSERS=["QQ号"]最后TOKEN应该长这样API_TOKEN = 123764323:ba1f2511fc30423bdbb183fe33从0.3.2.2版本开始，您没有填写的配置将按.env文件中的默认配置执行，具体逻辑为私聊、频道默认禁用群聊默认开启，默认屏蔽官方交流群默认WEB登录账号密码为admin/admin，如有需要请自行修改，无需设置密码请删除env.prod中的配置项双击启动.bat页面加载不出请尝试刷新一下，已知IE浏览器可能存在一些问题此时若没有报错，您可以在打开的页面http://127.0.0.1:8080/go-cqhttp/中
点击左侧添加账号，重启bot即可在网页上看到相应信息（大概率需要扫码）如果重启后go-cqhhtp一直卡在扫码或无限重启，请跳转无法使用内嵌go-cqhttp登录Linux一键脚本仅支持Debian、CentOS、Ubuntuwget -qO - https://fastly.jsdelivr.net/gh/benx1n/HikariBot@master/install.sh | bash使用Docker部署Docker目录下是一个简单的Dockerfile，可以基于官方的Python容器封装一个完整的HikariBot以12hydrogen/hikari-bot:latest上线官方仓库注意需要将内部的8080端口映射出来docker run -d -P 12hydrogen/hikari-bot:latest -t [token] -i [qqid] # 首次使用需输入token和qqid，-P表示将8080端口随机映射至主机
docker run -d -p 12345:8080 12hydrogen/hikari-bot:latest -t [token] -i [qqid] # 使用-p以指定映射在外的端口运行上述指令后会在终端显示一串字符，即Docker容器的标识符，一般使用前几位即可唯一确定一个容器1a2b3c4d5e..... # 标识符
docker stop 1a2b # 使用前四位确定，stop即停止容器
1a2b3c4d5e.....
docker start 1a2b # start即启动容器
1a2b3c4d5e.....
docker restart 1a2b # restart即重启容器
1a2b3c4d5e.....在更新后即上传新版本容器docker pull 12hydrogen/hikari-bot:latest # 更新
docker stop 1a2b
1a2b...
docker run -d --volumes-from 1a2b -P 12hydrogen/hikari-bot:latest -t [token] -i [qqid] # 随机映射
or
docker run -d --volumes-from 1a2b -p 12345:8080 12hydrogen/hikari-bot:latest -t [token] -i [qqid] # 指定映射
9z8y... # 注意标识符变化了
docker rm 1a2b # 删除旧容器，
1a2b...将配置文件与容器分离
使用volume在宿主机保存相关账号信息，更新时按照相关步骤继承volume即可在Windows系统上完整部署下载Git、Python并安装Python版本需>3.8，或参考Hoshino版插件中使用Conda虚拟环境请注意python安装时勾选或点击添加到环境变量，可以安装后cmd中输入python --version来验证是否成功否则请自行百度如何添加python到环境变量打开一个合适的文件夹，鼠标右键——Git Bash here，输入以下命令（任选一条）克隆本Hikari仓库git clone https://github.com/benx1n/HikariBot.git

git clone https://gitee.com/benx1n/HikariBot.git以管理员身份运行一键安装.bat等效于在cmd中执行如下代码python -m pip install nb-cli hikari-bot nonebot-plugin-apscheduler nonebot-plugin-gocqhttp -i https://pypi.tuna.tsinghua.edu.cn/simple复制一份.env.prod-example文件，并将其重命名为.env.prod,打开并按其中注释编辑只显示了.env，没有后面的后缀？请百度windows如何显示文件后缀名API_TOKEN = xxxxxxxx #无需引号，TOKEN即回复您的邮件所带的一串由[数字+冒号+英文/数字]组成的字符串
SUPERUSERS=["QQ号"]最后TOKEN应该长这样API_TOKEN = 123764323:ba1f2511fc30423bdbb183fe33从0.3.2.2版本开始，您没有填写的配置将按.env文件中的默认配置执行，具体逻辑为私聊、频道默认禁用群聊默认开启，默认屏蔽官方交流群`默认WEB登录账号密码为admin/admin，如有需要请自行修改，无需设置密码请删除env.prod中的配置项默认开启噗噗默认开启缓存上报默认关闭代理双击启动.bat，在打开的浏览器中添加bot账号密码，重新启动Hikari页面加载不出请尝试刷新一下，已知IE浏览器可能存在一些问题此时若没有报错，您可以在打开的页面http://127.0.0.1:8080/go-cqhttp/中
点击左侧添加账号，重启bot即可在网页上看到相应信息（大概率需要扫码）如果重启后go-cqhhtp一直卡在扫码或无限重启，请跳转无法使用内嵌go-cqhttp登录在Linux上完整部署需要Python基本环境Clone本仓库使用./manage.sh，基于原有批处理脚本无参数调用以获取使用帮助install安装必须的依赖与bot本体update更新botstart [-t/--token] [token] [-i/--id] [qqid]运行bot在当前目录下不存在.env.prod的情况下从参数获取token和qqid以创建相应文件，否则直接运行考虑到使用Linux部署时多数情况下本地不存在图形界面，有风险的向公网开放访问加入验证机制（listed）作为已有Bot的插件部署（如真寻、Haruka）如果您已经有了一个基于Nonebot2的机器人（例如真寻），您可以直接pip install hikari-bot在bot的bot.py中加入nonebot.load_plugin('nonebot_plugin_htmlrender')
nonebot.load_plugin('hikari_bot')在环境文件中加入以下配置项API_TOKEN = xxxxxxxxxxxx
SUPERUSERS=["QQ号"]             #超级管理员，填写你需要控制机器人的QQ号
private = false                 #开启私聊
group = true                    #开启群聊
channel = false                 #开启频道
all_channel = false             #是否全频道生效，无论此项配置如何，channel_list中的频道一定会开启
channel_list = []               #频道列表白名单，数组形式，可在控制台中获取相应的channel_id
admin_list = []                 #管理员列表，可以添加删除监控等权限，但无法控制机器人
ban_group_list = [967546463]    #群列表黑名单，默认屏蔽了开发者交流群
pupu = true                     #是否开启噗噗
check_cache = true              #是否开启缓存上报,可降低高峰期延迟,如果错误日志中频繁报错上报url:XXXXXXXX,请关闭此项或配置代理
proxy_on = false                #是否启用代理
proxy = http://localhost:7890   #代理地址，如果上面选项开启，这边替换为你本地的
ocr_on = true                   #是否开启ocr(识图指令)
ocr_offline = false             #是否只使用hash验证，即设置为true后只能识别服务器已记录的图片，如果群较多(>300)导致响应延迟较高可以开启
ocr_url = http://ocr.benx1n.com:23338           #默认ocr地址，一般不用动
http2 = true                    #是否开启http2，默认开启，如果有问题请设置为false
battle_listen_time = 1          #监控刷新时间，分钟级，如果性能或流量不够可以适当延长，推荐在5分钟以内
htmlrender_browser = "chromium"         #默认使用chromium启动，出现问题了请改为"firefox"尝试一般来说该文件为.env.dev
也有可能是.env.pord，具体需要看.env中是否有指定重启bot更新实验性更新指令：wws 更新Hikari请确保在能登录上服务器的情况下使用
以下是旧更新方法按不同版本Windows一键包：下载最新一键包，复制旧版本中accounts文件夹和env.prod文件替换至新版文件夹中即可完整版：以管理员身份运行更新.bat或执行./manage.sh update等效于在cmd中执行如下代码pip install --upgrade hikari-bot
git pull插件版：在cmd中执行如下代码pip install --upgrade hikari-bot对比.env.prod-example中新增的配置项，并同步至你本地的env.prodinstall结束后会打印当前版本您也可以通过pip show hikari-bot查看当前Hikari版本如果没有更新到最新版请等待一会儿，镜像站一般每五分钟同步从0.3.2.2版本开始，您没有填写的配置将按.env文件中的默认配置执行，具体逻辑为私聊、频道默认禁用群聊默认开启，默认屏蔽官方交流群最近的更新日志23-08-29    v1.0.0[!]本次为重要版本更新，请重新下载一键包或配置Hikari[+]重构代码，功能更新移至hikari-core[+]添加监控功能23-05-07    v0.3.9[+]重构代码[#]替换默认OCR接口23-04-07    v0.3.8[+]新增国服封号记录查询，指令wws ban/wws 封号记录[#]修复了上次修复排行榜新产生的bug23-04-04    v0.3.7[+]添加获取随机表情包，指令wws 随机表情包[+]更新船只选择界面[#]更新Linux脚本托管23-02-22    v0.3.6.4[+]添加随机嘴臭，概率千分之一[+]添加ocr启动报错提示[#]修复一键包及Docker依赖问题@94Bo@12hydrogen22-11-18    v0.3.6  包含配置项更新，请添加env.prod-example中新增的配置[+]新增噗噗（已于0.3.5.2实装）[+]新增OCR（已于0.3.5.5实装）[+]新增扫雪统计和圣诞船池检查[+]新增国服排行榜[#]大幅优化高峰期响应速度（已于0.3.5.3实装）[#]Linux下支持微软雅黑(已热更新)22-10-29    v0.3.5.5  添加测试功能OCR，支持图片指令22-10-27    v0.3.5.4  修复一键更新指令bug22-10-26    v0.3.5.3  添加缓存上报机制，修复噗噗误触发的bug22-10-25    v0.3.5.2  新增噗噗22-07-24    v0.3.5  适配nontbo2 v2.0.0rc122-07-24    v0.3.4配置项及入口文件更新请完整拉取最新仓库，并同步添加env.prod-example中新增的配置重要更新，完整版安装请拉取最新仓库代码，一键包请下载最新版本[+]新增一键更新指令，指令wws 更新Hikari[+]新增Linux一键脚本@94Bo[#]修改部分依赖版本[#]大幅改动了模板以适配后续功能[#]修改框架[#]修改接口url[#]修复了没有完全修复的兼容性问题#11[#]修改日志输出等级，现在控制台只会打印SUCCESS级以上的日志22-07-14    v0.3.3  积累更新[+]新增群聊黑名单，默认屏蔽开发者群"[+]docker添加CI/CD构建发布@12hydrogen[#]修复与其他插件的兼容性问题[#]更改了请求域名[#]修复manage.sh会更改toml的问题[#]修复了hoshino排行榜选择船只样式问题[#]修复仅打过PVE的单船仍会显示战绩详情的问题[#]info适配v4接口[+]新增配置项ban_group_list更以前的更新日志22-07-05    v0.3.2.2  一些修复[#]修复切换、删除绑定的bug[#]默认配置改为不启用WEB登陆验证[#]修复.bat的环境变量问题@94Bo22-07-04    v0.3.2.1配置项及入口文件更新请完整拉取最新仓库，并同步添加env.prod-example中新增的配置[+]新增对QQ频道的适配（非官方bot接入，官方版bot已上线yuyuko频道）[+]新增自定义开启群聊、私聊、QQ频道[+]新增web登录密码[+]新增默认配置项[+]新增PR彩蛋[#]info适配V3接口[#]recent显示时间区间22-06-23    v0.3.1重要功能更新[+]新增单船近期战绩，可显示每日详细信息，指令wws ship recent[+]新增docker部署@12hydrogen[#]修复国服特殊字符ID无法查询的bug[#]修复船只选择过期后发送数字序号仍被识别的bug22-06-15    v0.3.0.1重要功能更新[+]支持显示军团评级颜色[#]排行榜内部逻辑改动，现在仅显示前十，不更新将无法使用[#](hotfix)wws recent现在无随机战绩不会显示PR和上方战斗信息22-06-08    v0.2.9.4重要功能更新[+]新增单船的服务器排行，显示在wws ship的详情页面下[#]修复0.2.9后无法启动的bug[#]js依赖改为本地[#]修改recent样式，不更新可能会导致错位[#]优化报错提示22-06-03    v0.2.8  一些修复[+]新增删除绑定功能[#]修复wws ship总览经验和胜率不上色的bug[#]修复wws ship详情只有单野场均被上色的bug[#]修复wws 查船名中搜不到德国船的bug22-06-03    v0.2.6  [#]修复wws recent胜率颜色的bug22-06-03    v0.2.5  [#]修复wws recent击杀显示成命中的bug22-06-03    v0.2.4重要功能更新否则您将无法使用wws recent功能[+]全指令在游戏名外带上括号即可强制指定昵称，以适配一些带有空格、特殊字符、指令字符的昵称[+]新增特殊绑定，请配合网页端食用，复制后发送给Hikari即可一键绑定[+]新增部分报错提示[#]更改ship,rank,recent样式，现在没有战斗场次的类型不会被显示[#]优化Hikari的部署流程[#]修复me大写不被识别的问题22-06-02    v0.2.3  一些修复[+]全指令支持大写[#]修复Linux上可能出现的报错[#]修改部分图片的样式22-06-01    v0.2.2  修复了一个VSC导致的依赖错误22-06-01    v0.2.1  修复问题22-06-01    v0.2.0重要功能更新[+]新增排位数据[+]支持国服[+]单船战绩显示单野、自行车、三轮车[+]启用gzip，试图改善请求Timeout[+]增加3s指令CD和每日100次上限[#]修复图片内字符不对称的bug（强迫症）[#]修改未绑定账号时的返回[#]修复网络问题与找不到游戏名时相同返回的bug[#]适配HarukaBot22-05-31    v0.1.9  一些修复[#]解决由于QQ风控导致的船只选择列表无法发送的问题[#]修复带非me/@参数查询绑定时引起的报错22-05-30    v0.1.8重要更新[+]所有带请求参数的部分添加log输出以方便查找问题[+]添加平台报错时返回以和Hikari内部错误区分[#]移除bat脚本中的utf8以支持部分英文服务器[#]试图减少因网络导致的报错问题22-05-30    v0.1.7  一些修复[#]修复排行榜查询报错[#]修复部分环境可能出现的单船查询无法选择问题22-05-28    v0.1.6重要功能更新[+]新增排行榜查询 指令wws rank/ship.rank[+]新增是否开启内置go-cqhttp，默认开启22-05-28    v0.1.5  一些功能更新[+]添加等级显示，适配新舰船数据[+]新增wws 检查更新[+]配置项添加Bot管理员[#]修复定时任务不触发的bug22-05-27    v0.1.4  一些功能优化[+]添加在windows下的一键安装、更新、启动脚本[#]修复数字ID的recent匹配问题[#]优化提示逻辑22-05-27    v0.1.3  一些修复和适配[+]适配包括真寻等大部分Nonebot2机器人[#]修复自动更新的bug22-05-27    v0.1.2调整info接口，不更新无法使用22-05-27    v0.1.1  一些小改动22-05-27    v0.1.0  一些更新[+]新增定时检查更新[+]新增部署教程[+]添加11级战绩信息[#]优化账号总体和单船图片样式可能会遇到的问题go-cqhttp扫码后提示异地无法登录一般提示需要扫码，扫码后提示异地无法登录关于该问题，您可以查看这里获得相应解决办法，这里简单列举三种办法启动时登录方式选择浏览器滑条，按后续提示登录手机下载爱加速等代理，连接到服务器对应市级地区在本地电脑使用go-cqhttp登录成功后，将会在exe同级目录下生成session.token和device.json两个文件
将这两个文件复制到服务器对应目录下并重启内嵌go-cqhttp为account\QQ号独立go-cqhttp为exe所在同级目录下，请注意使用独立go-cqhttp时需要将.env.prod的USE_PLUGIN_GO_CQHTTP的值改为false无法使用内嵌go-cqhttp登录bot下载 go-cqhttp 至合适的文件夹github 发布页：https://github.com/Mrs4s/go-cqhttp/releases/latest您需要根据自己的机器架构选择版本，Windows一般为x86/64架构，通常选择go-cqhttp_windows_amd64.exe双击go-cqhttp，提示释出bat，重新运行bat，选择websocket反向代理，go-cqhttp将会在同文件夹内自动创建一个config.yml，右键使用notepad++打开，根据注释填写QQ账号密码，并将以下内容写入文件结尾（需替换原有的ws-reverse节点）：-ws-reverse:universal:ws://127.0.0.1:8080/onebot/v11/wsreconnect-interval:5000middlewares:<<:*default关于go-cqhttp的配置，你可以在这里找到更多说明。启动go-cqhttp，按照提示登录。此处如出现异地登陆保护，请尝试在本地电脑使用go-cqhttp登录成功后，将会在exe同级目录下生成session.token和device.json两个文件将这两个文件复制到服务器对应go-cqhttp目录下并重启此处如出现Code:45，请参考该视频配置签名服务修改Hikari文件夹下.env.prod中USE_PLUGIN_GO_CQHTTP的值为falseUSE_PLUGIN_GO_CQHTTP = false在文件夹下打开终端，输入python bot.py启动bot一键包双击启动.bat即可出现ZoneInfoNotFoundError报错您可以在这里找到相关解决办法Recent和绑定提示'鉴权失败'检查Token是否配置正确，token格式为XXXXX:XXXXXX如果配置正确可能是Token失效了，请重新申请'Config' Object has no attribute XXXX检查视力，重新阅读更新章节Failed to import "nonebot_plugin_guild_patch"以下方法任选一种更新python版本至3.9+降低Hikari版本至3.1，等待后续版本修复使用Hikari一键包，其中自带了3.10的python虚拟环境修改依赖包代码，见这里Ubuntu系统下部署字体不正常(针对一些云服务器的Ubuntu镜像，不保证成功，只是提供一个解决方案)执行以下命令，完善字体库并将中文设置成默认语言（部分Ubuntu可能不需要该步骤，可直接从第二步开始）sudo apt install fonts-noto  
sudo locale-gen zh_CN zh_CN.UTF-8  
sudo update-locale LC_ALL=zh_CN.UTF-8 LANG=zh_CN.UTF-8  
sudo fc-cache -fv在你的Windows电脑上打开C:\Windows\fonts文件夹，找到里面的微软雅黑字体，将其复制出来，放在任意目录，应该会得到msyh.ttc，mshybd.ttc，msyhl.ttc三个文件。（不会有人还用Win7吧？）进入到/usr/share/fonts文件夹下，创建一个文件夹命名为msyh，然后进入其中cd /usr/share/fonts 
sudo mkdir msyh 
cd msyh将三个字体文件上传到msyh文件夹中(过程中遇到的问题请自行解决)执行以下命令（此时你应该是在msyh文件夹下），加载字体sudo mkfontscale 
sudo mkfontdir 
sudo fc-cache -fv（可选，若不正常可尝试）重启Hikari。首次启动时plugin-gocqhttp的startup方法报错(traceback中一般还有ssl的错误)下载 go-cqhttpgithub 发布页：https://github.com/Mrs4s/go-cqhttp/releases/latest您需要根据自己的机器架构选择版本，Windows一般为x86/64架构，通常选择go-cqhttp_windows_amd64.exe重命名为go-cqhttp.*(*为所选择版本后缀,如windowx就是go-cqhttp.exe)并放入HikariBot\accounts\binary文件夹下重新启动Hikari贡献代码请向dev分支提交PR鸣谢感谢以下开发者及项目做出的贡献与支持Nonebot2go-cqhttp战舰世界API平台开源相关MIT
修改、分发代码时请保留原作者相关信息赞助