From 5616f0637c68022ce7cd0f91121e0e0026c24a0e Mon Sep 17 00:00:00 2001 From: CWorld <37377181+cworld1@users.noreply.github.com> Date: Sun, 7 May 2023 18:56:52 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Fix=20small=20bugs=20and=20redesign?= =?UTF-8?q?=20some=20cards=20(#8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: :bug: fix some config examples * docs: :memo: add doc that install genshin.py with starrail support * fix: :bug: suring mysql won't think 'admin' as sys word * feat(stats): :sparkles: new design of stats card * feat(gacha): :sparkles: new design of gacha log card --- .env.example | 7 +- .gitignore | 1 + README.md | 5 +- alembic/versions/ddcfba3c7d5c_v4.py | 2 +- resources/starrail/gacha_log/gacha_log.css | 393 +++++++++--------- resources/starrail/gacha_log/gacha_log.html | 138 +++--- resources/starrail/gacha_log/img/starrail.png | Bin 0 -> 29701 bytes resources/starrail/stats/items/star.png | Bin 0 -> 860 bytes resources/starrail/stats/stats.html | 33 +- resources/starrail/stats/xianzhou.css | 59 +-- 10 files changed, 324 insertions(+), 314 deletions(-) create mode 100644 resources/starrail/gacha_log/img/starrail.png create mode 100644 resources/starrail/stats/items/star.png diff --git a/.env.example b/.env.example index e6d812e..561ee96 100644 --- a/.env.example +++ b/.env.example @@ -40,7 +40,7 @@ OWNER=0 # VERIFY_GROUPS=[] # logger 配置 可选配置项 -# LOGGER_NAME="TGPaimon" +# LOGGER_NAME="HonkaiStarRailGram" # 打印时的宽度 # LOGGER_WIDTH=180 # log 文件存放目录 @@ -80,12 +80,11 @@ LOGGER_FILTERED_NAMES=["uvicorn","ErrorPush","ApiHelper"] # API_ID=12345 # API_HASH="abcdefg" -# ENKA_NETWORK_API 可选配置项 +# ENKA_NETWORK_API 可选配置项(暂时无法使用) # ENKA_NETWORK_API_AGENT="" # Web Server -# WEB_SWITCH=False # 是否开启 -# WEB_URL=http://localhost:8080/ +# WEB_ENABLE=False # 是否开启 WebServer # WEB_HOST=localhost # WEB_PORT=8080 diff --git a/.gitignore b/.gitignore index 15b2e0a..5c7ce6e 100644 --- a/.gitignore +++ b/.gitignore @@ -139,6 +139,7 @@ data/ plugins/genshin/daily/daily.json metadata/data/ resources/assets/ +run.ps1 ### private plugins ### plugins/private diff --git a/README.md b/README.md index bc1b9c6..ea10d3b 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,6 @@ 基于 [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) 的 PaiGram - ![Alt](https://repobeats.axiom.co/api/embed/f73c1121006cb86196f83da2170242b7a97f8be0.svg "Repobeats analytics image") ## 环境需求 @@ -37,6 +36,10 @@ poetry install poetry run playwright install chromium ``` +```bash +pip install git+https://github.com/PaiGramTeam/genshin.py@sr +``` + #### 可选依赖项 ```bash diff --git a/alembic/versions/ddcfba3c7d5c_v4.py b/alembic/versions/ddcfba3c7d5c_v4.py index 396bbfe..4630a9c 100644 --- a/alembic/versions/ddcfba3c7d5c_v4.py +++ b/alembic/versions/ddcfba3c7d5c_v4.py @@ -193,7 +193,7 @@ def upgrade() -> None: ) try: - statement = "SELECT * FROM admin;" + statement = "SELECT * FROM `admin`;" old_user_table_data = connection.execute(text(statement)) except NoSuchTableError: logger.warning("Table 'admin' doesn't exist") diff --git a/resources/starrail/gacha_log/gacha_log.css b/resources/starrail/gacha_log/gacha_log.css index ac2d806..caa02e2 100644 --- a/resources/starrail/gacha_log/gacha_log.css +++ b/resources/starrail/gacha_log/gacha_log.css @@ -1,341 +1,342 @@ @font-face { - font-family: "tttgbnumber"; - src: url("./../../fonts/tttgbnumber.ttf"); - font-weight: normal; - font-style: normal; + font-family: "tttgbnumber"; + src: url("./../../fonts/tttgbnumber.ttf"); + font-weight: normal; + font-style: normal; } -* { - margin: 0; - padding: 0; - box-sizing: border-box; - user-select: none; +.header { + background: #e0dad3 url(./img/starrail.png) no-repeat right; + box-shadow: 0 0 8px #72a2ae79; +} + +.frame { + border-color: #cdbea8; } body { - font-size: 18px; - color: #1e1f20; - font-family: PingFangSC-Medium, PingFang SC, sans-serif; - transform: scale(1.5); - transform-origin: 0 0; - width: 510px; + font-size: 18px; + color: #1e1f20; + font-family: PingFangSC-Medium, PingFang SC, sans-serif; + transform: scale(1.5); + transform-origin: 0 0; + width: 510px; } .container { - width: 510px; - padding: 20px 15px 10px 15px; - background-color: #f5f6fb; + width: 510px; + padding: 20px 15px 10px 15px; + background-color: #f5f6fb; } .head_box { - border-radius: 9999px; - font-family: tttgbnumber, sans-serif; - padding: 10px 20px; - position: relative; - box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%); + border-radius: 9999px; + font-family: tttgbnumber, sans-serif; + padding: 10px 20px; + position: relative; + box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%); } .head_box .id_text { - font-size: 24px; + font-size: 24px; } .head_box .day_text { - font-size: 20px; + font-size: 20px; } .head_box .starrail_logo { - position: absolute; - top: 10px; - right: 30px; - width: 120px; + position: absolute; + top: 10px; + right: 30px; + width: 120px; } .logo { - font-size: 12px; - font-family: "tttgbnumber", serif; - text-align: center; - color: #7994a7; - position: relative; - padding-left: 10px; + font-size: 12px; + font-family: "tttgbnumber", serif; + text-align: center; + color: #7994a7; + position: relative; + padding-left: 10px; } .data_box { - border-radius: 15px; - margin-top: 20px; - margin-bottom: 10px; - padding: 20px 0 5px 10px; - background: #fff; - box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%); - position: relative; + border-radius: 15px; + margin-top: 20px; + margin-bottom: 10px; + padding: 20px 0 5px 10px; + background: #fff; + box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%); + position: relative; } .tab_lable { - position: absolute; - top: -10px; - left: -8px; - background: #d4b98c; - color: #fff; - font-size: 14px; - padding: 3px 10px; - border-radius: 15px 0 15px 15px; - z-index: 20; + position: absolute; + top: -10px; + left: -8px; + background: #d4b98c; + color: #fff; + font-size: 14px; + padding: 3px 10px; + border-radius: 15px 0 15px 15px; + z-index: 20; } .data_line { - display: flex; - justify-content: space-around; - margin-bottom: 14px; - padding-right: 10px; + display: flex; + justify-content: space-around; + margin-bottom: 14px; + padding-right: 10px; } .data_line_item { - width: 100px; - text-align: center; + width: 100px; + text-align: center; - /* margin: 0 20px; */ + /* margin: 0 20px; */ } .num { - font-family: tttgbnumber, serif; - font-size: 24px; + font-family: tttgbnumber, serif; + font-size: 24px; } .num .unit { - font-size: 12px; + font-size: 12px; } .data_box .lable { - font-size: 14px; - color: #7f858a; - line-height: 1; - margin-top: 3px; + font-size: 14px; + color: #7f858a; + line-height: 1; + margin-top: 3px; } .info_box_border { - border-radius: 15px; + border-radius: 15px; - /* margin-top: 20px; */ - margin-bottom: 20px; - padding: 6px 0 5px 10px; - background: #fff; - box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%); - position: relative; + /* margin-top: 20px; */ + margin-bottom: 20px; + padding: 6px 0 5px 10px; + background: #fff; + box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%); + position: relative; } .card_list { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; } .card_list .item { - margin: 0 8px 10px 0; - border-radius: 7px; - box-shadow: 0 2px 6px 0 rgb(132 93 90 / 30%); - height: 90px; - position: relative; - overflow: hidden; - background: #e7e5d9; + margin: 0 8px 10px 0; + border-radius: 7px; + box-shadow: 0 2px 6px 0 rgb(132 93 90 / 30%); + height: 90px; + position: relative; + overflow: hidden; + background: #e7e5d9; } .card_list .item img { - width: 70px; - height: 70px; - border-radius: 7px 7px 20px 0; + width: 70px; + height: 70px; + border-radius: 7px 7px 20px 0; } .card_list .item.star5 img { - background-image: url(./../../genshin/abyss/background/roleStarBg5.png); - width: 100%; - height: 70px; - /* filter: brightness(1.1); */ - background-size: 100%; - background-repeat: no-repeat; + background-image: url(./../../genshin/abyss/background/roleStarBg5.png); + width: 100%; + height: 70px; + /* filter: brightness(1.1); */ + background-size: 100%; + background-repeat: no-repeat; } .card_list .item.star4 img { - width: 100%; - height: 70px; - background-image: url(./../../genshin/abyss/background/roleStarBg4.png); - background-size: 100%; - background-repeat: no-repeat; + width: 100%; + height: 70px; + background-image: url(./../../genshin/abyss/background/roleStarBg4.png); + background-size: 100%; + background-repeat: no-repeat; } .card_list .item .num { - position: absolute; - top: 0; - right: 0; - z-index: 9; - font-size: 18px; - text-align: center; - color: #fff; - border-radius: 3px; - padding: 1px 5px; - background: rgb(0 0 0 / 50%); - font-family: "tttgbnumber", serif; + position: absolute; + top: 0; + right: 0; + z-index: 9; + font-size: 18px; + text-align: center; + color: #fff; + border-radius: 3px; + padding: 1px 5px; + background: rgb(0 0 0 / 50%); + font-family: "tttgbnumber", serif; } .card_list .item .name, .card_list .item .num_name { - position: absolute; - top: 71px; - left: 0; - z-index: 9; - font-size: 12px; - text-align: center; - width: 100%; - height: 16px; - line-height: 18px; + position: absolute; + top: 71px; + left: 0; + z-index: 9; + font-size: 12px; + text-align: center; + width: 100%; + height: 16px; + line-height: 18px; } .card_list .item .num_name { - font-family: "tttgbnumber", serif; - font-size: 16px; + font-family: "tttgbnumber", serif; + font-size: 16px; } .base_info { - position: relative; - padding-left: 10px; - margin: 5px 10px; + position: relative; + padding-left: 10px; + margin: 5px 10px; } .uid::before { - content: " "; - position: absolute; - width: 5px; - height: 24px; - border-radius: 1px; - left: 0; - top: 0; - background: #d3bc8d; + content: " "; + position: absolute; + width: 5px; + height: 24px; + border-radius: 1px; + left: 0; + top: 0; + background: #d3bc8d; } .label_301 { - background-color: rgb(235 106 75); + background-color: rgb(235 106 75); } .label_302 { - background-color: #e69449; + background-color: #e69449; } .label_200 { - background-color: #757cc8; + background-color: #757cc8; } .label { - color: #fff; - border-radius: 10px; - font-size: 12px; - padding: 2px 7px; - vertical-align: 2px; + color: #fff; + border-radius: 10px; + font-size: 12px; + padding: 2px 7px; + vertical-align: 2px; } .ritem { - display: flex; - font-size: 12px; - margin-bottom: 5px; + display: flex; + font-size: 12px; + margin-bottom: 5px; } .info_role { - display: flex; - flex-wrap: wrap; - padding: 0 0 5px 9px; + display: flex; + flex-wrap: wrap; + padding: 0 0 5px 9px; } .ritem .role { - width: 20px; - height: 20px; - background-color: #ffb285; - border-radius: 100%; + width: 20px; + height: 20px; + background-color: #ffb285; + border-radius: 100%; } .ritem .weapon_box { - overflow: hidden; - width: 20px; - height: 20px; - border-radius: 100%; + overflow: hidden; + width: 20px; + height: 20px; + border-radius: 100%; } .ritem .weapon { - width: 20px; - height: 20px; - background-color: #ffb285; - border-radius: 100%; - transform: scale(1.5); - -webkit-transform: scale(1.5); - + width: 20px; + height: 20px; + background-color: #ffb285; + border-radius: 100%; + transform: scale(1.5); + -webkit-transform: scale(1.5); } .ritem .role_text { - margin: 2px 3px 0 2px; - display: flex; - align-items: baseline; + margin: 2px 3px 0 2px; + display: flex; + align-items: baseline; } .ritem .role_name { - width: 24px; - white-space: nowrap; - overflow: hidden; + width: 24px; + white-space: nowrap; + overflow: hidden; } .ritem .role_num { - width: 24px; + width: 24px; } .line_box { - height: 32px; - width: 100%; - display: flex; - justify-content: space-between; - align-items: center; - font-size: 12px; - color: #7d7d7d; - padding-bottom: 5px; + height: 32px; + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + font-size: 12px; + color: #7d7d7d; + padding-bottom: 5px; } .line_box .line { - height: 2px; - flex-grow: 1; - background-color: #ebebeb; - margin: 0 10px; + height: 2px; + flex-grow: 1; + background-color: #ebebeb; + margin: 0 10px; } .red { - color: #f21000; + color: #f21000; } .orange { - color: #ff8d00; + color: #ff8d00; } .green { - color: #12d88c; + color: #12d88c; } .blue { - color: #4169e1; + color: #4169e1; } .purple { - color: #7500ff; + color: #7500ff; } .minimum { - position: absolute; - top: 0; - right: 0; - z-index: 9; - font-size: 12px; - text-align: center; - color: #fff; - border-radius: 3px; - padding: 1px 3px; - background-color: rgb(0 0 0 / 80%); - font-family: "tttgbnumber", serif; + position: absolute; + top: 0; + right: 0; + z-index: 9; + font-size: 12px; + text-align: center; + color: #fff; + border-radius: 3px; + padding: 1px 3px; + background-color: rgb(0 0 0 / 80%); + font-family: "tttgbnumber", serif; } .hasMore { - font-size: 12px; - margin: 6px 0; - color: #7f858a; + font-size: 12px; + margin: 6px 0; + color: #7f858a; } diff --git a/resources/starrail/gacha_log/gacha_log.html b/resources/starrail/gacha_log/gacha_log.html index 0054386..f5e0dc6 100644 --- a/resources/starrail/gacha_log/gacha_log.html +++ b/resources/starrail/gacha_log/gacha_log.html @@ -1,88 +1,80 @@ - - - - - - - - - - - - -
-
- -
-
- ID: {{ uid }} -
-

- {{ allNum }}抽 - {{ typeName }} + + + + + + + Title + + +
+
+
+
+

ID: {{ uid }}

+

+ {{ allNum }}抽 + {{ typeName }}

- +
-
数据总览
- {% for val in line %} -
- {% for item in val %} -
-
{{item.num}}{{item.unit}}
-
{{item.lable}}
-
- {% endfor %} +
数据总览
+ {% for val in line %} +
+ {% for item in val %} +
+
+ {{item.num}}{{item.unit}} +
+
{{item.lable}}
{% endfor %} +
+ {% endfor %} -
- - 五星历史 {{firstTime}} ~ {{lastTime}} - +
+ + 五星历史 {{firstTime}} ~ {{lastTime}} + +
+ +
+ {% for val in fiveLog %} +
+ {% if val.isUp %} + UP + {% endif %} + + +
{{ val.count }}
+ {% endfor %} +
+
+ + 四星最近历史 + +
-
- {% for val in fiveLog %} -
- {% if val.isUp %} - UP - {% endif %} - - -
{{ val.count }}
-
- {% endfor %} -
- -
- - 四星最近历史 - -
- -
- {% for val in fourLog %} -
- - -
{{ val.count }}
-
- {% endfor %} +
+ {% for val in fourLog %} +
+ + +
{{ val.count }}
+ {% endfor %} +
- + +
-
- - \ No newline at end of file + + diff --git a/resources/starrail/gacha_log/img/starrail.png b/resources/starrail/gacha_log/img/starrail.png new file mode 100644 index 0000000000000000000000000000000000000000..b7451eb61beea4274c7f6efea2f3bcf404b42031 GIT binary patch literal 29701 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 B2m=5B literal 0 HcmV?d00001 diff --git a/resources/starrail/stats/items/star.png b/resources/starrail/stats/items/star.png new file mode 100644 index 0000000000000000000000000000000000000000..1c7498bb60d94305bb2f7a082d49f580eb9b77bd GIT binary patch literal 860 zcmV-i1Ec(jP)Px&7D+@wR9Hvt*iT3lQ5*;G?@#BjLVvbf2M+~CT|@=f-KD@Jp~9kq4naXdK^JLe z!GjQz2f-r6nds6X@Dg+gQYxrJSdi_m3c7UAz=MYl9Xu=*xrcFn@!qWB>aO!Qn1g%U z<^B20@BM!7%|1fNAI__H0hp9Do`*3sg)zw1F*v8qi|>@u+rk(-d|+0613;m)aXy;B zoc6jL!7I@O+7Se$jf>F)=Cs*z1QXE&X4T&!2T>~Qr>;+CP-Lh@!qZwS>LIHb>u95s z`a-mTS?xXuLlVW@Pif;(#DMA|h)&o*EK^!P78xMtGM50Js07hvN{vkhL57lpJasFE zhIkf0YXydR38g}FkYWi3nAaYFF<3oP+(#*6)Nd3619|4&8LZP=5XGt@7$)ken>xlm z`#}Z*@~nCs>y!f!cbL40dQMTo`0f?y8^|-6PFS)ioNybaRn%G6sN=~;FG$Zoo;t0d zp+yDLLl6`%lYzMeU=XFksN2Hv1T05Q-%+iel(O*xK!a|!AV;8`XSe{yoy|?yJE&HV z1u(yaf{9xBDS=!F&T{aed8nf~@zBNP$zRn-co87o2Dt2x#vBT8|ycT}~C^ zbCfhbc*TVRl*pX+7(icj01r{h81RD&4=5@;7XJo9Qw2m+YpK}mwje?+k{vaW&D;d> z__kdv8n66vnZ;X9taWiq6jvyvAN9Mm8~p+o$yNa8)M0@7?cajs-v0r9>1~Ii$g2;S zW`a&Vor_ikU!Xc+)%nd%&B`$9{dl#5)B44u&?_FR9il038L=Kvi(j$6- mDgHi)OZ24iEa0=s?*9No!yQ3c_2bU~0000
-
-
-

- {{ info.nickname }} - lv.{{ info.level }} -

-

UID - {{ uid }}

+
+
+
+

+ {{ info.nickname }} + lv.{{ info.level }} +

+

UID - {{ uid }}

+
-
-
-

+
+
+

+ 数据总览

@@ -35,10 +42,10 @@
{% endfor %}
-
-
- 所有数据会有一小时延迟 以游戏内为准 此处仅供参考 +
+ 所有数据会有一小时延迟 以游戏内为准 此处仅供参考 +

diff --git a/resources/starrail/stats/xianzhou.css b/resources/starrail/stats/xianzhou.css index 755f6b6..cb7b706 100644 --- a/resources/starrail/stats/xianzhou.css +++ b/resources/starrail/stats/xianzhou.css @@ -1,49 +1,56 @@ body { - background-color: #f5f6fb; + background-color: #f5f6fb; } .header { - background-image: url(../../bot/help/background/header.png); - box-shadow: 0 0 8px rgb(123 242 248 / 50%); + background-image: url(../../bot/help/background/header.png); + box-shadow: 0 0 8px #72a2ae79; } .box { - background-color: #fdfdf3; - box-shadow: 0 0 8px rgb(123 242 248 / 50%); -} - -.box-title { - background-color: #43849abb; - --tw-ring-color: #43849a; + background-color: #f4f2e4; + box-shadow: 0 0 8px #72a2ae79; } .pointer-bar { - width: 95%; - height: 8px; - display: inline-block; - background-color: rgb(0, 0, 0, 0.2); - border-radius: 0.25rem; + width: 95%; + height: 8px; + display: inline-block; + background-color: rgb(0, 0, 0, 0.2); + border-radius: 0.25rem; } .pointer-progress-bar { - border-radius: 0.25rem; - height: 100%; - background: #fff6e2; + border-radius: 0.25rem; + height: 100%; + background: #fff6e2; } .name { - background: linear-gradient(to bottom, #FFFFEE, #FFEEFF, #EEFFFF); - background-clip: text; - -webkit-background-clip: text; - color: transparent; + color: #ffffee; + text-shadow: 0 0.08em 0.1em #00000093, 0 0.1em 0.3em rgba(0, 0, 0, 0.4); } .uid { - color: #fff; - background: linear-gradient(to right, rgb(0, 0, 0, 0), #5ddddd, rgb(0, 0, 0, 0)); + color: #fff; + background: linear-gradient( + to right, + rgb(0, 0, 0, 0), + #3f7587 25%, + #3f7587 75%, + rgb(0, 0, 0, 0) + ); } .about { - background-color: #e0dad3; - color: #8a4d30; + background-color: #e0dad3; + color: #8a4d30; +} + +.frame-pic { + border-color: #fdfdf356; +} + +.frame { + border-color: #cdbea8; }