fix(utils.py): 修复比赛信息中没有 average_rank 时获取 ranking 报错的问题

修复比赛信息中没有 average_rank 时获取 ranking 报错的问题

Signed-off-by: Ching <loooching@gmail.com>
This commit is contained in:
Ching 2023-09-18 17:57:18 +08:00
parent 3ac628957f
commit f0254be67c
2 changed files with 7 additions and 1 deletions

View File

@ -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,

View File

@ -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