| from pyrogram import enums |
| from pyrogram.enums import ChatType |
| from pyrogram import filters, Client |
| from SONALI import app |
| from config import OWNER_ID |
| from pyrogram.types import Message |
| from SONALI.utils.RAUSHAN_ban import admin_filter |
| from pyrogram.types import Message, CallbackQuery, InlineKeyboardMarkup, InlineKeyboardButton |
|
|
|
|
|
|
| |
|
|
|
|
| @app.on_message(filters.command("pin") & admin_filter) |
| async def pin(_, message): |
| replied = message.reply_to_message |
| chat_title = message.chat.title |
| chat_id = message.chat.id |
| user_id = message.from_user.id |
| name = message.from_user.mention |
| |
| if message.chat.type == enums.ChatType.PRIVATE: |
| await message.reply_text("**ᴛʜɪs ᴄᴏᴍᴍᴀɴᴅ ᴡᴏʀᴋs ᴏɴʟʏ ᴏɴ ɢʀᴏᴜᴘs !**") |
| elif not replied: |
| await message.reply_text("**ʀᴇᴘʟʏ ᴛᴏ ᴀ ᴍᴇssᴀɢᴇ ᴛᴏ ᴘɪɴ ɪᴛ !**") |
| else: |
| user_stats = await app.get_chat_member(chat_id, user_id) |
| if user_stats.privileges.can_pin_messages and message.reply_to_message: |
| try: |
| await message.reply_to_message.pin() |
| await message.reply_text(f"**sᴜᴄᴄᴇssғᴜʟʟʏ ᴘɪɴɴᴇᴅ ᴍᴇssᴀɢᴇ!**\n\n**ᴄʜᴀᴛ:** {chat_title}\n**ᴀᴅᴍɪɴ:** {name}", reply_markup=InlineKeyboardMarkup([[InlineKeyboardButton(" 📝 ᴠɪᴇᴡs ᴍᴇssᴀɢᴇ ", url=replied.link)]])) |
| except Exception as e: |
| await message.reply_text(str(e)) |
|
|
|
|
| @app.on_message(filters.command("pinned")) |
| async def pinned(_, message): |
| chat = await app.get_chat(message.chat.id) |
| if not chat.pinned_message: |
| return await message.reply_text("**ɴᴏ ᴘɪɴɴᴇᴅ ᴍᴇssᴀɢᴇ ғᴏᴜɴᴅ**") |
| try: |
| await message.reply_text("ʜᴇʀᴇ ɪs ᴛʜᴇ ʟᴀᴛᴇsᴛ ᴘɪɴɴᴇᴅ ᴍᴇssᴀɢᴇ",reply_markup= |
| InlineKeyboardMarkup([[InlineKeyboardButton(text="📝 ᴠɪᴇᴡ ᴍᴇssᴀɢᴇ",url=chat.pinned_message.link)]])) |
| except Exception as er: |
| await message.reply_text(er) |
|
|
|
|
| |
|
|
| @app.on_message(filters.command("unpin") & admin_filter) |
| async def unpin(_, message): |
| replied = message.reply_to_message |
| chat_title = message.chat.title |
| chat_id = message.chat.id |
| user_id = message.from_user.id |
| name = message.from_user.mention |
| |
| if message.chat.type == enums.ChatType.PRIVATE: |
| await message.reply_text("**ᴛʜɪs ᴄᴏᴍᴍᴀɴᴅ ᴡᴏʀᴋs ᴏɴʟʏ ᴏɴ ɢʀᴏᴜᴘs !**") |
| elif not replied: |
| await message.reply_text("**ʀᴇᴘʟʏ ᴛᴏ ᴀ ᴍᴇssᴀɢᴇ ᴛᴏ ᴜɴᴘɪɴ ɪᴛ !**") |
| else: |
| user_stats = await app.get_chat_member(chat_id, user_id) |
| if user_stats.privileges.can_pin_messages and message.reply_to_message: |
| try: |
| await message.reply_to_message.unpin() |
| await message.reply_text(f"**sᴜᴄᴄᴇssғᴜʟʟʏ ᴜɴᴘɪɴɴᴇᴅ ᴍᴇssᴀɢᴇ!**\n\n**ᴄʜᴀᴛ:** {chat_title}\n**ᴀᴅᴍɪɴ:** {name}", reply_markup=InlineKeyboardMarkup([[InlineKeyboardButton(" 📝 ᴠɪᴇᴡs ᴍᴇssᴀɢᴇ ", url=replied.link)]])) |
| except Exception as e: |
| await message.reply_text(str(e)) |
|
|
|
|
|
|
|
|
| |
|
|
| @app.on_message(filters.command("removephoto") & admin_filter) |
| async def deletechatphoto(_, message): |
| |
| chat_id = message.chat.id |
| user_id = message.from_user.id |
| msg = await message.reply_text("**ᴘʀᴏᴄᴇssɪɴɢ....**") |
| admin_check = await app.get_chat_member(chat_id, user_id) |
| if message.chat.type == enums.ChatType.PRIVATE: |
| await msg.edit("**ᴛʜɪs ᴄᴏᴍᴍᴀɴᴅ ᴡᴏʀᴋ ᴏɴ ɢʀᴏᴜᴘs !**") |
| try: |
| if admin_check.privileges.can_change_info: |
| await app.delete_chat_photo(chat_id) |
| await msg.edit("**sᴜᴄᴄᴇssғᴜʟʟʏ ʀᴇᴍᴏᴠᴇᴅ ᴘʀᴏғɪʟᴇ ᴘʜᴏᴛᴏ ғʀᴏᴍ ɢʀᴏᴜᴘ !\nʙʏ** {}".format(message.from_user.mention)) |
| except: |
| await msg.edit("**ᴛʜᴇ ᴜsᴇʀ ᴍᴏsᴛ ɴᴇᴇᴅ ᴄʜᴀɴɢᴇ ɪɴғᴏ ᴀᴅᴍɪɴ ʀɪɢʜᴛs ᴛᴏ ʀᴇᴍᴏᴠᴇ ɢʀᴏᴜᴘ ᴘʜᴏᴛᴏ !**") |
|
|
|
|
| |
|
|
| @app.on_message(filters.command("setphoto")& admin_filter) |
| async def setchatphoto(_, message): |
| reply = message.reply_to_message |
| chat_id = message.chat.id |
| user_id = message.from_user.id |
| msg = await message.reply_text("ᴘʀᴏᴄᴇssɪɴɢ...") |
| admin_check = await app.get_chat_member(chat_id, user_id) |
| if message.chat.type == enums.ChatType.PRIVATE: |
| await msg.edit("`ᴛʜɪs ᴄᴏᴍᴍᴀɴᴅ ᴡᴏʀᴋ ᴏɴ ɢʀᴏᴜᴘs !`") |
| elif not reply: |
| await msg.edit("**ʀᴇᴘʟʏ ᴛᴏ ᴀ ᴘʜᴏᴛᴏ ᴏʀ ᴅᴏᴄᴜᴍᴇɴᴛ.**") |
| elif reply: |
| try: |
| if admin_check.privileges.can_change_info: |
| photo = await reply.download() |
| await message.chat.set_photo(photo=photo) |
| await msg.edit_text("**sᴜᴄᴄᴇssғᴜʟʟʏ ɴᴇᴡ ᴘʀᴏғɪʟᴇ ᴘʜᴏᴛᴏ ɪɴsᴇʀᴛ !\nʙʏ** {}".format(message.from_user.mention)) |
| else: |
| await msg.edit("**sᴏᴍᴇᴛʜɪɴɢ ᴡʀᴏɴɢ ʜᴀᴘᴘᴇɴᴇᴅ ᴛʀʏ ᴀɴᴏᴛʜᴇʀ ᴘʜᴏᴛᴏ !**") |
| |
| except: |
| await msg.edit("**ᴛʜᴇ ᴜsᴇʀ ᴍᴏsᴛ ɴᴇᴇᴅ ᴄʜᴀɴɢᴇ ɪɴғᴏ ᴀᴅᴍɪɴ ʀɪɢʜᴛs ᴛᴏ ᴄʜᴀɴɢᴇ ɢʀᴏᴜᴘ ᴘʜᴏᴛᴏ !**") |
|
|
|
|
| |
|
|
| @app.on_message(filters.command("settitle")& admin_filter) |
| async def setgrouptitle(_, message): |
| reply = message.reply_to_message |
| chat_id = message.chat.id |
| user_id = message.from_user.id |
| msg = await message.reply_text("ᴘʀᴏᴄᴇssɪɴɢ...") |
| if message.chat.type == enums.ChatType.PRIVATE: |
| await msg.edit("**ᴛʜɪs ᴄᴏᴍᴍᴀɴᴅ ᴡᴏʀᴋ ᴏɴ ɢʀᴏᴜᴘs !**") |
| elif reply: |
| try: |
| title = message.reply_to_message.text |
| admin_check = await app.get_chat_member(chat_id, user_id) |
| if admin_check.privileges.can_change_info: |
| await message.chat.set_title(title) |
| await msg.edit("**sᴜᴄᴄᴇssғᴜʟʟʏ ɴᴇᴡ ɢʀᴏᴜᴘ ɴᴀᴍᴇ ɪɴsᴇʀᴛ !\nʙʏ** {}".format(message.from_user.mention)) |
| except AttributeError: |
| await msg.edit("**ᴛʜᴇ ᴜsᴇʀ ᴍᴏsᴛ ɴᴇᴇᴅ ᴄʜᴀɴɢᴇ ɪɴғᴏ ᴀᴅᴍɪɴ ʀɪɢʜᴛs ᴛᴏ ᴄʜᴀɴɢᴇ ɢʀᴏᴜᴘ ᴛɪᴛʟᴇ !**") |
| elif len(message.command) >1: |
| try: |
| title = message.text.split(None, 1)[1] |
| admin_check = await app.get_chat_member(chat_id, user_id) |
| if admin_check.privileges.can_change_info: |
| await message.chat.set_title(title) |
| await msg.edit("**sᴜᴄᴄᴇssғᴜʟʟʏ ɴᴇᴡ ɢʀᴏᴜᴘ ɴᴀᴍᴇ ɪɴsᴇʀᴛ !\nʙʏ** {}".format(message.from_user.mention)) |
| except AttributeError: |
| await msg.edit("**ᴛʜᴇ ᴜsᴇʀ ᴍᴏsᴛ ɴᴇᴇᴅ ᴄʜᴀɴɢᴇ ɪɴғᴏ ᴀᴅᴍɪɴ ʀɪɢʜᴛs ᴛᴏ ᴄʜᴀɴɢᴇ ɢʀᴏᴜᴘ ᴛɪᴛʟᴇ !**") |
| |
|
|
| else: |
| await msg.edit("**ʏᴏᴜ ɴᴇᴇᴅ ʀᴇᴘʟʏ ᴛᴏ ᴛᴇxᴛ ᴏʀ ɢɪᴠᴇ sᴏᴍᴇ ᴛᴇxᴛ ᴛᴏ ᴄʜᴀɴɢᴇ ɢʀᴏᴜᴘ ᴛɪᴛʟᴇ **") |
|
|
|
|
| |
|
|
|
|
|
|
| @app.on_message(filters.command("setdiscription") & admin_filter) |
| async def setg_discription(_, message): |
| reply = message.reply_to_message |
| chat_id = message.chat.id |
| user_id = message.from_user.id |
| msg = await message.reply_text("**ᴘʀᴏᴄᴇssɪɴɢ...**") |
| if message.chat.type == enums.ChatType.PRIVATE: |
| await msg.edit("**ᴛʜɪs ᴄᴏᴍᴍᴀɴᴅ ᴡᴏʀᴋs ᴏɴ ɢʀᴏᴜᴘs!**") |
| elif reply: |
| try: |
| discription = message.reply_to_message.text |
| admin_check = await app.get_chat_member(chat_id, user_id) |
| if admin_check.privileges.can_change_info: |
| await message.chat.set_description(discription) |
| await msg.edit("**sᴜᴄᴄᴇssғᴜʟʟʏ ɴᴇᴡ ɢʀᴏᴜᴘ ᴅɪsᴄʀɪᴘᴛɪᴏɴ ɪɴsᴇʀᴛ!**\nʙʏ {}".format(message.from_user.mention)) |
| except AttributeError: |
| await msg.edit("**ᴛʜᴇ ᴜsᴇʀ ᴍᴜsᴛ ʜᴀᴠᴇ ᴄʜᴀɴɢᴇ ɪɴғᴏ ᴀᴅᴍɪɴ ʀɪɢʜᴛs ᴛᴏ ᴄʜᴀɴɢᴇ ɢʀᴏᴜᴘ ᴅɪsᴄʀɪᴘᴛɪᴏɴ!**") |
| elif len(message.command) > 1: |
| try: |
| discription = message.text.split(None, 1)[1] |
| admin_check = await app.get_chat_member(chat_id, user_id) |
| if admin_check.privileges.can_change_info: |
| await message.chat.set_description(discription) |
| await msg.edit("**sᴜᴄᴄᴇssғᴜʟʟʏ ɴᴇᴡ ɢʀᴏᴜᴘ ᴅɪsᴄʀɪᴘᴛɪᴏɴ ɪɴsᴇʀᴛ!**\nʙʏ {}".format(message.from_user.mention)) |
| except AttributeError: |
| await msg.edit("**ᴛʜᴇ ᴜsᴇʀ ᴍᴜsᴛ ʜᴀᴠᴇ ᴄʜᴀɴɢᴇ ɪɴғᴏ ᴀᴅᴍɪɴ ʀɪɢʜᴛs ᴛᴏ ᴄʜᴀɴɢᴇ ɢʀᴏᴜᴘ ᴅɪsᴄʀɪᴘᴛɪᴏɴ!**") |
| else: |
| await msg.edit("**ʏᴏᴜ ɴᴇᴇᴅ ᴛᴏ ʀᴇᴘʟʏ ᴛᴏ ᴛᴇxᴛ ᴏʀ ɢɪᴠᴇ sᴏᴍᴇ ᴛᴇxᴛ ᴛᴏ ᴄʜᴀɴɢᴇ ɢʀᴏᴜᴘ ᴅɪsᴄʀɪᴘᴛᴏɴ!**") |
|
|
|
|
| |
|
|
| @app.on_message(filters.command("lg")& filters.user(OWNER_ID)) |
| async def bot_leave(_, message): |
| chat_id = message.chat.id |
| text = "**sᴜᴄᴄᴇssғᴜʟʟʏ ʜɪʀᴏ !!.**" |
| await message.reply_text(text) |
| await app.leave_chat(chat_id=chat_id, delete=True) |
|
|
|
|
| |
|
|
|
|
|
|