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/server/__init__.py
2021-09-19 21:14:50 +08:00

39 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import asyncio
from core.dirty_check import check
from core.elements import MessageSession
from core.loader.decorator import command
from .server import server
@command('server', alias='s', help_doc=('~server <ServerIP>:<Port> {获取Minecraft Java/基岩版服务器motd。}',
'~server <ServerIP>:<Port> [-r] {获取Minecraft Java/基岩版服务器motd。原始信息}',
'~server <ServerIP>:<Port> [-p] {获取Minecraft Java/基岩版服务器motd。包括玩家信息}'),
developers=['_LittleC_', 'OasisAkari'],
allowed_none=False)
async def main(msg: MessageSession):
raw = False
showplayer = False
if msg.parsed_msg['-r']:
raw = True
if msg.parsed_msg['-p']:
showplayer = True
gather_list = []
sm = ['j', 'b']
for x in sm:
gather_list.append(asyncio.ensure_future(s(msg, f'{msg.parsed_msg["<ServerIP>:<Port>"]}', raw, showplayer, x)))
g = await asyncio.gather(*gather_list)
if g == ['', '']:
send = await msg.sendMessage('发生错误没有找到任何类型的Minecraft服务器。\n错误汇报地址https://github.com/Teahouse-Studios/bot/issues/new?assignees=OasisAkari&labels=bug&template=5678.md&title=\n[90秒后撤回消息]')
await asyncio.sleep(90)
await send.delete()
async def s(msg: MessageSession, address, raw, showplayer, mode):
sendmsg = await server(address, raw, showplayer, mode)
if sendmsg != '':
sendmsg = await check(sendmsg)
send = await msg.sendMessage(sendmsg + '\n[90秒后撤回消息]')
await asyncio.sleep(90)
await send.delete()
return sendmsg