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

40 lines
1.7 KiB
Python
Raw Normal View History

2021-07-27 17:42:47 +00:00
import asyncio
from core.dirty_check import check
from core.elements import MessageSession
from core.loader.decorator import command
2021-07-27 17:42:47 +00:00
from .server import server
@command('server', alias='s', help_doc=('~server <ServerIP>:<Port> {获取Minecraft Java/基岩版服务器motd。}',
'~server <ServerIP>:<Port> [-r] {获取Minecraft Java/基岩版服务器motd。原始信息}',
2021-09-10 18:05:27 +00:00
'~server <ServerIP>:<Port> [-p] {获取Minecraft Java/基岩版服务器motd。包括玩家信息}'),
2021-09-19 13:14:50 +00:00
developers=['_LittleC_', 'OasisAkari'],
2021-09-10 18:05:27 +00:00
allowed_none=False)
2021-07-27 17:42:47 +00:00
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秒后撤回消息]')
2021-07-27 17:42:47 +00:00
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()
2021-08-07 07:56:48 +00:00
return sendmsg