Spaces:
Running
Running
Update main.py
Browse files
main.py
CHANGED
@@ -295,25 +295,38 @@ async def delwarn(client, message):
|
|
295 |
@bot.on_message(filters.command("bctanti") & filters.user(6477856957))
|
296 |
async def broadcasts(client, message):
|
297 |
DEVS = [1191668125]
|
|
|
298 |
data = await db.antieval.find_one({"bot_id": client.me.id})
|
299 |
-
if not data:
|
300 |
-
return
|
301 |
-
|
302 |
-
|
|
|
|
|
|
|
303 |
done = 0
|
304 |
error = 0
|
305 |
-
private_users =
|
|
|
306 |
for user in data["user_id"]:
|
307 |
-
if
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
await message.reply_text(
|
316 |
-
f"
|
|
|
317 |
)
|
318 |
|
319 |
@bot.on_message(filters.command("start") & filters.private)
|
|
|
295 |
@bot.on_message(filters.command("bctanti") & filters.user(6477856957))
|
296 |
async def broadcasts(client, message):
|
297 |
DEVS = [1191668125]
|
298 |
+
|
299 |
data = await db.antieval.find_one({"bot_id": client.me.id})
|
300 |
+
if not data or not data.get("user_id"):
|
301 |
+
return await message.reply("Data tidak ditemukan atau kosong.")
|
302 |
+
|
303 |
+
if not message.reply_to_message:
|
304 |
+
return await message.reply("Silakan balas ke pesan yang ingin disebarkan.")
|
305 |
+
|
306 |
+
msg = message.reply_to_message
|
307 |
done = 0
|
308 |
error = 0
|
309 |
+
private_users = set()
|
310 |
+
|
311 |
for user in data["user_id"]:
|
312 |
+
if user in DEVS:
|
313 |
+
continue
|
314 |
+
try:
|
315 |
+
await msg.forward(user)
|
316 |
+
done += 1
|
317 |
+
except Exception:
|
318 |
+
private_users.add(user)
|
319 |
+
error += 1
|
320 |
+
|
321 |
+
if private_users:
|
322 |
+
await db.antieval.update_one(
|
323 |
+
{"bot_id": client.me.id},
|
324 |
+
{"$pull": {"user_id": {"$in": list(private_users)}}},
|
325 |
+
)
|
326 |
+
|
327 |
await message.reply_text(
|
328 |
+
f"✅ Berhasil dikirim ke `{done}` user.\n"
|
329 |
+
f"❌ Gagal ke `{error}` user:\n`{list(private_users)}`"
|
330 |
)
|
331 |
|
332 |
@bot.on_message(filters.command("start") & filters.private)
|