From 09e94fff963b7df8d0d3220cc12b8abb0f590a1f Mon Sep 17 00:00:00 2001 From: Ching Date: Mon, 18 Sep 2023 17:57:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(utils.py):=20=E4=BF=AE=E5=A4=8D=E6=AF=94?= =?UTF-8?q?=E8=B5=9B=E4=BF=A1=E6=81=AF=E4=B8=AD=E6=B2=A1=E6=9C=89=20averag?= =?UTF-8?q?e=5Frank=20=E6=97=B6=E8=8E=B7=E5=8F=96=20ranking=20=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复比赛信息中没有 average_rank 时获取 ranking 报错的问题 Signed-off-by: Ching --- dota.py | 6 +++++- utils.py | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/dota.py b/dota.py index 1417ebb..b55b4e0 100644 --- a/dota.py +++ b/dota.py @@ -134,11 +134,15 @@ class Friend(BaseModel): summary = f"{match_['party_size']}黑 {duration}" else: summary = f"单排 {duration}" + + if match_['average_rank']: + summary += '\n' + match_['average_rank'] + start_time = datetime.datetime.fromtimestamp(match_['start_time']).strftime('%Y-%m-%dT%H:%M:%S.000+08:00') hero_name = Hero.get(hero_id=match_['hero_id']).localized_name data['embeds'].append({ 'title': f"{hero_name} {match_['kills']} 杀 {match_['deaths']} 死 {match_['assists']} 助 ", - 'description': summary + '\n' + match_['average_rank'], + 'description': summary, 'color': 6732650 if match_['win'] else 16724787, # 66bb6a or FF3333 'fields': [], 'timestamp': start_time, diff --git a/utils.py b/utils.py index 3f34e29..c52f302 100644 --- a/utils.py +++ b/utils.py @@ -34,6 +34,8 @@ def heartbeat(): def get_ranking(ranking_int): # (10-15: Herald, 20-25: Guardian, 30-35: Crusader, 40-45: Archon, 50-55: Legend, 60-65: Ancient, 70-75: Divine, 80-85: Immortal). + if not ranking_int: + return '' stars = ranking_int % 10 if ranking_int < 20: return '先锋 %s' % stars