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/user/__init__.py
2021-04-25 22:37:17 +08:00

61 lines
2.1 KiB
Python

import re
from graia.application import Group, Friend, MessageChain
from graia.application.message.elements.internal import Image, UploadMethods, Plain
from core.elements import Target
from core.template import sendMessage
from modules.wiki.database import WikiDB
from modules.wiki.wikilib import wikilib
from .userlib import GetUser
# 呜呜呜 想偷个懒都不行
async def main(kwargs: dict):
command = re.sub('^user ', '', kwargs['trigger_msg'])
commandsplit = command.split(' ')
mode = None
metaurl = None
username = None
id = kwargs[Target].id
if '-r' in commandsplit:
mode = '-r'
commandsplit.remove('-r')
command = ' '.join(commandsplit)
if '-p' in commandsplit:
mode = '-p'
commandsplit.remove('-p')
command = ' '.join(commandsplit)
table = 'start_wiki_link_' + kwargs[Target].target_from
get_url = WikiDB.get_start_wiki(table, id)
if get_url:
metaurl = get_url
username = command
else:
await sendMessage(kwargs, '未设置起始wiki。')
match_interwiki = re.match(r'(.*?):(.*)', command)
if match_interwiki:
table = 'custom_interwiki_' + kwargs[Target].target_from
get_iw = WikiDB.get_custom_interwiki(table, id, match_interwiki.group(1))
if get_iw:
metaurl = get_iw
username = match_interwiki.group(2)
result = await GetUser(metaurl, username, mode)
if result:
matchimg = re.match('.*\[\[uimgc:(.*)]]', result)
if matchimg:
imgchain = MessageChain.create([Image.fromLocalFile(matchimg.group(1))])
result = re.sub('\[\[uimgc:.*]]', '', result)
msgchain = MessageChain.create([Plain(result)])
msgchain = msgchain.plusWith(imgchain)
else:
msgchain = MessageChain.create([Plain(result)])
await sendMessage(kwargs, msgchain)
command = {'user': main}
help = {'user': {
'help': '~user [~(wiki_name)] <username> - 获取一个Gamepedia用户的信息。' +
'\n[-r] - 获取详细信息' +
'\n[-p] - 生成一张图片'}}