-
Notifications
You must be signed in to change notification settings - Fork 102
/
sticker_deleter.py
64 lines (47 loc) · 2.14 KB
/
sticker_deleter.py
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
import asyncio
from pyrogram import filters
from pyrogram.types import Message
from userbot import UserBot
from userbot.database.sticker_deleter import StickerDeleter
from userbot.plugins.help import add_command_help
@UserBot.on_message(filters.command("stickerdel", ".") & filters.me)
async def delete_sticker_here(bot: UserBot, message: Message):
sticker_message = message.reply_to_message
chat_details = StickerDeleter().find_chat_id(sticker_message)
if chat_details is not None:
chat_id = chat_details["chat_id"]
sticker_id = chat_details['sticker_id']
if chat_id == message.chat.id and sticker_id == sticker_message.sticker.file_unique_id:
await message.edit(
"```Deletion for this sticker enabled here...```"
)
elif chat_details is None:
StickerDeleter().add_sticker_in_chat(sticker_message)
await message.edit("```Sticker deleter enabled here!!```")
await asyncio.sleep(2)
await message.delete()
@UserBot.on_message(filters.command("stickerdel", "!") & filters.me)
async def not_delete_sticker_here(bot: UserBot, message: Message):
if StickerDeleter().delete_sticker_in_chat(message) is True:
await message.edit("```Sticker deleter disabled for this chat```")
else:
await message.edit("```Sticker deleter was never enabled for this chat```")
await asyncio.sleep(2)
await message.delete()
@UserBot.on_message(filters.incoming & filters.sticker)
async def stickered(bot: UserBot, message: Message):
try:
chat_details = StickerDeleter().find_chat_id(message)
if chat_details is not None:
if chat_details["chat_id"] == message.chat.id \
and chat_details['sticker_id'] == message.sticker.file_unique_id:
await message.delete()
except Exception as e:
print("Sticker Deleter: MongoDB not configured")
add_command_help(
"stickerdel",
[
[".stickerdel", "Reply to a sticker and the bot will delete it from the chat each time it is sent."],
["!stickerdel", "Run the command and it will stop deleting all stickers in a chat."],
],
)