BotVerse by Ravi
157 subscribers
32 photos
4 videos
4 files
63 links
Explore the BotVerse! Updates, insights, and creations from Ravi's world of bots.

Support Chat: @BotVerseRaviSupport
Support Bot: @BotVerseRavi_bot

t.me/boost/BotVerseRavi
Download Telegram
๐Ÿ“ Multiple File Sharing Telegram Bot [TPY Code Script]


Part 1


โค๏ธโ€๐Ÿ”ฅ Command: /start 
๐Ÿ” TPY:
# Posted by @BotVerseRavi on Telegram

if not params or params == "None":
bot.sendMessage(
text=(
"<b>๐Ÿ“ค Welcome to Multi File Sharing Bot!</b>\n\n"
"With this bot, you can:\n"
"โ€ข Upload <b>multiple photos, videos, documents, stickers, audios, voices, animations</b>.\n"
"โ€ข Get a <b>unique shareable link</b> for your uploaded files.\n"
"โ€ข Share that link anywhere, and anyone can open it to view/download your files.\n\n"
"โšก <b>How to use:</b>\n"
"1. Type <code>/upload</code> to start an upload session.\n"
"2. Send all your media files one by one.\n"
"3. When finished, type โœ… to confirm upload.\n"
"4. You will get a shareable link to your uploaded files.\n\n"
"โณ Files shared in chat are <b>auto-deleted after 10 minutes</b> to prevent spam.\n"
"But donโ€™t worry โ€” you can always restore them using the shareable link.\n\n"
"๐Ÿš€ Start sharing your files now!"
),
parse_mode="html",
reply_markup={
"inline_keyboard": [[
{"text": "๐Ÿ“ค Start Uploading", "callback_data": "/upload"}
]]
}
)
else:
media_id = params
files = Bot.getData(media_id)

if not files:
bot.sendMessage("โŒ No media found for this link.")
else:
sent_msgs = [] # store message IDs for later deletion

# Send all media
for f in files:
m = None
if f["type"] == "photo":
m = bot.sendPhoto(f["file_id"], caption=f.get("caption", ""))
elif f["type"] == "video":
m = bot.sendVideo(f["file_id"], caption=f.get("caption", ""))
elif f["type"] == "audio":
m = bot.sendAudio(f["file_id"])
elif f["type"] == "voice":
m = bot.sendVoice(f["file_id"])
elif f["type"] == "document":
m = bot.sendDocument(f["file_id"])
elif f["type"] == "animation":
m = bot.sendAnimation(f["file_id"])
elif f["type"] == "sticker":
m = bot.sendSticker(f["file_id"])

if m and "message_id" in m:
sent_msgs.append(m["message_id"])

# Final note
note = bot.sendMessage(
"โš ๏ธ <b>Note:</b> Files will be automatically deleted from chat after <b>10 minutes</b> to prevent spam.",
parse_mode="html",
reply_markup={
"inline_keyboard": [[
{"text": "๐Ÿ”— Join Channel", "url": "t.me/BotVerseRavi"}
]]
}
)
if "message_id" in note:
sent_msgs.append(note["message_id"])

# Schedule deletion of messages only
Bot.runCommandAfter(
600,
"/delete_messages",
options={"user_id": message.chat.id, "message_ids": sent_msgs, "media_id": media_id}
)


โค๏ธโ€๐Ÿ”ฅ Command: /upload
๐Ÿ” TPY:
# /upload command
# Posted by @BotVerseRavi on Telegram

keyboard = ReplyKeyboardMarkup(True)
keyboard.row("โœ…")
media_id = Bot.genId() # generate a unique ID
bot.sendMessage(chat_id=message.chat.id, text="๐Ÿ‘‰ Send me the text you want to upload. When you are done.",reply_markup = keyboard)
Bot.handleNextCommand("/handle_media", options={"media_id": media_id, "files": []}) # initialize files as an empty list
โค1๐Ÿ”ฅ1๐Ÿฅฐ1๐Ÿคฉ1๐Ÿ†1
Part 2


# Posted by @BotVerseRavi on Telegram
media_id = options.get("media_id")
files = options.get("files", [])
keyboard = ReplyKeyboardRemove()

if message.text == "โœ…":
# Confirmation Logic
if files:
shareable_link = f"https://t.me/{Bot.info().username}?start={media_id}"

bot.sendMessage(
chat_id=message.chat.id,
text=f"โœ… Upload complete!\nShare this link:\n{shareable_link}",
reply_markup=keyboard
)
Bot.saveData(media_id, files) # Save to DB
else:
bot.sendMessage(chat_id=message.chat.id, text="โŒ No media was uploaded.")

else:
media_entry = None

if message.photo:
media_entry = {"type": "photo", "file_id": message.photo[-1]["file_id"], "caption": message.caption or ""}
elif message.video:
media_entry = {"type": "video", "file_id": message.video["file_id"], "caption": message.caption or ""}
elif message.audio:
media_entry = {"type": "audio", "file_id": message.audio["file_id"]}
elif message.voice:
media_entry = {"type": "voice", "file_id": message.voice["file_id"]}
elif message.document:
media_entry = {"type": "document", "file_id": message.document["file_id"]}
elif message.animation:
media_entry = {"type": "animation", "file_id": message.animation["file_id"]}
elif message.sticker:
media_entry = {"type": "sticker", "file_id": message.sticker["file_id"]}

if media_entry:
files.append(media_entry)
bot.sendMessage(chat_id=message.chat.id, text="โœ… Media saved. Send more or type โœ… to finish.")
else:
bot.sendMessage(chat_id=message.chat.id, text="โŒ Unsupported input. Please send media files only.")

# Loop until user confirms
Bot.handleNextCommand("/handle_media", options={"media_id": media_id, "files": files})

โค๏ธโ€๐Ÿ”ฅ Command: /delete_messages
๐Ÿ” TPY:
# Posted by @BotVerseRavi on Telegram
user_id = options.get("user_id")
msg_ids = options.get("message_ids", [])
media_id = options.get("media_id")

# Delete all sent messages
for mid in msg_ids:
try:
bot.deleteMessage(chat_id=user_id, message_id=mid)
except Exception:
pass

# Notify user with restore option
Bot.sendMessage(
chat_id=user_id,
text="๐Ÿ—‘๏ธ Your files have been deleted from chat after 10 minutes.\nClick below to restore them.",
reply_markup={
"inline_keyboard": [[
{"text": "๐Ÿ”„ Restore Files", "url": f"https://t.me/{Bot.info().username}?start={media_id}"}
]]
}
)

โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Posted by @BotVerseRavi


๐Ÿ“ข Share this channel with your friends and remember to give credit if you use it on your channel!
โค1๐Ÿ‘1๐Ÿ”ฅ1๐Ÿฅฐ1๐Ÿค—1
Having trouble deploying your bot with our code scripts?


Let us know in the comments below! We're happy to help troubleshoot any issues you're encountering. Any suggestions you have for this channel are also welcome.
โค1๐Ÿ”ฅ1๐ŸŽ‰1๐Ÿค1
Reels Downloader [TPY Script]


Command: *

# Posted by @BotVerseRavi on Telegram

bot.sendChatAction(chat_id=message.chat.id, action="upload_video")

# Command: * (Wildcard to handle Instagram URL)
instagram_url = message.text
api_url = f"https://instagram-api-botverseravi.gt.tc/api.php/?url={instagram_url}"

try:
response = HTTP.get(api_url, proxy=True)
response.raise_for_status()
data = bunchify(response.json())

if data.statusCode == 200 and data.url:
video_url = data.medias[0].url #Accessing to .url inside the response

bot.sendVideo(
chat_id=message.chat.id,
video=video_url,
caption=f"<b>{data.title}</b>", #Adding Caption Here" ,
parse_mode="HTML"
)


else:
bot.sendMessage(
chat_id=message.chat.id,
text="โŒ Sorry, I couldn't download the video. Please make sure the link is correct and the video is publicly available."
)


except Exception:
bot.sendMessage(
chat_id=message.chat.id,
text="โŒ An error occurred while processing the video. Please try again later."
)

bot.sendChatAction(chat_id=message.chat.id, action="typing")


API Info: Click here
โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Posted by @BotVerseRavi


๐Ÿ“ข Share this channel with your friends and remember to give credit if you use it on your channel!
๐Ÿ”ฅ2โค1๐Ÿคฉ1๐Ÿค1
๐Ÿ›ก Handling โ€œMessage too longโ€ Error

โœ๏ธ Telegram allows sending a Text message of max 4096 characters by bot

๐Ÿ’ก Send Message in multiple messages chunks.

Here is the BJS code to do that:
// Posted by @BotVerseRavi
let chatId = chat.chatid; // Replace with chat id
let message = 'Long Message to sendโ€ฆ'; // Replace with the long message

// Function to split a long message into smaller pieces/chunks
function splitMessage(message, maxLength = 4096) {
  let chunks = []

  // Split the message in multiple chunks each of max 4096 characters
  for (let i = 0; i < message.length; i += maxLength) {
    chunks.push(message.substring(i, Math.min(message.length, i + maxLength)))
  }

  return chunks;
}

// Function to send a long message in smaller pieces
function sendMessageInChunks(chatId, text) {
  // split the message into chunks
  var chunks = splitMessage(text)

  // Send the pieces of chunks one after other
  for (let i = 0; i < chunks.length; i++) {
    Api.sendMessage({ chat_id: chatId, text: chunks[i] })
  }
}

// Send the message in pieces
sendMessageInChunks(chatId, message)


โ—๏ธ Only use in state of high requirement, else BB server may get load.

โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Posted by @BotVerseRavi


๐Ÿ“ข Share this channel with your friends and remember to give credit if you use it on your channel!
โค1๐Ÿ”ฅ1๐Ÿฅฐ1๐Ÿคฉ1
๐Ÿค– Vehicle Information Extraction [TPY]


Note: Combine both parts in the command, otherwise it won't function.

Part 1


# Posted by @BotVerseRavi
try:
args = msg.split(" ", 1)

# โœ… Check correct usage
if len(args) != 2:
bot.sendMessage(
"โŒ <b>Invalid format!</b>

"
"Use the correct format:
"
"<code>/rc VEHICLE_NUMBER</code>

"
"โœ… Example:
"
"<code>/rc KL43G1669</code>",
parse_mode="HTML"
)
raise ReturnCommand()

rc_number = args[1].strip().upper()

# โœ… Validate basic RC format
if len(rc_number) < 6 or len(rc_number) > 12:
bot.sendMessage(
f"โš ๏ธ <b>Invalid Vehicle Number:</b> <code>{rc_number}</code>
"
"Please provide a valid RC format like <b>KL43G1669</b>.",
parse_mode="HTML"
)
raise ReturnCommand()

bot.sendChatAction("typing")

# ๐ŸŒ API Call
api_url = f"https://vehicle-eight-vert.vercel.app/api?rc={rc_number}"
res = HTTP.get(api_url, timeout=20)
data = res.json()

# โœ… Check data validity
details = data.get("details")
if not details:
bot.sendMessage(
f"โŒ No records found for <b>{rc_number}</b>.
Please verify the RC number and try again.",
parse_mode="HTML"
)
raise ReturnCommand()


Part 2: https://t.me/BotVerseRavi/271
โค1๐Ÿ‘1๐Ÿ”ฅ1๐Ÿ˜1๐Ÿ†1๐Ÿค1
Part 2


# Posted by @BotVerseRavi
# Extract details
owner = details.get("Owner Name", "N/A")
model = details.get("Maker Model", "N/A")
fuel = details.get("Fuel Type", "N/A")
reg_date = details.get("Registration Date", "N/A")
rto = details.get("Registered RTO", "N/A")
address = details.get("Address", "N/A")
city = details.get("City Name", "N/A")
fitness = details.get("Fitness Upto", "N/A")
tax = details.get("Tax Upto", "N/A")
insurance = details.get("Insurance Company", "N/A")
ins_expiry = details.get("Insurance Upto", "N/A")
puc = details.get("PUC Upto", "N/A")
phone = details.get("Phone", "N/A")
vehicle_class = details.get("Vehicle Class", "N/A")

# ๐Ÿงพ Final formatted output
output = (
f"๐Ÿš˜ <b>Vehicle RC Information</b>

"
f"๐Ÿ”น <b>RC Number:</b> <code>{rc_number}</code>
"
f"๐Ÿ‘ค <b>Owner:</b> {owner}
"
f"๐Ÿ๏ธ <b>Model:</b> {model}
"
f"โ›ฝ <b>Fuel Type:</b> {fuel}
"
f"๐Ÿงพ <b>Vehicle Class:</b> {vehicle_class}

"
f"๐Ÿ“… <b>Registration Date:</b> {reg_date}
"
f"๐Ÿข <b>Registered RTO:</b> {rto}
"
f"๐Ÿ—บ๏ธ <b>City:</b> {city}
"
f"๐Ÿ“ <b>Address:</b>
<code>{address}</code>

"
f"๐Ÿ“† <b>Fitness Upto:</b> {fitness}
"
f"๐Ÿ“† <b>Tax Upto:</b> {tax}
"
f"๐Ÿ’ก <b>PUC Upto:</b> {puc}

"
f"๐Ÿข <b>Insurance:</b> {insurance}
"
f"๐Ÿ“† <b>Expiry:</b> {ins_expiry}
"
f"๐Ÿ“ž <b>Contact:</b> {phone}

"
f"โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
"
f"<i>Made by</i> <b>@BotVerseRavi</b> ๐Ÿš˜"
)

bot.sendMessage(output, parse_mode="HTML")

except Exception as e:
bot.sendMessage(
f"โš ๏ธ <b>Error while fetching RC details.</b>
Please try again later.

<i>Made by</i> <b>@BotVerseRavi</b>",
parse_mode="HTML"
)


โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Posted by @BotVerseRavi


๐Ÿ“ข Share this channel with your friends and remember to give credit if you use it on your channel!
โค1๐Ÿ‘1๐Ÿ”ฅ1๐ŸŽ‰1๐Ÿคฉ1๐Ÿ†1
Someone has a strong hatred for this channel, so they're using a fake member panel to get it banned.

Whenever someone hates me for no reason, I'm just laughing at their failed attempts and jealousy. ๐Ÿ˜‚

Btw thanks! ๐Ÿ‘๐Ÿป
๐Ÿ˜5๐Ÿ”ฅ3๐Ÿ†1
One Year of BotVerse โ€“ Dropping Code Wisdom!

Hey everyone,
A whole year since we started this channel to pass on simple programming tips and tricks. We've thrown out over 250+ posts on stuff like Python basics, API setups, debugging headaches, and cool project ideas, and it's been great seeing you all jump in with questions and shares. Shoutout to the whole crew for making it happen; you rock.

Year 2โ€™s got more easy guides and fun challenges coming. If these tips have clicked for you, do me a solid and share the channel with your friendsโ€”let's spread the knowledge!

What's one simple code haยฉk you've grabbed from here? Hit reply below! ๐Ÿ’ป

Thanks for your support!
โค6๐Ÿ™2๐Ÿซก1
Phone Number Information Extraction ๐Ÿค– [TBC Code]

Command : /info
Usage : /info 9161570798

# Posted by @BotVerseRavi on Telegram.
try:
args = msg.split(" ", 1)
if len(args) != 2:
bot.sendMessage("โŒ Usage: /info <number>\n\nExample: /info 8373838566")
raise ReturnCommand()

number = args[1].strip()

# ๐ŸŒ API Request
api_url = "https://jsr-number-info.onrender.com/lookup"
headers = {"Content-Type": "application/json"}
payload = {"number": number}

res = HTTP.post(api_url, json=payload, headers=headers, timeout=25)
data = res.json()

# โœ… Validate response
if not data.get("success") or not data.get("data", {}).get("success"):
bot.sendMessage(f"โŒ No details found for <b>{number}</b>", parse_mode="HTML")
raise ReturnCommand()

results = data["data"].get("result", [])
if not results:
bot.sendMessage(f"โš ๏ธ No records found for <b>{number}</b>", parse_mode="HTML")
raise ReturnCommand()

# ๐Ÿงพ Build output
output = f"๐Ÿ“ฑ <b>Mobile Lookup Report</b>\n\n"
output += f"๐Ÿ” <b>Query:</b> <code>{number}</code>\n"
output += f"โœ… <b>Total Records:</b> {len(results)}\n\n"

for i, r in enumerate(results, 1):
name = r.get("name", "N/A")
father = r.get("father_name", "N/A")
mobile = r.get("mobile", "N/A")
alt = r.get("alt_mobile", "N/A")
circle = r.get("circle", "N/A")
uid = r.get("id_number", "N/A")
address = r.get("address", "N/A").replace("!", "\n").strip()
email = r.get("email", "N/A")

output += (
f"๐Ÿ“„ <b>Result {i}</b>\n"
f"๐Ÿ‘ค <b>Name:</b> <code>{name}</code>\n"
f"๐Ÿ‘จโ€๐Ÿ‘ฆ <b>Father:</b> <code>{father}</code>\n"
f"๐Ÿ“ž <b>Mobile:</b> <code>{mobile}</code>\n"
f"๐Ÿ“ฑ <b>Alt Mobile:</b> <code>{alt}</code>\n"
f"๐Ÿ†” <b>ID Number:</b> <code>{uid}</code>\n"
f"๐ŸŒ <b>Circle:</b> <code>{circle}</code>\n"
f"๐Ÿ  <b>Address:</b>\n<code>{address}</code>\n"
f"๐Ÿ“ง <b>Email:</b> <code>{email}</code>\n"
f"โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n"
)

# Split if too long
if len(output) > 3500:
bot.sendMessage(output, parse_mode="HTML")
output = ""

output += "๐Ÿ”— <i>Powered by</i> <b>@BotVerseRavi</b>"

bot.sendMessage(output, parse_mode="HTML")

except Exception as e:
bot.sendMessage("โš ๏ธ Error occurred while fetching number info.", parse_mode="HTML")

Valid for Bharat only!
โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Posted by @BotVerseRavi


๐Ÿ“ข Share this channel with your friends and remember to give credit if you use it on your channel!
โค3๐Ÿ”ฅ1๐ŸŽ‰1
๐Ÿš€ Auto-Approve Telegram Join Requests: Python Bot Code + User Notifications [TBC Code]


Command : /handler_chat_join_request

Code :
# Posted by @BotVerseRavi on Telegram
# Approve the user's join request
bot.approveChatJoinRequest(chat_id=message.chat.id,
                           user_id=message.from_user.id)

# Set dynamic valuers
bot_username = Bot.info().username
start_link = "https://t.me/" + bot_username + "?start"
user_name = message.from_user.first_name if message.from_user and message.from_user.first_name else "User"
channel_name = message.chat.title if message.chat and message.chat.title else "Channel"
user_id = message.from_user.id

# Define the inline keyboard properly
keyboard = {
    "inline_keyboard": [
        [{"text": "๐Ÿ™‹ Check I'm Alive!", "url": f"{start_link}"}]
    ]
}

# Send a welcome message
try:
    bot.sendMessage(
        chat_id=user_id,
        text=(
            f"๐ŸŽ‰<b> Hey, Welcome to {channel_name}</b>!\n\n"
            f"๐Ÿฅฐ <i>Weโ€™re glad to have</i> <b>{user_name}</b> <i>here. Stay tuned for awesome updates and content!</i>\n\n"
            f"<b>โ˜‘๏ธ Tap button Below to Alive me!</b>"),
        message_effect_id="5046509860389126442",
        parse_mode="html",
        reply_markup=keyboard
    )
except Exception as e:
    bot.sendMessage(str(e))


โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Posted by @BotVerseRavi


๐Ÿ“ข Share this channel with your friends and remember to give credit if you use it on your channel!
โค2๐Ÿ‘1๐Ÿ”ฅ1๐Ÿ‘1
๐ŸŒŸ AI Video Generator Bot

โœ… Gแด‡ษดแด‡ส€แด€แด›แด‡ Aษช Vษชแด…แด‡แดs -

๐Ÿ”ฎ Cแดแดแดแด€ษดแด…: /vid
๐ŸŒˆ BแดŠ๊œฑ Cแดแด…แด‡:
let text = message.split(" ").slice(1).join(" ").trim();

//Posted on @BotVerseRavi

if (!text) {
return Bot.sendMessage(
"๐ŸŽฅ *AI Video Generator*\n\nPlease provide a prompt.\n\n*Usage:* /vid A dog dancing in rain\n*Example:* /vid Cyberpunk city at night",
{ parse_mode: "Markdown", reply_to_message_id: request.message_id }
);
}

let apiUrl = "https://yabes-api.pages.dev/api/ai/video/v1?prompt=" + encodeURIComponent(text);

HTTP.get({
url: apiUrl,
success: "/onVidGenerated",
error: "/onVidError"
});

โญ Gแด‡ษดแด‡ส€แด€แด›แด‡แด… Vษชแด…แด‡แด Rแด‡แด˜สŸส -

๐Ÿ”ฎ Cแดแดแดแด€ษดแด…: /onVidGenerated
๐ŸŒˆ BแดŠ๊œฑ Cแดแด…แด‡:
try {
let data = JSON.parse(content);

if (data && data.success && data.url) {
Api.sendVideo({
chat_id: chat.chatid,
video: data.url,
caption: "๐Ÿ’– Generated by: @BotVerseRavi ๐Ÿ˜Œ",
parse_mode: "Markdown",
reply_to_message_id: request.message_id
});
} else {
Bot.sendMessage("โŒ Failed to generate video. Please try again later.", {
reply_to_message_id: request.message_id
});
}
} catch (err)
//Posted on @BotVerseRavi
{
Bot.sendMessage("โŒ Error: " + err.message, {
reply_to_message_id: request.message_id
});
}

โญ Eส€ส€แดส€ Hแด€ษดแด…สŸแด‡ส€ -

๐Ÿ”ฎ Cแดแดแดแด€ษดแด…: /onVidError
๐ŸŒˆ BแดŠ๊œฑ Cแดแด…แด‡:
Bot.sendMessage("โŒ Network Error! Please try again later.",
//Posted on @BotVerseRavi
{
reply_to_message_id: request.message_id
});



โญ Exแด€แดแด˜สŸแด‡ Usแด‡ - /vid Sunset over snowy mountains

โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Posted by @BotVerseRavi


๐Ÿ“ข Share this channel with your friends and remember to give credit if you use it on your channel!
โค2๐Ÿ”ฅ2๐Ÿฅฐ1๐ŸŽ‰1๐Ÿ†1
๐Ÿš€ TBC Code Script: Easy Broadcast Automation ๐Ÿ˜Ž



Command: /forbroadcast
admins = ["1234567890"] # Replace it with your user ID
if str(u) not in admins:
    raise ReturnCommand()
# made by @BotVerseRavi
if options == None:
    bot.replyText(u, "<b>๐ŸŽ™๏ธ Send Any Message To Forward Broadcast\n\nTo Cancel: /cancel</>")
    Bot.handleNextCommand("/forbroadcast", options=True)
    raise ReturnCommand()

else:
    if message.text == "/cancel":
        bot.sendMessage("<b>โŒ Cancelled</>")
        raise ReturnCommand()

    msg_id = message.message_id
    chat_id = message.chat.id

    code = f"bot.forwardMessage(chat_id=u, from_chat_id={chat_id}, message_id={msg_id})"

    url = libs.webhook.getUrlFor("/broadResult", u)
    task = Bot.broadcast(code=code, callback_url=url)
    Bot.saveData(task, None)
    bot.sendMessage("<b>๐Ÿ” Forward Broadcast Processing...</b>")
# made by @BotVerseRavi

2โƒฃ Command for Broadcast Status

Command : /broadResult
# made by @BotVerseRavi
try:
    get = options.json
    total = get.total
    success = get.total_success
    fail = get.total_errors
   
    txt = f"""<b>
๐ŸŽ™๏ธ Broadcast Done
   
๐Ÿ‘ฅ Total: {total}
โœ… Success: {success}
โŒ Failed: {fail}
</b>"""
    bot.sendMessage(txt)
except:
    bot.sendMessage("<b>โŒ Broadcast Data Process Failed</b>")
# made by @BotVerseRavi


โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Posted by @BotVerseRavi


๐Ÿ“ข Share this channel with your friends and remember to give credit if you use it on your channel!
โค2๐Ÿ‘1๐Ÿ”ฅ1๐Ÿฅฐ1
๐Ÿ”ฐ Generators in Python

โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–โž–
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Posted by @BotVerseRavi


๐Ÿ“ข Share this channel with your friends and remember to give credit if you use it on your channel!
โค2๐Ÿ”ฅ2๐Ÿฅฐ1