Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/modules_o/cytoid/profile.py

46 lines
1.7 KiB
Python
Raw Normal View History

2021-02-11 12:41:07 +00:00
import json
2021-02-19 12:18:47 +00:00
from graia.application import MessageChain, Group, Friend
from graia.application.message.elements.internal import Plain, Image, UploadMethods
2021-02-11 12:41:07 +00:00
from core.template import sendMessage
from core.utils import get_url
async def cytoid_profile(kwargs: dict):
if Group in kwargs:
mth = UploadMethods.Group
if Friend in kwargs:
mth = UploadMethods.Friend
name = kwargs['trigger_msg']
profile_url = 'http://services.cytoid.io/profile/' + name
profile = json.loads(await get_url(profile_url))
2021-02-12 16:44:53 +00:00
if 'statusCode' in profile:
if profile['statusCode'] == 404:
await sendMessage(kwargs, '发生错误:此用户不存在。')
return
2021-02-11 12:41:07 +00:00
uid = profile['user']['uid']
nick = profile['user']['name']
if nick is None:
nick = False
avatar = profile['user']['avatar']['large']
basicExp = profile['exp']['basicExp']
levelExp = profile['exp']['levelExp']
totalExp = profile['exp']['totalExp']
currentLevel = profile['exp']['currentLevel']
nextLevelExp = profile['exp']['nextLevelExp']
2021-02-11 12:42:19 +00:00
rating = profile['rating']
2021-02-11 12:41:07 +00:00
grade = profile['grade']
grade = f'A: {grade["A"]}, B: {grade["B"]}, C: {grade["C"]}, D: {grade["D"]}, F: {grade["F"]}, S: {grade["S"]}, SS: {grade["SS"]}'
2021-02-19 12:18:47 +00:00
text = f'UID: {uid}\n' + \
(f'Nickname: {nick}\n' if nick else '') + \
f'BasicExp: {basicExp}\n' + \
f'LevelExp: {levelExp}\n' + \
f'TotalExp: {totalExp}\n' + \
f'CurrentLevel: {currentLevel}\n' + \
f'NextLevelExp: {nextLevelExp}\n' + \
f'Rating: {rating}\n' + \
f'Grade: {grade}'
2021-02-11 12:41:07 +00:00
msg = MessageChain.create([Image.fromNetworkAddress(avatar, method=mth), Plain(text)])
await sendMessage(kwargs, msg)