Skip to content

Latest commit

 

History

History
266 lines (213 loc) · 15.5 KB

File metadata and controls

266 lines (213 loc) · 15.5 KB

中文 | English

Guild Guild Bilibili Stars

version version
YunzaiBot MiaoYunzai TrssYunzai

Introduction

phi-plugin is a plugin for querying Phigros information, including b30, score, userinfo, and more Phigros-related features. Suggestions and issues can be submitted via Issues. Pull request are welcome.

Use /phihelp after installation to view detailed commands.


Installation

Run the following commands in your Yunzai directory:

Using GitHub

# Install plugin core
git clone --depth=1 https://github.com/Catrong/phi-plugin.git ./plugins/phi-plugin/
# Enter plugin directory
cd ./plugins/phi-plugin/
# Install dependencies
pnpm install -P

Using Gitee

# Install plugin core
git clone --depth=1 https://gitee.com/catrong/phi-plugin.git ./plugins/phi-plugin/
# Enter plugin directory
cd ./plugins/phi-plugin/
# Install dependencies
pnpm install -P 

Warning

Please use the master's permission to execute this command to download the song illustrations. Otherwise, the relevant song illustrations will not be displayed properly! (It can be standard input or other platforms.)

/phi downill

Todo

  • Optimize UI design
  • Add collection/avatar gallery
  • Song selection via phi
  • Optimize sessionToken QR scanning
  • Modify settings via commands
  • Query Song History Constants
  • Score Map Tags
  • Adapt to TapTap International Version
  • ...

Features

Note: # can be replaced with /. Command headers are customizable.

User Features

Command Description
#phi help Show help
#phi (gb|cn)?bind <token> Bind sessionToken (supports CN/Global, default is CN)
#phi unbind Remove sessionToken & records
#phi clean Delete all records
#phi update Update save data
#phi (rks|pgr|b30) Query Rks (provides b30 results)
#phi x30 Query 1Good b30
#phi fc30 Query Full Combo b30
杠批比三零 Same as above,but looks like Arcaea Online
#phi info(1|2)? View personal stats
#phi lmtacc [0-100] Calculate Rks with minimum ACC limit
#phi (lvsco(re)|scolv) <rating range> <difficulty> Get scores in range
#phi chap <chapter name|help> Get chapter scores
#phi ahv <rating>[-v version] Get rating score table
#phi list <-dif difficultyRange> <-acc accRange> <EZ|HD|IN|AT> <NEW|C|B|A|S|V|FC|PHI> List scores per song in range
#phi hisb30 Calculate B30 changes based on history
#phi best1(+) Text-based b30 (up to b99)
#phi score xxx [-dif (EZ|HD|IN|AT)] [-or (acc|score|fc|time)] [-unrank] Get single score & improvement tips (parameters for score ranking, API required)
#phi suggest Get songs that can increase Rks by +0.01
#phi (ranklist|ranking) [rank] Rks leaderboard
#phi rankfind <rks> Find how many users have higher RKS than the queried RKS
#phi data Check user data count
#phi guess Guess song from illustration (reply directly)
#phi (ltr|letter) Guess song via letters (use #open/#ans)
#phi (tipgame|hint) Guess song via hints (use #tip/#ans)
#phi (song|song) xxx Query song info (supports aliases)
#phi chart <song> [difficulty=IN] View chart details
#phi tag <song name> [difficulty=IN] <tag> View chart tags, available tags shown in response, default difficulty is IN
#phi settag <song name> [difficulty=IN] <tag> Tag a chart, recommended to use /tag to query tag list first, default difficulty is IN
#phi (comment|cmt) <song> [difficulty=IN](newline)<text> Comment on songs
#phi mycmt View own cloud comments
#phi recmt <ID> Delete comment (owner/admin)
#phi (table|ratings) <rating> Phigros rating table
#phi new Check new songs
#phi tips Random tips
#phi jrrp Daily luck
#phi alias xxx Query song aliases
#phi (rand|random) [rating] [difficulty] Random song by criteria
#phi randclg [total] [difficulty] ([rating range]) Random challenge (e.g., /rand 40 (IN 13-15))
#phi ill xxx View song illustration
#phi search <criteria> Search songs by BPM/rating/notes
#phi theme [0-2] Switch themes (affects b30/update/randclg/sign/task)
#phi myset <field> <value> View/modify user settings, value supports selection by number (e.g., /myset theme 1)
sign/sign Daily check-in
task/mytasks View tasks
retask/refresh Refresh tasks (20 Notes)
#phi (send|give) <target> <amount> Send Notes

Admin Features

Command Description
#phi backup (back)? Backup saves (+back to send)
#phi restore Restore from backup
#phi(setnick) xxx ---> xxx Set song alias
#phi(delnick) xxx Remove alias
#phi(force)?(update) Update plugin
#phi repu Restart puppeteer
#download ill Download illustration
#phi get <rank> Get sessionToken by rank
#phi del <token> Ban sessionToken
#phi allow <token> Unban sessionToken
#phi (set|set)<feature><value> Modify settings
#phi ban <feature> Disable features
Ban Parameters

#phi ban Parameters

Parameter Feature Affected Commands
all All features All
help Help /help /tkhelp
bind Binding /bind /unbind
b19 Image queries /pgr /update /info /list /pb30 /p30 /lmtacc /score /lvsco /chap /suggest
wb19 Text queries /data /best
song Song info /song /chart /ill /search /alias /rand /randclg /table /cmt /recmt /addtag /subtag /retag
ranklist Leaderboards /ranklist /godlist
fnc Utilities /com /tips /new
tipgame Hint game /tipgame
guessgame Guess game /guess
ltrgame Letter game /letter /ltr
sign Social /sign /send /task /retask /jrrp
setting Settings /theme
dan Dan authentication /dan /danupdate

API Feature Testing Now Open

API features can be manually enabled/disabled in settings. When enabled, it automatically syncs user usage records and historical scores from Phi-Plugin applications (web, Yunzai, excluding Koishi for now) to the API server. Some features require API to be enabled.

Command Description
#phi bind <userId> Enable score query API, bind API account
#phi setApiToken <token> Set API Token
#phi tokenList Get list of currently bound platforms
#phi tokenManage (delete) <platform number> (-f)? Delete bound platform, -f to skip confirmation
#phi auth <api Token> Get sessionToken via API Token
#phi clearApiData Clear API data
#phi updateHistory Update historical scores from BOT to API server
#phi updateUserToken Owner command Upload current BOT user tokens to API server

Detailed Permission Explanation:

Binding and retrieving saves only requires a score query ID. When binding with sessionToken for the first time, the API Token will be set to the sessionToken, and if users provide a sessionToken during binding, the bot will save it locally.


Support Development

Your support is my greatest motivation!

Sponsors

Special thanks to these sponsors (list may not be fully updated):

Loser_X
@Loser_X

🌸 20 🌸
史蒂夫
@Steve~ɘvɘɈƧ
🌸 40 🌸
溯洌RIPPLE
溯洌RIPPLE
🌸 35 🌸
祈

🌸 15 🌸
茗亿
茗亿
🌸 30 🌸
...
...
🌸 50 🌸
夏夏肃炎
夏夏肃炎
🌸 5 🌸
Bluerosion
Bluerosion
🌸 52.0 🌸
Bluerosion

🌸 5 🌸

Previews

Best30

By @Steve~ɘvɘɈƧ
Single Score

Legacy Version

Song Info
Range Scores

By @东城Eastown
User Stats
Legacy Stats

Contributors

Alt

Star History

Star History Chart

Disclaimer

  1. This plugin is intended for non-commercial use only.
  2. All images/assets are from the internet and will be removed upon request.
  3. Cloud save system adapted from 7aGiven/PhigrosLibrary

Related Projects

Yunzai-Bot Plugin Index Yunzai-Bot Miao-Yunzai TRSS-Yunzai