mirror of
https://github.com/TeamPGM/PagerMaid-Pyro.git
synced 2024-11-28 01:36:26 +00:00
🔖 Update to v1.1.6
This commit is contained in:
parent
991a6acdba
commit
c76c530872
@ -14,7 +14,7 @@ import pyromod.listen
|
||||
from pyrogram import Client
|
||||
import sys
|
||||
|
||||
pgm_version = "1.1.5"
|
||||
pgm_version = "1.1.6"
|
||||
CMD_LIST = {}
|
||||
module_dir = __path__[0]
|
||||
working_dir = getcwd()
|
||||
|
@ -2,6 +2,9 @@
|
||||
|
||||
from json import dump as json_dump
|
||||
from os import listdir, sep
|
||||
|
||||
from pyrogram.enums import ParseMode
|
||||
|
||||
from pagermaid import help_messages, Config
|
||||
from pagermaid.group_manager import enforce_permission
|
||||
from pagermaid.modules.reload import reload_all
|
||||
@ -58,6 +61,7 @@ async def help_command(message: Message):
|
||||
f"[{lang('help_source')}](https://t.me/PagerMaid_Modify) "
|
||||
f"[{lang('help_plugin')}](https://index.xtaolabs.com/) "
|
||||
f"[{lang('help_module')}](https://wiki.xtaolabs.com/)",
|
||||
parse_mode=ParseMode.MARKDOWN,
|
||||
disable_web_page_preview=True)
|
||||
|
||||
|
||||
@ -83,6 +87,7 @@ async def help_raw_command(message: Message):
|
||||
result += f"`{command}`, "
|
||||
await message.edit(
|
||||
f"""{result[:-2]}\n**{lang('help_send')} ",help <{lang('command')}>" {lang('help_see')}** [{lang('help_source')}](https://t.me/PagerMaid_Modify)""",
|
||||
parse_mode=ParseMode.MARKDOWN,
|
||||
disable_web_page_preview=True,
|
||||
)
|
||||
|
||||
|
@ -1,9 +1,13 @@
|
||||
""" PagerMaid module that contains utilities related to system status. """
|
||||
|
||||
import re
|
||||
|
||||
from datetime import datetime, timezone
|
||||
from platform import uname, python_version
|
||||
from sys import platform
|
||||
|
||||
from pyrogram import __version__
|
||||
from pyrogram.enums import ChatType
|
||||
from pyrogram.raw.functions import Ping
|
||||
from pyrogram.enums.parse_mode import ParseMode
|
||||
|
||||
@ -18,6 +22,14 @@ from pagermaid import start_time, Config, pgm_version
|
||||
from pagermaid.listener import listener
|
||||
from pagermaid.utils import lang, Message, execute
|
||||
|
||||
DCs = {
|
||||
1: "149.154.175.50",
|
||||
2: "149.154.167.51",
|
||||
3: "149.154.175.100",
|
||||
4: "149.154.167.91",
|
||||
5: "91.108.56.130"
|
||||
}
|
||||
|
||||
|
||||
@listener(is_plugin=False, command="sysinfo",
|
||||
description=lang('sysinfo_des'))
|
||||
@ -70,8 +82,65 @@ async def status(message: Message):
|
||||
await message.edit(text)
|
||||
|
||||
|
||||
@listener(is_plugin=False, command="stats",
|
||||
description=lang("stats_des"))
|
||||
async def stats(message: Message):
|
||||
msg = await message.edit(lang("stats_loading"))
|
||||
a, u, g, s, c, b = 0, 0, 0, 0, 0, 0
|
||||
async for dialog in message.bot.get_dialogs():
|
||||
chat_type = dialog.chat.type
|
||||
if chat_type == ChatType.BOT:
|
||||
b += 1
|
||||
elif chat_type == ChatType.PRIVATE:
|
||||
u += 1
|
||||
elif chat_type == ChatType.GROUP:
|
||||
g += 1
|
||||
elif chat_type == ChatType.SUPERGROUP:
|
||||
s += 1
|
||||
elif chat_type == ChatType.CHANNEL:
|
||||
c += 1
|
||||
a += 1
|
||||
text = (f"**{lang('stats_hint')}** \n"
|
||||
f"{lang('stats_dialogs')}: `{a}` \n"
|
||||
f"{lang('stats_private')}: `{u}` \n"
|
||||
f"{lang('stats_group')}: `{g}` \n"
|
||||
f"{lang('stats_supergroup')}: `{s}` \n"
|
||||
f"{lang('stats_channel')}: `{c}` \n"
|
||||
f"{lang('stats_bot')}: `{b}`"
|
||||
)
|
||||
await msg.edit(text)
|
||||
|
||||
|
||||
@listener(is_plugin=False, command="pingdc",
|
||||
description=lang("pingdc_des"))
|
||||
async def ping_dc(message: Message):
|
||||
""" Ping your or other data center's IP addresses. """
|
||||
data = []
|
||||
print("1")
|
||||
for dc in range(1, 6):
|
||||
if platform == "win32":
|
||||
result = await execute(f'ping -n 1 {DCs[dc]} | find "最短"')
|
||||
if result := re.findall(r"= (.*?)ms", result or ""):
|
||||
data.append(result[0])
|
||||
else:
|
||||
data.append("0")
|
||||
else:
|
||||
result = await execute(f"ping -c 1 {DCs[dc]} | awk -F '/' " + "'END {print $5}'")
|
||||
try:
|
||||
data.append(str(float(result)))
|
||||
except ValueError:
|
||||
data.append("0")
|
||||
await message.edit(
|
||||
f"{lang('pingdc_1')}: `{data[0]}ms`\n"
|
||||
f"{lang('pingdc_2')}: `{data[1]}ms`\n"
|
||||
f"{lang('pingdc_3')}: `{data[2]}ms`\n"
|
||||
f"{lang('pingdc_4')}: `{data[3]}ms`\n"
|
||||
f"{lang('pingdc_5')}: `{data[4]}ms`"
|
||||
)
|
||||
|
||||
|
||||
@listener(is_plugin=False, command="ping",
|
||||
description=lang('ping_des'))
|
||||
description=lang("ping_des"))
|
||||
async def ping(message: Message):
|
||||
""" Calculates latency between PagerMaid and Telegram. """
|
||||
start = datetime.now()
|
||||
|
@ -184,9 +184,9 @@ async def process_exit(start: int, _client, message=None):
|
||||
data = sqlite.get("exit_msg", {})
|
||||
cid, mid = data.get("cid", 0), data.get("mid", 0)
|
||||
if start and data and cid and mid:
|
||||
with contextlib.suppress(Exception):
|
||||
msg: Message = await _client.get_messages(cid, mid)
|
||||
if msg:
|
||||
with contextlib.suppress(Exception):
|
||||
await msg.edit(
|
||||
((msg.text or msg.caption) if msg.from_user.is_self and (msg.text or msg.caption) else "") +
|
||||
f'\n\n> {lang("restart_complete")}')
|
||||
|
Loading…
Reference in New Issue
Block a user