randydev commited on
Commit
a748a75
·
verified ·
1 Parent(s): 96226f0
Files changed (1) hide show
  1. main.py +73 -5
main.py CHANGED
@@ -58,7 +58,9 @@ async def unwarn_button(client, callback_query):
58
  return
59
  warn_data = await db.warns.find_one({"chat_id": chat_id, "user_id": user_id})
60
  if not warn_data:
61
- return await callback_query.answer("⚠️ Tidak ada peringatan untuk user ini.", show_alert=True)
 
 
62
  await db.warns.delete_one({"chat_id": chat_id, "user_id": user_id})
63
  await callback_query.message.edit_text(f"✅ Peringatan untuk <code>{user_id}</code> telah dihapus.")
64
 
@@ -136,10 +138,74 @@ async def unban_button(client, callback_query):
136
  except Exception as e:
137
  await callback_query.message.reply_text(f"Gagal menghapus larangan: {e}")
138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  @bot.on_message(filters.command("delwarn") & filters.group)
140
  async def delwarn(client, message):
141
- if message.from_user.id not in [6477856957]:
142
- return await message.reply_text("LU SIAPA? GAK ADA IZIN GUE!")
 
 
143
  if len(message.command) != 2:
144
  return await message.reply_text("GAK ADA USER ID NYA? GIMANA NARIK BOT KE GRUP LU?")
145
  user_id = int(message.command[1])
@@ -476,7 +542,8 @@ async def markdown_code(client, message):
476
  return
477
  else:
478
  await message.reply_text(
479
- f"⚠️ Peringatan {warn_count}/3 untuk <code>[{message.from_user.id}]</code>",
 
480
  reply_markup=InlineKeyboardMarkup(
481
  [
482
  [
@@ -526,7 +593,8 @@ async def markdown_code(client, message):
526
  return
527
  else:
528
  await message.reply_text(
529
- f"⚠️ Peringatan {warn_count}/3 untuk <code>[{message.from_user.id}]</code>",
 
530
  reply_markup=InlineKeyboardMarkup(
531
  [
532
  [
 
58
  return
59
  warn_data = await db.warns.find_one({"chat_id": chat_id, "user_id": user_id})
60
  if not warn_data:
61
+ await callback_query.answer("⚠️ Tidak ada peringatan untuk user ini.", show_alert=True)
62
+ await callback_query.message.delete()
63
+ return
64
  await db.warns.delete_one({"chat_id": chat_id, "user_id": user_id})
65
  await callback_query.message.edit_text(f"✅ Peringatan untuk <code>{user_id}</code> telah dihapus.")
66
 
 
138
  except Exception as e:
139
  await callback_query.message.reply_text(f"Gagal menghapus larangan: {e}")
140
 
141
+ @bot.on_message(filters.command("warn") & filters.group)
142
+ async def warn(client, message):
143
+ member = await client.get_chat_member(message.chat.id, message.from_user.id)
144
+ if member.status not in {ChatMemberStatus.ADMINISTRATOR, ChatMemberStatus.OWNER}:
145
+ return await message.reply_text("❌ Hanya admin yang bisa memberikan peringatan!")
146
+
147
+ if len(message.command) != 2:
148
+ return await message.reply_text("GAK ADA USER ID NYA? GIMANA NARIK BOT KE GRUP LU?")
149
+ user_id = int(message.command[1])
150
+ try:
151
+ warn_data = await db.warns.find_one({"chat_id": message.chat.id, "user_id": user_id})
152
+ warn_count = 1
153
+ if warn_data:
154
+ warn_count = warn_data.get("count", 0) + 1
155
+ await db.warns.update_one(
156
+ {"chat_id": message.chat.id, "user_id": user_id},
157
+ {"$set": {"count": warn_count}},
158
+ upsert=True
159
+ )
160
+ else:
161
+ await db.warns.insert_one({
162
+ "chat_id": message.chat.id,
163
+ "user_id": user_id,
164
+ "count": warn_count
165
+ })
166
+ if warn_count >= 3:
167
+ await client.ban_chat_member(message.chat.id, user_id)
168
+ await message.reply_text(
169
+ f"🚫 User <code>[{user_id}]</code> telah dihapus setelah 3 kali peringatan.",
170
+ reply_markup=InlineKeyboardMarkup(
171
+ [
172
+ [
173
+ InlineKeyboardButton(
174
+ "Unban", callback_data=f"unban_{user_id}_{message.chat.id}"
175
+ )
176
+ ]
177
+ ]
178
+ )
179
+ )
180
+ await db.warns.delete_one({"chat_id": message.chat.id, "user_id": user_id})
181
+ return
182
+ else:
183
+ await message.reply_text(
184
+ f"⚠️ Peringatan {warn_count}/3 untuk <code>[{user_id}]</code>\n\n"
185
+ f"Alasan: <code>SPAMMER</code>",
186
+ reply_markup=InlineKeyboardMarkup(
187
+ [
188
+ [
189
+ InlineKeyboardButton(
190
+ "Unwarn", callback_data=f"unwarn_{user_id}_{message.chat.id}"
191
+ )
192
+ ]
193
+ ]
194
+ )
195
+ )
196
+ return
197
+ except Exception as e:
198
+ logging.error(f"Error adding warning: {e}")
199
+ await message.reply_text(
200
+ "GAGAL MEMBERIKAN PERINGATAN! CEK LAGI USER ID NYA!"
201
+ )
202
+
203
  @bot.on_message(filters.command("delwarn") & filters.group)
204
  async def delwarn(client, message):
205
+ member = await client.get_chat_member(message.chat.id, message.from_user.id)
206
+ if member.status not in {ChatMemberStatus.ADMINISTRATOR, ChatMemberStatus.OWNER}:
207
+ return await message.reply_text("❌ Hanya admin yang bisa menghapus peringatan!")
208
+
209
  if len(message.command) != 2:
210
  return await message.reply_text("GAK ADA USER ID NYA? GIMANA NARIK BOT KE GRUP LU?")
211
  user_id = int(message.command[1])
 
542
  return
543
  else:
544
  await message.reply_text(
545
+ f"⚠️ Peringatan {warn_count}/3 untuk <code>[{message.from_user.id}]</code>\n\n"
546
+ f"Alasan: <code>SPAMMER</code>",
547
  reply_markup=InlineKeyboardMarkup(
548
  [
549
  [
 
593
  return
594
  else:
595
  await message.reply_text(
596
+ f"⚠️ Peringatan {warn_count}/3 untuk <code>[{message.from_user.id}]</code>\n\n"
597
+ f"Alasan: <code>SPAMMER</code>",
598
  reply_markup=InlineKeyboardMarkup(
599
  [
600
  [