Upload 3 files
Browse files- Akeno/plugins/afk.py +7 -7
- Akeno/plugins/alive.py +77 -0
- Akeno/plugins/ping.py +49 -2
Akeno/plugins/afk.py
CHANGED
@@ -50,16 +50,16 @@ async def _log(client: Client, tag: str, text: str, file: str = None):
|
|
50 |
try:
|
51 |
if file:
|
52 |
try:
|
53 |
-
await client.send_document(
|
54 |
except:
|
55 |
await client.send_message(
|
56 |
-
|
57 |
msg,
|
58 |
disable_web_page_preview=True
|
59 |
)
|
60 |
else:
|
61 |
await client.send_message(
|
62 |
-
|
63 |
msg,
|
64 |
disable_web_page_preview=True
|
65 |
)
|
@@ -87,7 +87,7 @@ async def afk(client: Client, message: Message):
|
|
87 |
media_type = "video"
|
88 |
elif message.reply_to_message.media == MessageMediaType.VOICE:
|
89 |
media_type = "voice"
|
90 |
-
media = await message.reply_to_message.forward(
|
91 |
reason = await input_user(message)
|
92 |
reason = reason if reason else "Not specified"
|
93 |
await db.set_afk(
|
@@ -122,7 +122,7 @@ async def afk_watch(client: Client, message: Message):
|
|
122 |
caption = f"**{random.choice(afk_quotes)}**\n\n**π« π±πΎπΊπππ:** {afk_data['reason']}\n**β° π π₯πͺ π₯πππ:** `{afk_time}`"
|
123 |
|
124 |
if afk_data["media_type"] == "animation":
|
125 |
-
media = await client.get_messages(
|
126 |
sent = await client.send_animation(
|
127 |
message.chat.id, media.animation.file_id, caption, True
|
128 |
)
|
@@ -130,14 +130,14 @@ async def afk_watch(client: Client, message: Message):
|
|
130 |
elif afk_data["media_type"] in ["audio", "photo", "video", "voice"]:
|
131 |
sent = await client.copy_message(
|
132 |
message.chat.id,
|
133 |
-
|
134 |
afk_data["media"],
|
135 |
caption,
|
136 |
reply_to_message_id=message.id,
|
137 |
)
|
138 |
|
139 |
elif afk_data["media_type"] == "sticker":
|
140 |
-
media = await client.get_messages(
|
141 |
await client.download_media(media, "afk.png")
|
142 |
sent = await message.reply_photo("afk.png", caption=caption)
|
143 |
os.remove("afk.png")
|
|
|
50 |
try:
|
51 |
if file:
|
52 |
try:
|
53 |
+
await client.send_document(LOG_ID, file, caption=msg)
|
54 |
except:
|
55 |
await client.send_message(
|
56 |
+
LOG_ID,
|
57 |
msg,
|
58 |
disable_web_page_preview=True
|
59 |
)
|
60 |
else:
|
61 |
await client.send_message(
|
62 |
+
LOG_ID,
|
63 |
msg,
|
64 |
disable_web_page_preview=True
|
65 |
)
|
|
|
87 |
media_type = "video"
|
88 |
elif message.reply_to_message.media == MessageMediaType.VOICE:
|
89 |
media_type = "voice"
|
90 |
+
media = await message.reply_to_message.forward(LOG_ID)
|
91 |
reason = await input_user(message)
|
92 |
reason = reason if reason else "Not specified"
|
93 |
await db.set_afk(
|
|
|
122 |
caption = f"**{random.choice(afk_quotes)}**\n\n**π« π±πΎπΊπππ:** {afk_data['reason']}\n**β° π π₯πͺ π₯πππ:** `{afk_time}`"
|
123 |
|
124 |
if afk_data["media_type"] == "animation":
|
125 |
+
media = await client.get_messages(LOG_ID, afk_data["media"])
|
126 |
sent = await client.send_animation(
|
127 |
message.chat.id, media.animation.file_id, caption, True
|
128 |
)
|
|
|
130 |
elif afk_data["media_type"] in ["audio", "photo", "video", "voice"]:
|
131 |
sent = await client.copy_message(
|
132 |
message.chat.id,
|
133 |
+
LOG_ID,
|
134 |
afk_data["media"],
|
135 |
caption,
|
136 |
reply_to_message_id=message.id,
|
137 |
)
|
138 |
|
139 |
elif afk_data["media_type"] == "sticker":
|
140 |
+
media = await client.get_messages(LOG_ID, afk_data["media"])
|
141 |
await client.download_media(media, "afk.png")
|
142 |
sent = await message.reply_photo("afk.png", caption=caption)
|
143 |
os.remove("afk.png")
|
Akeno/plugins/alive.py
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import random
|
2 |
+
import os
|
3 |
+
import time
|
4 |
+
import asyncio
|
5 |
+
from pyrogram import Client, filters
|
6 |
+
from pyrogram.types import *
|
7 |
+
from pyrogram import *
|
8 |
+
from Akeno.utils.images import generate_alive_image
|
9 |
+
from Akeno.utils.handler import *
|
10 |
+
from Akeno.utils.database import db
|
11 |
+
from Akeno.plugins.ping import get_readable_time
|
12 |
+
from Akeno import __version__
|
13 |
+
from config import *
|
14 |
+
|
15 |
+
ALIVE_TEMPLATES = [
|
16 |
+
(
|
17 |
+
"β’βββββββββββββββββ’\n"
|
18 |
+
"β’ Aα΄α΄Ι΄α΄ Ιͺs α΄ΚΙͺα΄ α΄ β’\n"
|
19 |
+
"ββββββββββββββββββ’\n"
|
20 |
+
"β°β’ α΄α΄‘Ι΄α΄Κ Β» {owner}\n"
|
21 |
+
"β°β’ α΄ΚΚα΄Ι’Κα΄α΄ Β» {pyrogram}\n"
|
22 |
+
"β°β’ α΄Κα΄Κα΄Ι΄ Β» {python}\n"
|
23 |
+
"β°β’ α΄α΄α΄Ιͺα΄α΄ Β» {uptime}\n"
|
24 |
+
"β°βββββββββββββββββ’\n"
|
25 |
+
"π‘π Β© @xtdevs\n"
|
26 |
+
"β’βββββββββββββββββ’\n"
|
27 |
+
),
|
28 |
+
]
|
29 |
+
|
30 |
+
async def alive_template(owner: str, uptime: str) -> str:
|
31 |
+
template = await db.get_env(ENV_TEMPLATE.alive_template)
|
32 |
+
if template:
|
33 |
+
message = template
|
34 |
+
else:
|
35 |
+
message = random.choice(ALIVE_TEMPLATES)
|
36 |
+
return message.format(
|
37 |
+
owner=owner,
|
38 |
+
pyrogram=__version__["pyrogram"],
|
39 |
+
python=__version__["python"],
|
40 |
+
uptime=uptime,
|
41 |
+
)
|
42 |
+
|
43 |
+
@Akeno(
|
44 |
+
~filters.scheduled
|
45 |
+
& filters.command(["alive"], CMD_HANDLER)
|
46 |
+
& filters.me
|
47 |
+
& ~filters.forwarded
|
48 |
+
)
|
49 |
+
async def alive(client: Client, message: Message):
|
50 |
+
pro = await message.reply_text("Processing ...")
|
51 |
+
img = await db.get_env(ENV_TEMPLATE.alive_pic)
|
52 |
+
if not img:
|
53 |
+
if message.from_user.photo:
|
54 |
+
user_pfp = await client.download_media(message.from_user.photo.big_file_id)
|
55 |
+
del_path = True
|
56 |
+
else:
|
57 |
+
user_pfp = "resources/images/logo.png"
|
58 |
+
del_path = False
|
59 |
+
img = [
|
60 |
+
generate_alive_image(
|
61 |
+
message.from_user.first_name, user_pfp, del_path, Config.FONT_PATH
|
62 |
+
)
|
63 |
+
]
|
64 |
+
else:
|
65 |
+
img = img.split(" ")
|
66 |
+
img = random.choice(img)
|
67 |
+
uptime = get_readable_time(time.time() - START_TIME)
|
68 |
+
caption = await alive_template(client.me.first_name, uptime)
|
69 |
+
if img.endswith(".mp4"):
|
70 |
+
await message.reply_video(img, caption=caption)
|
71 |
+
else:
|
72 |
+
await message.reply_photo(img, caption=caption)
|
73 |
+
await pro.delete()
|
74 |
+
try:
|
75 |
+
os.remove(img)
|
76 |
+
except:
|
77 |
+
pass
|
Akeno/plugins/ping.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
import asyncio
|
2 |
import time
|
|
|
3 |
from datetime import datetime as dt
|
4 |
|
5 |
from pyrogram import Client, filters
|
@@ -8,8 +9,8 @@ from pyrogram.types import Message
|
|
8 |
|
9 |
from Akeno import StartTime
|
10 |
from Akeno.utils.handler import *
|
11 |
-
from
|
12 |
-
|
13 |
|
14 |
def get_readable_time(seconds: int) -> str:
|
15 |
count = 0
|
@@ -35,12 +36,58 @@ def get_readable_time(seconds: int) -> str:
|
|
35 |
|
36 |
return readable_time
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
@Akeno(
|
39 |
~filters.scheduled
|
40 |
& filters.command(["ping"], CMD_HANDLER)
|
41 |
& filters.me
|
42 |
& ~filters.forwarded
|
43 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
async def custom_ping_handler(client: Client, message: Message):
|
45 |
uptime = get_readable_time((time.time() - StartTime))
|
46 |
start = dt.now()
|
|
|
1 |
import asyncio
|
2 |
import time
|
3 |
+
import random
|
4 |
from datetime import datetime as dt
|
5 |
|
6 |
from pyrogram import Client, filters
|
|
|
9 |
|
10 |
from Akeno import StartTime
|
11 |
from Akeno.utils.handler import *
|
12 |
+
from Akeno.utils.database import db
|
13 |
+
from config import *
|
14 |
|
15 |
def get_readable_time(seconds: int) -> str:
|
16 |
count = 0
|
|
|
36 |
|
37 |
return readable_time
|
38 |
|
39 |
+
PING_TEMPLATES = [
|
40 |
+
"""**Ping !!**
|
41 |
+
|
42 |
+
π· **Speed:** {speed} m/s
|
43 |
+
π· **Uptime:** {uptime}
|
44 |
+
π· **Onwer:** {owner}""",
|
45 |
+
]
|
46 |
+
|
47 |
+
async def ping_template(speed: float, uptime: str, owner: str) -> str:
|
48 |
+
template = await db.get_env(ENV_TEMPLATE.ping_template)
|
49 |
+
if template:
|
50 |
+
message = template
|
51 |
+
else:
|
52 |
+
message = random.choice(PING_TEMPLATES)
|
53 |
+
return message.format(speed=speed, uptime=uptime, owner=owner)
|
54 |
+
|
55 |
@Akeno(
|
56 |
~filters.scheduled
|
57 |
& filters.command(["ping"], CMD_HANDLER)
|
58 |
& filters.me
|
59 |
& ~filters.forwarded
|
60 |
)
|
61 |
+
async def ping(client: Client, message: Message):
|
62 |
+
start_time = time.time()
|
63 |
+
pro = await message.reply_text("**Pong !!**")
|
64 |
+
uptime = get_readable_time(time.time() - StartTime)
|
65 |
+
img = await db.get_env(ENV_TEMPLATE.ping_pic)
|
66 |
+
end_time = time.time()
|
67 |
+
speed = end_time - start_time
|
68 |
+
caption = await ping_template(round(speed, 3), uptime, client.me.mention)
|
69 |
+
if img:
|
70 |
+
img = random.choice(img.split(" "))
|
71 |
+
if img.endswith(".mp4"):
|
72 |
+
await message.reply_video(
|
73 |
+
img,
|
74 |
+
caption=caption,
|
75 |
+
)
|
76 |
+
else:
|
77 |
+
await message.reply_photo(
|
78 |
+
img,
|
79 |
+
caption=caption,
|
80 |
+
)
|
81 |
+
await pro.delete()
|
82 |
+
return
|
83 |
+
await pro.edit_text(caption)
|
84 |
+
|
85 |
+
@Akeno(
|
86 |
+
~filters.scheduled
|
87 |
+
& filters.command(["kping"], CMD_HANDLER)
|
88 |
+
& filters.me
|
89 |
+
& ~filters.forwarded
|
90 |
+
)
|
91 |
async def custom_ping_handler(client: Client, message: Message):
|
92 |
uptime = get_readable_time((time.time() - StartTime))
|
93 |
start = dt.now()
|