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
2022-01-27 21:16:53 +08:00

47 lines
1.9 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.component import on_command, on_option
from core.dirty_check import check
from core.elements import MessageSession
from database import BotDBUtil
from .server import server
on_option('server_disable_revoke', desc='关闭server命令的自动撤回') # 临时解决方案后续会改动归属到toggle命令下
s = on_command('server', alias='s', developers=['_LittleC_', 'OasisAkari'])
@s.handle('<ServerIP>:<Port> [-r] [-p] {获取Minecraft Java/基岩版服务器motd。}',
options_desc={'-r': '显示原始信息', '-p': '显示玩家列表'})
async def main(msg: MessageSession):
enabled_addon = BotDBUtil.Module(msg).check_target_enabled_module('server_disable_revoke')
gather_list = []
sm = ['j', 'b']
for x in sm:
gather_list.append(asyncio.ensure_future(s(
msg, f'{msg.parsed_msg["<ServerIP>:<Port>"]}', msg.parsed_msg['-r'], msg.parsed_msg['-p'], x,
enabled_addon)))
g = await asyncio.gather(*gather_list)
if g == ['', '']:
msg_ = '发生错误没有找到任何类型的Minecraft服务器。'
if msg.Feature.delete and not enabled_addon:
msg_ += '[90秒后撤回消息]'
send = await msg.sendMessage(msg_)
if msg.Feature.delete and not enabled_addon:
await msg.sleep(90)
await send.delete()
async def s(msg: MessageSession, address, raw, showplayer, mode, enabled_addon):
sendmsg = await server(address, raw, showplayer, mode)
if sendmsg != '':
sendmsg = await check(sendmsg)
for x in sendmsg:
m = x['content']
if msg.Feature.delete and not enabled_addon:
m += '\n[90秒后撤回消息]'
send = await msg.sendMessage(m)
if msg.Feature.delete and not enabled_addon:
await msg.sleep(90)
await send.delete()
return sendmsg