Spaces:
Running
Running
Update chatbot/plugins/autobanch.py
Browse files- chatbot/plugins/autobanch.py +22 -56
chatbot/plugins/autobanch.py
CHANGED
|
@@ -66,34 +66,11 @@ async def unbanch_usert(client: Client, cb: CallbackQuery):
|
|
| 66 |
await cb.answer(f"Error: {e}", True)
|
| 67 |
logger.error(f"Error unbanning user {user_id}: {e}")
|
| 68 |
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
[
|
| 74 |
-
InlineKeyboardButton(
|
| 75 |
-
text="⚠️ Unban",
|
| 76 |
-
callback_data=f"unbanch_{message.from_user.id}"
|
| 77 |
-
)
|
| 78 |
-
]
|
| 79 |
-
]
|
| 80 |
)
|
| 81 |
-
try:
|
| 82 |
-
if message.chat.type == ChatType.CHANNEL:
|
| 83 |
-
if message.chat.id == -1001558215042:
|
| 84 |
-
text_ban = f"User {message.from_user.first_name} (ID: {message.from_user.id}) was banned from {message.chat.title}."
|
| 85 |
-
await client.ban_chat_member(
|
| 86 |
-
"RendyProjects",
|
| 87 |
-
message.from_user.id,
|
| 88 |
-
)
|
| 89 |
-
await client.send_message(
|
| 90 |
-
"KillerXSupport",
|
| 91 |
-
text_ban,
|
| 92 |
-
reply_markup=keyboard_button
|
| 93 |
-
)
|
| 94 |
-
except Exception as e:
|
| 95 |
-
await client.send_message("KillerXSupport", f"Error {e}")
|
| 96 |
-
logger.error(f"Error {e}")
|
| 97 |
|
| 98 |
@Client.on_chat_member_updated(
|
| 99 |
filters.chat("RendyProjects")
|
|
@@ -102,36 +79,25 @@ async def auto_banned_ch(client: Client, event: ChatMemberUpdated):
|
|
| 102 |
logger.info(f"Chat member update: {event}")
|
| 103 |
old_status = event.old_chat_member.status if event.old_chat_member else None
|
| 104 |
new_status = event.new_chat_member.status if event.new_chat_member else None
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
user_id,
|
| 123 |
-
)
|
| 124 |
-
await client.send_message(
|
| 125 |
-
"KillerXSupport",
|
| 126 |
-
text_ban,
|
| 127 |
-
reply_markup=keyboard_button
|
| 128 |
-
)
|
| 129 |
-
logger.info(f"User {user_id} has been banned for leaving the chat.")
|
| 130 |
-
except Exception as e:
|
| 131 |
-
await client.send_message("KillerXSupport", f"Error banning user {user_id}: {e}")
|
| 132 |
-
logger.error(f"Error banning user {user_id}: {e}")
|
| 133 |
|
| 134 |
-
|
| 135 |
try:
|
| 136 |
if await db.is_gbanned(user_id):
|
| 137 |
text_ban = f"User {user_first_name} (ID: {user_id}) was banned from {event.chat.title} due to global ban."
|
|
|
|
| 66 |
await cb.answer(f"Error: {e}", True)
|
| 67 |
logger.error(f"Error unbanning user {user_id}: {e}")
|
| 68 |
|
| 69 |
+
def create_button_unban(user_id):
|
| 70 |
+
return InlineKeyboardMarkup(
|
| 71 |
+
[[InlineKeyboardButton(
|
| 72 |
+
text="⚠️ Unban", callback_data=f"unbanch_{user_id}")]]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
@Client.on_chat_member_updated(
|
| 76 |
filters.chat("RendyProjects")
|
|
|
|
| 79 |
logger.info(f"Chat member update: {event}")
|
| 80 |
old_status = event.old_chat_member.status if event.old_chat_member else None
|
| 81 |
new_status = event.new_chat_member.status if event.new_chat_member else None
|
| 82 |
+
if event.chat.type == ChatType.CHANNEL:
|
| 83 |
+
if old_status == ChatMemberStatus.MEMBER:
|
| 84 |
+
try:
|
| 85 |
+
text_ban = f"User {event.from_user.first_name} (ID: {event.from_user.id}) was banned from {event.chat.title}."
|
| 86 |
+
await client.ban_chat_member(
|
| 87 |
+
event.chat.id,
|
| 88 |
+
event.from_user.id,
|
| 89 |
+
)
|
| 90 |
+
await client.send_message(
|
| 91 |
+
"KillerXSupport",
|
| 92 |
+
text_ban,
|
| 93 |
+
reply_markup=create_button_unban(user_id)
|
| 94 |
+
)
|
| 95 |
+
logger.info(f"User {user_id} has been banned for leaving the chat.")
|
| 96 |
+
except Exception as e:
|
| 97 |
+
await client.send_message("KillerXSupport", f"Error banning user {user_id}: {e}")
|
| 98 |
+
logger.error(f"Error banning user {user_id}: {e}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 99 |
|
| 100 |
+
if new_status == ChatMemberStatus.MEMBER and event.new_chat_member.status == ChatMemberStatus.MEMBER:
|
| 101 |
try:
|
| 102 |
if await db.is_gbanned(user_id):
|
| 103 |
text_ban = f"User {user_first_name} (ID: {user_id}) was banned from {event.chat.title} due to global ban."
|