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."
|