🔖 Update to v1.1.6

This commit is contained in:
xtaodada 2022-07-03 18:07:55 +08:00
parent 991a6acdba
commit c76c530872
Signed by: xtaodada
GPG Key ID: 4CBB3F4FA8C85659
4 changed files with 79 additions and 5 deletions

View File

@ -14,7 +14,7 @@ import pyromod.listen
from pyrogram import Client from pyrogram import Client
import sys import sys
pgm_version = "1.1.5" pgm_version = "1.1.6"
CMD_LIST = {} CMD_LIST = {}
module_dir = __path__[0] module_dir = __path__[0]
working_dir = getcwd() working_dir = getcwd()

View File

@ -2,6 +2,9 @@
from json import dump as json_dump from json import dump as json_dump
from os import listdir, sep from os import listdir, sep
from pyrogram.enums import ParseMode
from pagermaid import help_messages, Config from pagermaid import help_messages, Config
from pagermaid.group_manager import enforce_permission from pagermaid.group_manager import enforce_permission
from pagermaid.modules.reload import reload_all 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_source')}](https://t.me/PagerMaid_Modify) "
f"[{lang('help_plugin')}](https://index.xtaolabs.com/) " f"[{lang('help_plugin')}](https://index.xtaolabs.com/) "
f"[{lang('help_module')}](https://wiki.xtaolabs.com/)", f"[{lang('help_module')}](https://wiki.xtaolabs.com/)",
parse_mode=ParseMode.MARKDOWN,
disable_web_page_preview=True) disable_web_page_preview=True)
@ -83,6 +87,7 @@ async def help_raw_command(message: Message):
result += f"`{command}`, " result += f"`{command}`, "
await message.edit( await message.edit(
f"""{result[:-2]}\n**{lang('help_send')} ",help <{lang('command')}>" {lang('help_see')}** [{lang('help_source')}](https://t.me/PagerMaid_Modify)""", 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, disable_web_page_preview=True,
) )

View File

@ -1,9 +1,13 @@
""" PagerMaid module that contains utilities related to system status. """ """ PagerMaid module that contains utilities related to system status. """
import re
from datetime import datetime, timezone from datetime import datetime, timezone
from platform import uname, python_version from platform import uname, python_version
from sys import platform from sys import platform
from pyrogram import __version__ from pyrogram import __version__
from pyrogram.enums import ChatType
from pyrogram.raw.functions import Ping from pyrogram.raw.functions import Ping
from pyrogram.enums.parse_mode import ParseMode 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.listener import listener
from pagermaid.utils import lang, Message, execute 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", @listener(is_plugin=False, command="sysinfo",
description=lang('sysinfo_des')) description=lang('sysinfo_des'))
@ -70,8 +82,65 @@ async def status(message: Message):
await message.edit(text) 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", @listener(is_plugin=False, command="ping",
description=lang('ping_des')) description=lang("ping_des"))
async def ping(message: Message): async def ping(message: Message):
""" Calculates latency between PagerMaid and Telegram. """ """ Calculates latency between PagerMaid and Telegram. """
start = datetime.now() start = datetime.now()

View File

@ -184,9 +184,9 @@ async def process_exit(start: int, _client, message=None):
data = sqlite.get("exit_msg", {}) data = sqlite.get("exit_msg", {})
cid, mid = data.get("cid", 0), data.get("mid", 0) cid, mid = data.get("cid", 0), data.get("mid", 0)
if start and data and cid and mid: if start and data and cid and mid:
with contextlib.suppress(Exception):
msg: Message = await _client.get_messages(cid, mid) msg: Message = await _client.get_messages(cid, mid)
if msg: if msg:
with contextlib.suppress(Exception):
await msg.edit( await msg.edit(
((msg.text or msg.caption) if msg.from_user.is_self and (msg.text or msg.caption) else "") + ((msg.text or msg.caption) if msg.from_user.is_self and (msg.text or msg.caption) else "") +
f'\n\n> {lang("restart_complete")}') f'\n\n> {lang("restart_complete")}')