randydev commited on
Commit
7bb8ae4
·
verified ·
1 Parent(s): 04c7715

Update chatbot/plugins/autobanch.py

Browse files
Files changed (1) hide show
  1. 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
- @Client.on_message(filters.left_chat_member & filters.channel)
70
- async def left_ch(client: Client, message: Message):
71
- keyboard_button = InlineKeyboardMarkup(
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
- user_id = event.from_user.id
106
- user_first_name = event.from_user.first_name
107
- if old_status == ChatMemberStatus.LEFT and new_status != ChatMemberStatus.MEMBER:
108
- try:
109
- keyboard_button = InlineKeyboardMarkup(
110
- [
111
- [
112
- InlineKeyboardButton(
113
- text="⚠️ Unban",
114
- callback_data=f"unbanch_{user_id}"
115
- )
116
- ]
117
- ]
118
- )
119
- text_ban = f"User {user_first_name} (ID: {user_id}) was banned from {event.chat.title}."
120
- await client.ban_chat_member(
121
- event.chat.id,
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
- elif new_status == ChatMemberStatus.MEMBER and event.new_chat_member.status == ChatMemberStatus.MEMBER:
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."