MCPcopy Create free account
hub / github.com/TechifyBots/Rename-Bot / broadcast_handler

Function broadcast_handler

plugins/admin.py:237–259  ·  view source on GitHub ↗
(bot: Client, m: Message)

Source from the content-addressed store, hash-verified

235
236@Client.on_message(filters.command("broadcast") & filters.user(Config.ADMIN) & filters.reply)
237async def broadcast_handler(bot: Client, m: Message):
238 await bot.send_message(Config.LOG_CHANNEL, f"{m.from_user.mention} or {m.from_user.id} Iꜱ ꜱᴛᴀʀᴛᴇᴅ ᴛʜᴇ Bʀᴏᴀᴅᴄᴀꜱᴛ......")
239 all_users = await digital_botz.get_all_users()
240 broadcast_msg = m.reply_to_message
241 sts_msg = await m.reply_text("Bʀᴏᴀᴅᴄᴀꜱᴛ Sᴛᴀʀᴛᴇᴅ..!")
242 done = 0
243 failed = 0
244 success = 0
245 start_time = time.time()
246 total_users = await digital_botz.total_users_count()
247 async for user in all_users:
248 sts = await send_msg(user['_id'], broadcast_msg)
249 if sts == 200:
250 success += 1
251 else:
252 failed += 1
253 if sts == 400:
254 await digital_botz.delete_user(user['_id'])
255 done += 1
256 if not done % 20:
257 await sts_msg.edit(f"Bʀᴏᴀᴅᴄᴀꜱᴛ Iɴ Pʀᴏɢʀᴇꜱꜱ: \nTᴏᴛᴀʟ Uꜱᴇʀꜱ {total_users} \nCᴏᴍᴩʟᴇᴛᴇᴅ: {done} / {total_users}\nSᴜᴄᴄᴇꜱꜱ: {success}\nFᴀɪʟᴇᴅ: {failed}")
258 completed_in = datetime.timedelta(seconds=int(time.time() - start_time))
259 await sts_msg.edit(f"Bʀᴏᴀᴅᴄᴀꜱᴛ Cᴏᴍᴩʟᴇᴛᴇᴅ: \nCᴏᴍᴩʟᴇᴛᴇᴅ Iɴ `{completed_in}`.\n\nTᴏᴛᴀʟ Uꜱᴇʀꜱ {total_users}\nCᴏᴍᴩʟᴇᴛᴇᴅ: {done} / {total_users}\nSᴜᴄᴄᴇꜱꜱ: {success}\nFᴀɪʟᴇᴅ: {failed}")
260
261async def send_msg(user_id, message):
262 try:

Callers

nothing calls this directly

Calls 4

send_msgFunction · 0.85
get_all_usersMethod · 0.80
total_users_countMethod · 0.80
delete_userMethod · 0.80

Tested by

no test coverage detected