Giter Site home page Giter Site logo

pcrjjc3-tw's Introduction

本项目已在另一个分支版本继续更新,建议更新,自动兼容新旧版账号文件,pcrjjc_tw_new

pcrjjc3(旧版文档)

本插件是pcrjjc2的修改版

当然,pcrjjc3也有不带竞技场排名推送的版本,在Lite分支

机器猫:更新支持了台服合服后版本,你必须更新你的账号文件才能使用

如何更新

一直摸兜里,直接git pull就完事了

重点注意

  1. 本插件和pcrjjc2的绑定信息文件(即自动生成的binds.json)的数据结构稍有区别,无法通用。

    有相关动手能力的可以自己在原binds.json的每个人的绑定信息里增加一条来适配(例如下方就是指该玩家为1服):

    "cx": "1"
    
  2. 另外,和pcrjjc2一样,由于使用了不验证ssl的方式,因此可能产生ssl的验证warning issue #7,可采用在hoshino文件夹下的aiorequests.py文件内加上几行:

    from requests.packages.urllib3.exceptions import InsecureRequestWarning
    requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
    

    来禁止该warning显示

  3. 本插件现已支持每个群友自定义头像框,默认为彩色头像框(为前川未来佬从不知道什么鬼鬼地方使劲抠出来的彩框2333),其余rank框均为游戏解包抠出来的原图。

    如果你需要自己添加其他头像框也是没问题滴,直接把图片扔进本目录下的/img/frame/文件夹里即可,并且不用重启hoshinobot即可,大多数常见的图片格式一般都行,会自动转RGBA所以一般来说不用担心

  4. 本插件现已支持自动更新版本号,妈妈再也不用担心我每次游戏版本更新时,都得手动改插件的版本号再重启hoshinobot了

  5. 若运行过程中出现TypeError: __init__() got an unexpected keyword argument 'strict_map_key'报错,为依赖问题,请在终端中进行如下操作,一行一行依次复制执行,过程中提示是否卸载,选择Y:

    pip uninstall msgpack_python
    pip uninstall msgpack
    pip install msgpack~=1.0.2
    
  6. 本插件仅适配新版星乃(hoshinobot),如果出现头像框等功能报错,请更新星乃本体。

命令

注意:数字3为服务器编号,支持1、2、3或4

关键词之间可以留空格也可以不留

关键词 说明
竞技场绑定 3 uid 绑定竞技场排名变动推送,默认双场均启用,仅排名降低时推送
竞技场查询 3 uid 查询竞技场简要信息(绑定后无需输入3 uid)
停止竞技场订阅 停止战斗竞技场排名变动推送
停止公主竞技场订阅 停止公主竞技场排名变动推送
启用竞技场订阅 启用战斗竞技场排名变动推送
启用公主竞技场订阅 启用公主竞技场排名变动推送
竞技场历史 查询战斗竞技场变化记录(战斗竞技场订阅开启有效,可保留10条)
公主竞技场历史 查询公主竞技场变化记录(公主竞技场订阅开启有效,可保留10条)
删除竞技场订阅 删除竞技场排名变动推送绑定
竞技场订阅状态 查看排名变动推送绑定状态
详细查询 3 uid 查询账号详细状态(绑定后无需输入3 uid)
查询群数 查询bot所在群的数目
查询竞技场订阅数 查询绑定账号的总数量
查询头像框 查看自己设置的详细查询里的角色头像框
更换头像框 更换详细查询生成的头像框,默认彩色
清空竞技场订阅 清空所有绑定的账号(仅限主人)

配置方法

  1. 拿个不用的号登录PCR,然后把data/data/tw.sonet.princessconnect/shared_prefs/tw.sonet.princessconnect.v2.playerprefs.xml复制到该目录

    注意:每个服对应一个账号配置文件,并且每个号至少得开启加好友功能,四个服就要四份不同服的文件

  2. 给你的tw.sonet.princessconnect.v2.playerprefs.xml加上前缀名,例如:

    台服一服:
    1cx_tw.sonet.princessconnect.v2.playerprefs.xml
    台服二服:
    2cx_tw.sonet.princessconnect.v2.playerprefs.xml
    台服三服:
    3cx_tw.sonet.princessconnect.v2.playerprefs.xml
    台服四服:
    4cx_tw.sonet.princessconnect.v2.playerprefs.xml
    

    如果没有某个服的配置文件或者不需要该服就不用管

  3. 安装依赖:

    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    
  4. 配置account.json设置代理:localhost就行,只要改端口,自行更换和你代理软件代理的端口一样就行,是代理端口哦,不是软件监听端口,开PAC模式不改变系统代理就行

    注意:如果你不需要代理,请打开account.json并将里面改成{"proxy":{}}

  5. 开启插件,并重启Hoshino即可食用

更新日志

2023-02-12:更换版本号更新源,防止因为版本号更新不及时导致的查询出错

2022-07-13:多端适配优化,可用多go-cqhttp端接入同一个hoshinobot后端

2022-03-27:新增自动更新插件内设置的游戏版本号

2022-03-27:新增竞技场历史记录查询

更以前的更新日志

2022-03-24:新增自定义更换详细查询的头像框

2022-02-21:详细查询整合为两张精美图片:新增个人资料卡界面图片生成与支援角色卡界面图片生成,并整合进详细查询中。

2022-02-19:优化并简化触发命令结构,可支持空格

2022-02-18:更新README,并整合支援头像为一张图,close #7为了让时空祈梨能够完整显示日文名,调整了下位置,字体大小自适应以后再写吧2333

2022-02-16:更详细的详细查询,支持查询支援角色查询信息中新增获取账号所在区服修复KeyError: 'favorite_unit'报错

2022-02-14:update 2333啊哈哈哈,寄汤来咯为什么是requirement.txt而没有s,这不是复数吗

图片预览(来自电线佬的截图)

4@{%Z%591B` YE1%}H0E7@1

FQ~} OTM$L20L6DAEI~RN`K

03-24 添加的自定义头像框后我的彩框截图

寄!

pcrjjc3-tw's People

Contributors

azmiao avatar azusa-yuan avatar cotch22 avatar cydxdianxian avatar sdyxxjj123 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pcrjjc3-tw's Issues

我想问新的这个支持B服吗

大佬问一下,我是新手,可能不是很懂。
1cx_com.bilibili.priconne.v2.playerprefs.xml 复制到PJJC3的目录里,不启动代理,重启HOSHINO,机器人回复一切正常,输入指令竞技场帮助正常,但是就是绑定不了ID。输入指令 竞技场绑定 1 ID,后台完全没有回复,也没有出错记录。是哪一步不对吗?还是插件不支持B服?
LWIW~~V8_IZ)}$OA_M Q _J

一个建议、一个反馈

先向您提一个建议
我在配置这个插件的过程中发现这个插件是需要配置代理的,这确实是一个很棒的功能,免去了很多人需要代理才能连接到sonet的麻烦,呃,不过呢,就是,我的VPS,是不需要代理,直接就能连接到sonet的,所以配置代理,反而成了我的一个障碍。
我想向您建议一下,希望能加一个选择是否开启代理的选项。
我也有试着自己修改

我先是注释掉了__init__.py中的
with open(join(curpath, 'account.json')) as fp:
pinfo = load(fp)
两行

然后删掉了
client_1cx = pcrclient(acinfo_1cx['UDID'], acinfo_1cx['SHORT_UDID'], acinfo_1cx['VIEWER_ID'], acinfo_1cx['TW_SERVER_ID'], pinfo['proxy'])
client_2cx = pcrclient(acinfo_2cx['UDID'], acinfo_2cx['SHORT_UDID'], acinfo_2cx['VIEWER_ID'], acinfo_2cx['TW_SERVER_ID'], pinfo['proxy'])
client_3cx = pcrclient(acinfo_3cx['UDID'], acinfo_3cx['SHORT_UDID'], acinfo_3cx['VIEWER_ID'], acinfo_3cx['TW_SERVER_ID'], pinfo['proxy'])
client_4cx = pcrclient(acinfo_4cx['UDID'], acinfo_4cx['SHORT_UDID'], acinfo_4cx['VIEWER_ID'], acinfo_4cx['TW_SERVER_ID'], pinfo['proxy'])
四行中的
, pinfo['proxy']

接着在pcrclient.py中,删掉了
def __init__(self, udid, short_udid, viewer_id, platform, proxy):
中的
, proxy
注释掉了下方的
self.proxy = proxy
接着注释掉了
resp = await post(self.apiroot + apiurl,
data = crypted,
headers = self.headers,
timeout = 5,
proxies = self.proxy,
verify = False)
response = await resp.content
中的
proxies = self.proxy,

然后我重启了bot,插件工作一切正常,功能都可用,bot查询的数据也都没有问题。
2501

先向您提一个反馈
插件功能在正常运行中,查询、绑定、提示均没有问题。
但是Console里有大量的warning,类似:
warnings.warn(
pcrclient: /load/index api called
/root/.cache/pypoetry/virtualenvs/bot-A667jdCO-py3.9/lib/python3.9/site-packages/urllib3/connectionpool.py:1013: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api-pc.so-net.tw'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings
意思似乎是插件和sonet的api之间的https链接并不可靠。
因为我并没有使用代理而是直连sonet
所以我并不太清楚其他配置了代理的人是否有这些warning
请问这是正常现象吗?

有时灵有时不灵

有时候有用,重启后失效。重启N次后又有用了。。非常玄学。
当前处于重启N次依然失败的状态,只能求助了

看日志应该是加载了
QQ截图20220525114227

命令识别了,但后续没有发送任何内容
QQ截图20220525114406

海外,无代理

有几个导致项目跑不起来的bug

调试了一下,改了几段代码就能跑了

不改的话应该是跑不起来的

1. query api错误

​ 这个bug我没找到逻辑错在哪,反正就是在请求的时候并没有请求api5-pc.so-net.tw这个新api,请求的还是老的api,比如api2-pc.so-net.tw

​ 解决方案:呃,我懒狗,直接把pcrclient.py里的apiroot给写死到api5-pc.so-net.tw了

2. init.py里查询逻辑没改

​ 现在新id是10位了,加的第1位是原来的服务器编号。然后init.py里的正则要改成10位数字的正则,9位数字查不起来,会报用户不存在

有大佬闲的话可以修改一下 我就不把我东拼西凑的垃圾代码提交上来了

查询时出错

pcrclient: /load/index api failed code = 501, {'status': 3, 'title': '伺服器錯誤', 'message': '遊戲發生錯誤。\n即將返回標題畫面。'}

查询时报错

pcrclient: /check/game_start api failed code = 208, {'status': 5, 'title': '伺服器錯誤', 'message': '資料處理發生錯誤。'}

4月某天以后不推送可查询.求解

具体日期没记住,某天以后新增的用户都不推送排名,原添加的会推送
但是所有人都可以查询排名,就是不推送排名降低.启用竞技场订阅也是一样.求解

game_start api failed code = 204

更新后发现无法请求登录游戏了,api报错。
pcrclient: /check/game_start api failed code = 204, {'status': 3, 'title': '伺服器錯誤', 'message': '遊戲發生錯誤。\\n即將返回標題畫面。'}

向搜内服务器api发送请求出错

错误如下:
pcrclient: /check/game_start api failed code = 2, {'status': 3, 'title': '伺服器錯誤', 'message': '遊戲發生錯誤。\n即將返回標題畫面。'}

我有试着吧headers.json改成
"APP-VER": "3.8.0"
但是还是提示failed code = 2

详细查询出错

我对协程异步这些还不是很了解,没有改过详细查询的代码,查了下还是不清楚为什么没有事件在协程里。希望大佬能教教我,谢谢。
出问题的语句
图片
错误情况
图片
后台的情况
图片

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.