created broadcast and chatlist counter
new features
This commit is contained in:
parent
6a7a1561e2
commit
8abb422725
59
program/broadcast.py
Normal file
59
program/broadcast.py
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
from io import BytesIO
|
||||||
|
from pyrogram.types import Message
|
||||||
|
from pyrogram import Client, filters
|
||||||
|
|
||||||
|
from config import BOT_USERNAME
|
||||||
|
from driver.filters import command
|
||||||
|
from driver.decorators import sudo_users_only, get_arg
|
||||||
|
from driver.database.data_sql import chatdata, del_chat
|
||||||
|
|
||||||
|
|
||||||
|
@Client.on_message(
|
||||||
|
command(["broadcast", f"broadcast@{BOT_USERNAME}"]) & filters.private & ~filters.edited
|
||||||
|
)
|
||||||
|
@sudo_users_only
|
||||||
|
async def broadcast(client: Client, message: Message):
|
||||||
|
to_send = get_arg(message)
|
||||||
|
success = 0
|
||||||
|
failed = 0
|
||||||
|
for chat in chatdata()():
|
||||||
|
try:
|
||||||
|
await client.send_message(
|
||||||
|
str(chat),
|
||||||
|
to_send
|
||||||
|
)
|
||||||
|
success += 1
|
||||||
|
except BaseException:
|
||||||
|
failed += 1
|
||||||
|
del_chat(str(chat))
|
||||||
|
await message.reply(
|
||||||
|
f"Message sent to {success} chat(s). {failed} chat(s) failed recieve message"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@Client.on_message(
|
||||||
|
command(["chatlist", f"chatlist@{BOT_USERNAME}"]) & filters.private & ~filters.edited
|
||||||
|
)
|
||||||
|
@sudo_users_only
|
||||||
|
async def chatlist(client, message):
|
||||||
|
all_chats = chatdata()
|
||||||
|
chats = [i for i in all_chats if str(i).startswith("-")]
|
||||||
|
chatfile = "Chat List.\n0. Group ID | Members | Invite Link\n"
|
||||||
|
P = 1
|
||||||
|
for chat in chats:
|
||||||
|
try:
|
||||||
|
link = await client.export_chat_invite_link(int(chat))
|
||||||
|
except BaseException:
|
||||||
|
link = "Null"
|
||||||
|
try:
|
||||||
|
members = await client.get_chat_members_count(int(chat))
|
||||||
|
except BaseException:
|
||||||
|
members = "Null"
|
||||||
|
try:
|
||||||
|
chatfile += f"{P}. {chat} | {members} | {link}\n"
|
||||||
|
P += 1
|
||||||
|
except BaseException:
|
||||||
|
pass
|
||||||
|
with BytesIO(str.encode(chatfile)) as output:
|
||||||
|
output.name = "chatlist.txt"
|
||||||
|
await message.reply_document(document=output, disable_notification=True)
|
Loading…
Reference in New Issue
Block a user