sonali / SONALI /plugins /tools /gpdata.py
kailashhh's picture
SONALI
3353ecc
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)
# --------------------------------------------------------------------------------- #