forked from Aadhi000/OP-Rename-Bot
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcallbacks.py
More file actions
120 lines (117 loc) Β· 7.05 KB
/
Copy pathcallbacks.py
File metadata and controls
120 lines (117 loc) Β· 7.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# (c) @Aadhi000
from pyrogram import types
from bot.client import Client
from bot.core.db.database import db
from bot.core.file_info import (
get_media_file_name,
get_media_file_size,
get_file_type,
get_file_attr
)
from bot.core.display import humanbytes
from bot.core.handlers.settings import show_settings
@Client.on_callback_query()
async def cb_handlers(c: Client, cb: "types.CallbackQuery"):
if cb.data == "showSettings":
await cb.answer()
await show_settings(cb.message)
elif cb.data == "showThumbnail":
thumbnail = await db.get_thumbnail(cb.from_user.id)
if not thumbnail:
await cb.answer("ππΎπ π³πΈπ³π½'π ππ΄π π°π½π π²ππππΎπΌ ππ·ππΌπ±π½π°πΈπ»!", show_alert=True)
else:
await cb.answer()
await c.send_photo(cb.message.chat.id, thumbnail, "π²ππππΎπΌ ππ·ππΌπ±π½π°πΈπ»",
reply_markup=types.InlineKeyboardMarkup([[
types.InlineKeyboardButton("π³π΄π»π΄ππ΄ ππ·ππΌπ±π½π°πΈπ»",
callback_data="deleteThumbnail")
]]))
elif cb.data == "deleteThumbnail":
await db.set_thumbnail(cb.from_user.id, None)
await cb.answer("πΎπΊπ°π, πΈ π³π΄π»π΄ππ΄π³ ππΎππ π²ππππΎπΌ ππ·ππΌπ±π½π°πΈπ». π½πΎπ πΈ ππΈπ»π» π°πΏπΏπ»π π³π΄π΅π°ππ»π ππ·ππΌπ±π½π°πΈπ».", show_alert=True)
await cb.message.delete(True)
elif cb.data == "setThumbnail":
await cb.answer()
await cb.message.edit("ππ΄π½π³ πΌπ΄ π°π½π πΏπ·πΎππΎ ππΎ ππ΄π ππ·π°π π°π π²ππππΎπΌ ππ·ππΌπ±π½π°πΈπ».\n\n"
"πΏππ΄ππ /cancel ππΎ π²π°π½π²π΄π» πΏππΎπ²π΄ππ..")
from_user_thumb: "types.Message" = await c.listen(cb.message.chat.id)
if not from_user_thumb.photo:
await cb.message.edit("<b>πΏππΎπ²π΄ππ π²π°π½π²π΄π»π»π΄π³</b>")
return await from_user_thumb.continue_propagation()
else:
await db.set_thumbnail(cb.from_user.id, from_user_thumb.photo.file_id)
await cb.message.edit("πΎπΊπ°π!\n"
"π½πΎπ πΈ ππΈπ»π» π°πΏπΏπ»π ππ·πΈπ ππ·ππΌπ±π½π°πΈπ» ππΎ π½π΄ππ ππΏπ»πΎπ°π³π.",
reply_markup=types.InlineKeyboardMarkup(
[[types.InlineKeyboardButton("π±πΎπ ππ΄πππΈπ½πΆπ",
callback_data="showSettings")]]
))
elif cb.data == "setCustomCaption":
await cb.answer()
await cb.message.edit("Okay,\n"
"ππ΄π½π³ πΌπ΄ ππΎππ π²ππππΎπΌ π²π°πΏππΈπΎπ½.\n\n"
"πΏππ΄ππ /cancel ππΎ π²π°π½π²π΄π» πΏππΎπ²π΄ππ..")
user_input_msg: "types.Message" = await c.listen(cb.message.chat.id)
if not user_input_msg.text:
await cb.message.edit("<b>πΏππΎπ²π΄ππ π²π°π½π²π΄π»π»π΄π³</b>")
return await user_input_msg.continue_propagation()
if user_input_msg.text and user_input_msg.text.startswith("/"):
await cb.message.edit("<b>πΏππΎπ²π΄ππ π²π°π½π²π΄π»π»π΄π³</b>")
return await user_input_msg.continue_propagation()
await db.set_caption(cb.from_user.id, user_input_msg.text.markdown)
await cb.message.edit("π²ππππΎπΌ π²π°πΏππΈπΎπ½ π°π³π³π΄π³ πππ²π²π΄πππ΅ππ»π»π!",
reply_markup=types.InlineKeyboardMarkup(
[[types.InlineKeyboardButton("π±πΎπ ππ΄πππΈπ½πΆπ",
callback_data="showSettings")]]
))
elif cb.data == "triggerApplyCaption":
await cb.answer()
apply_caption = await db.get_apply_caption(cb.from_user.id)
if not apply_caption:
await db.set_apply_caption(cb.from_user.id, True)
else:
await db.set_apply_caption(cb.from_user.id, False)
await show_settings(cb.message)
elif cb.data == "triggerApplyDefaultCaption":
await db.set_caption(cb.from_user.id, None)
await cb.answer("πΎπΊπ°π, π½πΎπ πΈ ππΈπ»π» πΊπ΄π΄πΏ π³π΄π΅π°ππ»π π²π°πΏππΈπΎπ½.", show_alert=True)
await show_settings(cb.message)
elif cb.data == "showCaption":
caption = await db.get_caption(cb.from_user.id)
if not caption:
await cb.answer("ππΎπ π³πΈπ³π½'π ππ΄π π°π½π π²ππππΎπΌ π²π°πΏππΈπΎπ½!", show_alert=True)
else:
await cb.answer()
await cb.message.edit(
text=caption,
parse_mode="Markdown",
reply_markup=types.InlineKeyboardMarkup([[
types.InlineKeyboardButton("π±π°π²πΊ", callback_data="showSettings")
]])
)
elif cb.data == "triggerUploadMode":
await cb.answer()
upload_as_doc = await db.get_upload_as_doc(cb.from_user.id)
if upload_as_doc:
await db.set_upload_as_doc(cb.from_user.id, False)
else:
await db.set_upload_as_doc(cb.from_user.id, True)
await show_settings(cb.message)
elif cb.data == "showFileInfo":
replied_m = cb.message.reply_to_message
_file_name = get_media_file_name(replied_m)
text = f"**π΅πΈπ»π΄ π½π°πΌπ΄ :** `{_file_name}`\n\n" \
f"**π΅πΈπ»π΄ π΄πππ΄π½ππΈπΎπ½ :** `{_file_name.rsplit('.', 1)[-1].upper()}`\n\n" \
f"**π΅πΈπ»π΄ πππΏπ΄ :** `{get_file_type(replied_m).upper()}`\n\n" \
f"**π΅πΈπ»π΄ ππΈππ΄ :** `{humanbytes(get_media_file_size(replied_m))}`\n\n" \
f"**π΅πΈπ»π΄ π΅πΎππΌπ°π :** `{get_file_attr(replied_m).mime_type}`"
await cb.message.edit(
text=text,
parse_mode="Markdown",
disable_web_page_preview=True,
reply_markup=types.InlineKeyboardMarkup(
[[types.InlineKeyboardButton("π²π»πΎππ΄", callback_data="closeMessage")]]
)
)
elif cb.data == "closeMessage":
await cb.message.delete(True)