๐ 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:
โโโโโโโโโโโโโโโโ
๐ข Share this channel with your friends and remember to give credit if you use it on your channel!
โ๏ธ 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! ๐๐ป
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!
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 :
Usage :
Valid for Bharat only!
โโโโโโโโโโโโโโโโ
๐ข Share this channel with your friends and remember to give credit if you use it on your channel!
Command :
/infoUsage :
/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")
โโโโโโโโโโโโโโโโ
๐จ๐ปโ๐ป 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_requestCode :
# 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แดแด แด:
โญ Gแดษดแดสแดแดแดแด Vษชแด แดแด Rแดแดสส -
๐ฎ Cแดแดแดแดษดแด : /onVidGenerated
๐ Bแด๊ฑ Cแดแด แด:
โญ Eสสแดส Hแดษดแด สแดส -
๐ฎ Cแดแดแดแดษดแด : /onVidError
๐ Bแด๊ฑ Cแดแด แด:
โญ Exแดแดแดสแด Usแด - /vid Sunset over snowy mountains
โโโโโโโโโโโโโโโโ
๐ข Share this channel with your friends and remember to give credit if you use it on your channel!
โ 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
โโโโโโโโโโโโโโ
๐ข Share this channel with your friends and remember to give credit if you use it on your channel!
โโโโโโโโโโโโโโ
๐จ๐ปโ๐ป Posted by @BotVerseRavi
๐ข Share this channel with your friends and remember to give credit if you use it on your channel!
โค2๐ฅ2๐ฅฐ1