""" * @author yasir * @date 2022-12-01 09:12:27 * @lastModified 2022-12-01 09:32:31 * @projectName MissKatyPyro * Copyright @YasirPedia All rights reserved """ import time from asyncio import Lock from re import MULTILINE, findall from subprocess import run as srun from pyrogram import filters from misskaty import app, botStartTime from misskaty.helper.human_read import get_readable_time from misskaty.vars import COMMAND_HANDLER @app.on_message(filters.command(["ping"], COMMAND_HANDLER)) async def ping(_, message): currentTime = get_readable_time(time.time() - botStartTime) start_t = time.time() rm = await message.reply_text("🐱 Pong!!...") end_t = time.time() time_taken_s = round(end_t - start_t, 3) try: await rm.edit(f"🐈 MissKatyBot online.\n\nPing: {time_taken_s} detik\nUptime: {currentTime}") except Exception: pass @app.on_message(filters.command(["ping_dc"], COMMAND_HANDLER)) async def ping_handler(_, message): m = await message.reply("Pinging datacenters...") async with Lock(): ips = { "dc1": "149.154.175.53", "dc2": "149.154.167.51", "dc3": "149.154.175.100", "dc4": "149.154.167.91", "dc5": "91.108.56.130", } text = "**Pings:**\n" for dc, ip in ips.items(): try: shell = srun( ["ping", "-c", "1", "-W", "2", ip], text=True, check=True, capture_output=True, ) resp_time = findall(r"time=.+m?s", shell.stdout, MULTILINE)[0].replace("time=", "") text += f" **{dc.upper()}:** {resp_time} ✅\n" except Exception: # There's a cross emoji here, but it's invisible. text += f" **{dc.upper}:** ❌\n" await m.edit(text)