11#(©)CodeXBotz
2+
3+
4+
5+
26import os
37import asyncio
4- from pyrogram import Client , filters , __version__
5- from pyrogram .enums import ParseMode
6- from pyrogram .types import Message , InlineKeyboardMarkup , InlineKeyboardButton , CallbackQuery
7- from pyrogram .errors import FloodWait , UserIsBlocked , InputUserDeactivated
8-
98from bot import Bot
10- from config import ADMINS , FORCE_MSG , START_MSG , OWNER_ID , CUSTOM_CAPTION , DISABLE_CHANNEL_BUTTON , PROTECT_CONTENT
9+ from pyrogram .enums import ParseMode
10+ from pyrogram import Client , filters , __version__
11+ from database .database import add_user , present_user
1112from helper_func import subscribed , encode , decode , get_messages
12- from database . database import add_user , del_user , full_userbase , present_user
13-
13+ from pyrogram . types import Message , InlineKeyboardMarkup , InlineKeyboardButton , CallbackQuery
14+ from config import FORCE_MSG , START_MSG , CUSTOM_CAPTION , DISABLE_CHANNEL_BUTTON , PROTECT_CONTENT
1415
15- #=====================================================================================##
1616
17- WAIT_MSG = """"<b>Processing ...</b>"""
1817
19- REPLY_ERROR = """<code>Use this command as a replay to any telegram message with out any spaces.</code>"""
2018
21- #=====================================================================================##
2219
2320
2421@Bot .on_message (filters .command ('start' ) & filters .private & subscribed )
@@ -142,56 +139,4 @@ async def not_joined(client: Client, message: Message):
142139 reply_markup = InlineKeyboardMarkup (buttons ),
143140 quote = True ,
144141 disable_web_page_preview = True
145- )
146-
147- @Bot .on_message (filters .command ('users' ) & filters .private & filters .user (ADMINS ))
148- async def get_users (client : Bot , message : Message ):
149- msg = await client .send_message (chat_id = message .chat .id , text = WAIT_MSG )
150- users = await full_userbase ()
151- await msg .edit (f"{ len (users )} users are using this bot" )
152-
153- @Bot .on_message (filters .private & filters .command ('broadcast' ) & filters .user (ADMINS ))
154- async def send_text (client : Bot , message : Message ):
155- if message .reply_to_message :
156- query = await full_userbase ()
157- broadcast_msg = message .reply_to_message
158- total = 0
159- successful = 0
160- blocked = 0
161- deleted = 0
162- unsuccessful = 0
163-
164- pls_wait = await message .reply ("<i>Broadcasting Message.. This will Take Some Time</i>" )
165- for chat_id in query :
166- try :
167- await broadcast_msg .copy (chat_id )
168- successful += 1
169- except FloodWait as e :
170- await asyncio .sleep (e .x )
171- await broadcast_msg .copy (chat_id )
172- successful += 1
173- except UserIsBlocked :
174- await del_user (chat_id )
175- blocked += 1
176- except InputUserDeactivated :
177- await del_user (chat_id )
178- deleted += 1
179- except :
180- unsuccessful += 1
181- pass
182- total += 1
183-
184- status = f"""<b><u>Broadcast Completed</u>
185-
186- Total Users: <code>{ total } </code>
187- Successful: <code>{ successful } </code>
188- Blocked Users: <code>{ blocked } </code>
189- Deleted Accounts: <code>{ deleted } </code>
190- Unsuccessful: <code>{ unsuccessful } </code></b>"""
191-
192- return await pls_wait .edit (status )
193-
194- else :
195- msg = await message .reply (REPLY_ERROR )
196- await asyncio .sleep (8 )
197- await msg .delete ()
142+ )
0 commit comments