Spaces:
Running
Running
ok
Browse files
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 |
-
|
|
|
|
|
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 |
-
|
142 |
-
|
|
|
|
|
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 |
[
|