BotVerse by Ravi
153 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
📹 YouTube Video Details [BJS]


🎖 Command:- *

❤️ BJS:-
// Posted by @BotVerseRavi on Telegram

var spl = message.split("/")
var lin = spl[3]
var id = lin.split("?")[0]
HTTP.get({
url:
"https://www.googleapis.com/youtube/v3/videos?id=" +
id +
"&key=your api&part=snippet,contentDetails,statistics,status",
success: "/n"
})

🎖 Command:- /n

❤️ BJS:-
// Posted by @BotVerseRavi on Telegram

var yt = JSON.parse(content)
var pub = yt.items[0].snippet.publishedAt
var chid = yt.items[0].snippet.channelId
var title = yt.items[0].snippet.title
//var des = yt.items[0].snippet.description
var tumb = yt.items[0].snippet.thumbnails.maxres.url
var chnlnam = yt.items[0].snippet.channelTitle
var kids = yt.items[0].status.madeForKids
var privacy = yt.items[0].status.privacyStatus
var views = yt.items[0].statistics.viewCount
var like = yt.items[0].statistics.likeCount
var comment = yt.items[0].statistics.commentCount

var txt = `⚡️ <b>Title:</> <i>${title}</>

👀 <b>Total Views:</> <code>${views}</>

👍 <b>Total Likes:</> <code>${like}</>

💬 <b>Total Comments:</> <code>${comment}</>

<b>Video Status:</> <i>${privacy}</>

👦 <b>Video For Kids:</> <i>${kids}</>

💹 <b>Channel Name:</> <i>${chnlnam}</>

🆔 <b>Channel ID:</> <code>${chid}</>`

Api.sendPhoto({
photo: tumb,
caption: txt,
parse_mode: "html",
disable_web_page_preview: true
})


💞 Get API From:- https://developers.google.com for YouTube Data API v3

Note:- This BJS Working Only For Long Video Not Short.

Posted by @BotVerseRavi


Share this with your friends and remember to give credit if you use it on your channel!
🎉1👌1111
🤖 AutoKicker [TPY]


When a user leaves your channel, automatically ban them from the channel.


Command : /handler_chat_member

# Posted by @BotVerseRavi on Telegram

# Command: /handler_chat_member

if update_type == 'chat_member':
chat_id = message.chat.id
user = message.new_chat_member.user
user_id = user.id

if message.new_chat_member.status == 'left':
try:
# Remove (kick) the user from the channel
bot.kickChatMember(
chat_id=chat_id,
user_id=user_id,
until_date=0 # Remove without ban, can rejoin
)
except Exception as e:
pass # Ignore errors silently


Posted by @BotVerseRavi



Share this with your friends and remember to give credit if you use it on your channel!
👏2111
​​🎉 ˹𝐋𝐲𝐫𝐚 ✘ 𝙼ᴜsɪᴄ˼ ♪ ɪs BACK ONLINE! 🎉

Hᴀᴘᴘʏ ᴛᴏ ᴀɴɴᴏᴜɴᴄᴇ ᴛʜᴀᴛ ᴏᴜʀ ᴍᴜsɪᴄ ʙᴏᴛ, ᴡʜɪᴄʜ ʜᴀs ʙᴇᴇɴ MIA ғᴏʀ ᴛʜᴇ ᴘᴀsᴛ 𝟷𝟶 ᴅᴀʏs, ɪs ɴᴏᴡ ғᴜʟʟʏ ғᴜɴᴄᴛɪᴏɴᴀʟ ᴀɴᴅ ʀᴇᴀᴅʏ ᴛᴏ ʀᴏᴄᴋ ʏᴏᴜʀ ᴄʜᴀᴛs!

🎸 ˹𝐋𝐲𝐫𝐚 ✘ 𝙼ᴜsɪᴄ˼ ♪ ɴᴏᴡ ғᴇᴀᴛᴜʀᴇs ᴀ sᴇᴀᴍʟᴇss ᴍɪɴɪ-ᴀᴘᴘ ᴇxᴘᴇʀɪᴇɴᴄᴇ sᴘᴇᴄɪғɪᴄᴀʟʟʏ ᴛᴀɪʟᴏʀᴇᴅ ғᴏʀ ʜɪɢʜ-ǫᴜᴀʟɪᴛʏ Iɴᴅɪᴀɴ ᴍᴜsɪᴄ! Jᴜsᴛ ᴛʏᴘᴇ ᴛʜᴇ ʙᴏᴛ's ᴜsᴇʀɴᴀᴍᴇ ɪɴᴛᴏ ᴛʜᴇ sᴇᴀʀᴄʜ ʙᴏx ᴀɴᴅ ᴅɪsᴄᴏᴠᴇʀ ʏᴏᴜʀ ғᴀᴠᴏʀɪᴛᴇ sᴏɴɢs – ɢᴜᴀʀᴀɴᴛᴇᴇᴅ ᴛᴏ ɴᴇᴠᴇʀ ᴅɪsᴀᴘᴘᴏɪɴᴛ!

🎶 Mᴏʀᴇ Tʜᴀɴ Jᴜsᴛ Mᴜsɪᴄ! ˹𝐋𝐲𝐫𝐚 ✘ 𝙼ᴜsɪᴄ˼ ♪ ɪs ᴀ ᴘᴏᴡᴇʀғᴜʟ ᴄᴏᴍʙɪɴᴀᴛɪᴏɴ ᴏғ ᴀ ɢʀᴏᴜᴘ ᴍᴀɴᴀɢᴇᴍᴇɴᴛ ʙᴏᴛ ᴀɴᴅ ᴀ ᴍᴜsɪᴄ ʙᴏᴛ. Mᴀɴᴀɢᴇ ʏᴏᴜʀ ɢʀᴏᴜᴘs ᴇғғɪᴄɪᴇɴᴛʟʏ ᴡʜɪʟᴇ ᴇɴᴊᴏʏɪɴɢ ᴜɴɪɴᴛᴇʀʀᴜᴘᴛᴇᴅ ᴀᴄᴄᴇss ᴛᴏ ʏᴏᴜʀ ғᴀᴠᴏʀɪᴛᴇ Iɴᴅɪᴀɴ ᴛᴜɴᴇs.

𝟸𝟺/𝟽 Uᴘᴛɪᴍᴇ & Lᴀɢ-Fʀᴇᴇ Exᴘᴇʀɪᴇɴᴄᴇ: Eɴᴊᴏʏ ᴜɴɪɴᴛᴇʀʀᴜᴘᴛᴇᴅ ᴍᴜsɪᴄ ᴘʟᴀʏʙᴀᴄᴋ, ᴀɴʏᴛɪᴍᴇ, ᴀɴʏᴡʜᴇʀᴇ.

Sᴛɪʟʟ ʜᴀᴠᴇ ǫᴜᴇsᴛɪᴏɴs ᴏʀ ɴᴇᴇᴅ ʜᴇʟᴘ? Dᴏɴ'ᴛ ʜᴇsɪᴛᴀᴛᴇ ᴛᴏ ᴘɪɴɢ ᴍᴇ ᴀᴛ @Unknown_RK01!

Hᴏᴡ ᴛᴏ ᴀᴅᴅ ˹𝐋𝐲𝐫𝐚 ✘ 𝙼ᴜsɪᴄ˼ ♪ ᴛᴏ ʏᴏᴜʀ ᴄʜᴀᴛ:
521
🤖 AutoGreeter Bot [TPY]


🔹 English Description:

> 💬 This bot replies with a message and a sticker when someone types common greetings like gm, gn, etc.
It replies as a tag to the same message (using reply), and also mentions the user in a stylish format.
⚠️ Works only in group chats, not in private.


🔹 Hinglish Description:

> 💬 Ye bot jab koi gm, gn, good night, morning likhta hai to uss message par reply karta hai (tag karke) aur ek sticker bhi bhejta hai.
Reply ke sath user ka naam mention hota hai stylish format mein.
⚠️ Ye sirf group mein kaam karta hai, private mein nahi.
Command : @

# Posted by @BotVerseRavi on Telegram

# Only run this block if it's not private
if message.chat.type != "private":

msg_text = message.text.lower().strip()
user_id = message.from_user.id
name = message.from_user.first_name or "Friend"
mention = f"<a href='tg://user?id={user_id}'>{name}</a>"

gn_tags = ["gn", "good night", "g.n", "g n", "night", "gnite", "sleep well", "sweet dreams"]
gm_tags = ["gm", "good morning", "g.m", "g m", "morning", "vgm", "v.g.m", "v g m", "veri good morning", "very good morning"]

if msg_text in gn_tags:
bot.replyText(
chat_id=message.chat.id,
text=f"""<b>❖ ɢᴏᴏᴅ ɴɪɢʜᴛ ❖ sᴡᴇᴇᴛ ᴅʀᴇᴀᴍs ❖

❍ {mention} 😪

❖ ɢᴏ ᴛᴏ ➥ sʟᴇᴇᴘ ᴇᴀʀʟʏ
</b>""",
parse_mode="HTML",
reply_to_message_id=message.message_id
)
bot.sendSticker(
chat_id=message.chat.id,
sticker="CAACAgUAAyEFAASRixT-AAId-mhWjRqoPOFMsfLC-6hl_arxFZcOAAL_FQACUtG5VmA3z68b5SRLHgQ",
reply_to_message_id=message.message_id
)
raise ReturnCommand()

if msg_text in gm_tags:
bot.replyText(
chat_id=message.chat.id,
text=f"""<b>❖ ɢᴏᴏᴅ ᴍᴏʀɴɪɴɢ ❖ ʜᴀᴠᴇ ᴀ ɴɪᴄᴇ ᴅᴀʏ ❖

❍ {mention} 🌞

❖ sᴛᴀʏ ᴘᴏsɪᴛɪᴠᴇ ➥ ᴋᴇᴇᴘ ꜰᴏᴄᴜꜱᴇᴅ
</b>""",
parse_mode="HTML",
reply_to_message_id=message.message_id
)
bot.sendSticker(
chat_id=message.chat.id,
sticker="CAACAgUAAyEFAASRixT-AAId-WhWjRmHHKE7Srq2-DcLCbDZEAILAAJMFwACa1e4Vki7Onvrl_E_HgQ",
reply_to_message_id=message.message_id
)
raise ReturnCommand()



👨‍💻 Posted by @BotVerseRavi


📢 Love anime? Share this with your friends and remember to give credit if you use it on your channel!
🤝21👍1🔥1👌1
🔄 ImgBB Image Uploader [BJS]

Command:/imageUrl

Answer: Send me the Image
Wait for answer: On

// Posted by @BotVerseRavi on Telegram

if (!request.photo[0]) {
Bot.sendMessage("*You are Requested to Send A Photo Only!*")
return
}
Bot.sendMessage("Uploading....")
if (request.photo[3]) {
Api.getFile({ file_id: request.photo[3].file_id, on_result: "/upload" })
return
}
if (request.photo[2]) {
Api.getFile({ file_id: request.photo[2].file_id, on_result: "/upload" })
return
}
if (request.photo[1]) {
Api.getFile({ file_id: request.photo[1].file_id, on_result: "/upload" })
return
}
if (request.photo[0]) {
Api.getFile({ file_id: request.photo[0].file_id, on_result: "/upload" })
return}



Command:/upload

// Posted by @BotVerseRavi on Telegram

var key = "YOUR API KEY HERE"
//get from api.imgbb.com

if (!content) {
var link =
"https://api.telegram.org/file/bot" + bot.token + "/" + options.result.file_path

HTTP.get({
url: "https://api.imgbb.com/1/upload?key="+key+"&image=" + link,
success: "/upload",
folow_redirects: true
})
return
}
var res = JSON.parse(content)
if (res.success == true) {
Bot.sendMessage("📁* Your Image Uploaded to ImgBB*\n\n🔗 Link: " + res.data.url,
{ disable_web_page_preview: true })
} else {
Bot.sendMessage("Couldn't Upload file.")
}


Get API Key from: api.imgbb.com

👨‍💻 Posted by @BotVerseRavi



📢 Love anime? Share this channel with your friends and remember to give credit if you use it on your channel!
1🔥1🥰1
FREE SSH SERVER
USA VPS


Hostname: usa-host.kcartik-vps.com
Username: kcartik
Password: kcartik
Port: 80
🔥2🥰2🤩211😁1🤝1
DROPPING ULTAHOST SINGAPORE SSH SOON
ONLY SSH, NO VPS
1🔥1🥰1
ULTAHOST SINGAPORE

Domain singapore-ultahost.kcartik-vps.com
User kcartik
Pass kcartik
Port = 80

Payload GET / HTTP/1.1[crlf]Host: [host][crlf]Upgrade: websocket[crlf][crlf]
1👍1🔥1🥰1🤩1
VPS SSH

Domain usa-jhantu-vps.b-rand.black
User kcartik
Pass kcartik
Port = 80
🔥21🤝1
🧑‍🔬 Automatic Filtered Replies in Groups [BJS]


Bot replies to user with a specific pre defined replies on triggering a preset filter

Part 1


Command: /setfilter

// Posted by @BotVerseRavi on Telegram

if (!['group', 'supergroup'].includes(chat?.chat_type)) return Bot.sendMessage('Command to be used in groups or channels only');

function sendMsg(text, id) {
Api.sendMessage({ text, reply_to_message_id: id, parse_mode: 'html' });
}

if (!options) {
if (!params && !request.reply_to_message || !params) return sendMsg(
"Use one of the following formats:\n<code>/setfilter &lt;word&gt; | &lt;reply&gt;</code>\n" +
"<code>/setfilter &lt;word&gt;</code> (while replying to a message)",
request.message_id
);
request.text = params;
Bot.setProp(user.telegramid + "data", request, 'json');
return Api.getChatAdministrators({
chat_id: request.chat.id,
on_result: '/setfilter ' + user.telegramid,
});
}

if (options && !options.ok) return;

let [userId, u] = [params, Bot.getProp(params + 'data')];
let isAdmin = options.result.some(admin => ['creator', 'administrator'].includes(admin.status) && admin.user.id == userId);

if (!isAdmin) {
Bot.deleteProp(params + 'data');
return sendMsg("Only admins can set filters!", u.message_id);
}

var [word, replyMessage] = u.text && u.text.includes('|')
? u.text.split(/\s*\|\s*/) : [u.text, u.reply_to_message?.text || u.reply_to_message?.caption];

if (!word || !replyMessage) return sendMsg("Invalid Input! Use case:\n<code>/setfilter &lt;word&gt; | &lt;reply&gt;</code>\n" +
"<code>/setfilter &lt;word&gt;</code> (while replying to a message)", u.message_id);

word = word?.trim().toLowerCase();
var filters = Bot.getProperty(`filters_${u.chat.id}`) || [];
let existingIndex = filters.findIndex(filter => filter.word === word);

existingIndex !== -1
? filters[existingIndex] = { word: word, reply: replyMessage, action: 'reply' }
: filters.push({ word: word, reply: replyMessage, action: 'reply' });

Bot.setProperty(`filters_${u.chat.id}`, filters, 'json');
Bot.deleteProp(userId + 'data');
sendMsg(`Filter set: "<b>${word}</b>" => "<i>${replyMessage}</i>"`, u.message_id);


Command: *

(Master Command)
// Posted by @BotVerseRavi on Telegram

var filters = Bot.getProperty(`filters_${request.chat.id}`) || [];
if (filters.length === 0) return;

var msg = request.text || request.caption;
for (let filter of filters) {
if (msg.toLowerCase().includes(filter.word.toLowerCase())) {
let action = filter.action === 'delete' ? "deleteMessage" : "sendMessage"
Api[action]({
chat_id: request.chat.id, message_id: request.message_id,
text: filter.reply, parse_mode: 'html',
reply_to_message_id: request.message_id,
})
break;
}
}


Usecases:

/setfilter <word> | <reply>
/setfilter <word> (while replying to a message)

ℹ️ Only supports Text Replies

🧑‍💻 Posted by @BotVerseRavi


📢 Love anime? Share this channel with your friends and remember to give credit if you use it on your channel!
🔥5👌1
FREE VPS


IP Address: 194.238.19.9
Username: root
Root Password: .3Ty7VgQqtw3fHai)Itp


By @BotVerseRavi
1👍1🔥1🤝1
🧑‍🔬 Automatic Filtered Replies in Groups [BJS]


Part 2



Command: /filters

// Posted by @BotVerseRavi on Telegram

if (!['group', 'supergroup'].includes(chat?.chat_type)) {
return Bot.sendMessage('Command can only be used in groups.');
}

let filters = Bot.getProperty(`filters_${request.chat.id}`) || [];
let nonAggressiveFilters = filters.filter(f => f.action !== 'delete');
let aggressiveFilters = filters.filter(f => f.action === 'delete');

if (!filters.length) return Bot.sendMessage("No filters set in this group.", { is_reply: true });

let filterList = nonAggressiveFilters.map((f, i) => `<b>${i + 1}.</b> <b>${f.word}</b> - <i>${f.reply}</i>`).join('\n');
let aggressiveFilterCount = aggressiveFilters.length ? `\n\nAggressive Filters: <b>${aggressiveFilterCount}</b>` : '';

Api.sendMessage({
text: `Total filters: <b>${filters.length}</b>\n\n${filterList}${aggressiveFilterCount}`,
reply_to_message_id: request.message_id,
parse_mode: 'html'
});


Command: /deletefilter

// Posted by @BotVerseRavi on Telegram

if (!['group', 'supergroup'].includes(chat?.chat_type)) return Bot.sendMessage('Command to be used in groups or channels only');

function sendMsg(text, id){
Api.sendMessage({ text, reply_to_message_id: id, parse_mode: 'html' });
}

if (!options) {
if (!params) return sendMsg("Please specify the word to remove.\n<code>/deletefilter &lt;word&gt;</code>", request.message_id);
return Api.getChatAdministrators({
chat_id: request.chat.id,
on_result: `/deletefilter ${params}&${user.telegramid}&${request.chat.id}&${request.message_id}`,
});
}
if (options && !options.ok) return;

let [word, userId, chatId, msgId] = params.split('&');
let isAdmin = options.result.some(admin => admin.user.id == userId && ['creator', 'administrator'].includes(admin.status));

if (!isAdmin || !word) return sendMsg(!word ? "Please provide a word to delete." : "Only admins can delete filters!", msgId);

let filters = Bot.getProperty(`filters_${chatId}`) || [];
let filterIndex = filters.findIndex(filter => filter.word === word.toLowerCase());

if (filterIndex === -1) return sendMsg(`No filter found for "<b>${word}</b>".`, msgId);

filters.length === 1 ? Bot.deleteProp(`filters_${chatId}`) : Bot.setProperty(`filters_${chatId}`, filters.filter((_, index) => index !== filterIndex), 'json');
sendMsg(`Filter "<b>${word}</b>" has been removed.`, msgId);


Command: /clearfilters
// Posted by @BotVerseRavi on Telegram

if (!['group', 'supergroup'].includes(chat?.chat_type)) return Bot.sendMessage('Command to be used in groups or channels only');

function sendMsg(text, id) {
Api.sendMessage({ text, reply_to_message_id: id, parse_mode: 'html' });
}

if (!options) {
return Api.getChatAdministrators({
chat_id: request.chat.id,
on_result: `/clearfilters ${user.telegramid}&${request.chat.id}&${request.message_id}`,
});
}

if (!options.ok) return;

let [userId, chatId, messageId] = params.split("&");

if (!options.result.some(admin => admin.user.id == userId && ['creator', 'administrator'].includes(admin.status))) {
return sendMsg("Only admins can clear filters!", messageId);
}

if (!Bot.getProperty(`filters_${chatId}`)) {
return sendMsg("No filters to clear in this group.", messageId);
}

Bot.deleteProp(`filters_${chatId}`);
sendMsg("All filters have been cleared.", messageId);


Usecases:

/filters - Lists all regular filters of group
/deletefilter <word> - deletes a filter
/clearfilters - Clears all filters of group at once

ℹ️ Only supports Text Replies

👨🏻‍💻 Posted by @BotVerseRavi


📢 Share this channel with your friends and remember to give credit if you use it on your channel!
5😁1
🧑‍🔬 Automatic Filtered Replies in Groups [BJS]


Part 3


Command: /aggressivefilter


// Posted by @BotVerseRavi on Telegram

if (!['group', 'supergroup'].includes(chat?.chat_type))
return Bot.sendMessage('Command to be used in groups or channels only');

if (!options) {
if (!params) return Bot.sendMessage("Please specify the word to add as an aggressive filter.\n<code>/aggressivefilter &lt;word&gt;</code>", request.message_id);
return Api.getChatAdministrators({
chat_id: request.chat.id,
on_result: `/aggressivefilter ${user.telegramid}&${request.chat.id}&${params?.trim()}&${request.message_id}`
});
}

if (!options.ok) return;
let [userId, chatId, word, msgId] = params.split("&");

if (!options.result.some(admin => admin.user.id == userId && ['creator', 'administrator'].includes(admin.status))) {
return Bot.sendMessage("Only admins can set aggressive filters!", { is_reply: true });
}

if (!word) return Bot.sendMessage("Please specify a valid word for the aggressive filter.", { is_reply: true });

word = word.toLowerCase();
let filters = Bot.getProperty(`filters_${chatId}`) || [];
let existingIndex = filters.findIndex(filter => filter.word === word);
existingIndex !== -1
? filters[existingIndex].action = 'delete'
: filters.push({ word: word, action: 'delete' });

Bot.setProperty(`filters_${chatId}`, filters, 'json');
Bot.deleteMessage({chat_id: chatId, message_id: msgId})
Api.sendMessage({
text: `Aggressive filter set: "<b>${word}</b>" (Messages containing this word will be deleted)`,
parse_mode: 'html'
});

Command: /modfilters


// Posted by @BotVerseRavi on Telegram

if (!['group', 'supergroup'].includes(chat?.chat_type))
return Bot.sendMessage('Command only for groups.');

if (!options) return Api.getChatAdministrators({
chat_id: request.chat.id,
on_result: `/modfilters ${user.telegramid}&${request.chat.id}&${request.message_id}`
});

if (!options.ok) return;

let [userId, chatId, msgId] = params.split("&");

if (!options.result.some(a => a.user.id == userId && ['creator', 'administrator'].includes(a.status)))
return Bot.sendMessage("Only admins can view aggressive filters!", { is_reply: true });

let aggressiveFilters = (Bot.getProperty(`filters_${chatId}`) || []).filter(f => f.action === 'delete');
if (!aggressiveFilters.length)
return Bot.sendMessage("No aggressive filters set.", { is_reply: true });

Api.sendMessage({
text: aggressiveFilters.map((f, i) => `<b>${i + 1}.</b> <b>${f.word}</b>`).join('\n'),
reply_to_message_id: msgId,
parse_mode: 'html'
});


Usecase:

/aggressivefilter <word> - Deletes message with on triggering keyword
/modfilters - List of all Aggressive filters (admins only)

👨🏻‍💻 Posted by @BotVerseRavi


📢 Share this channel with your friends and remember to give credit if you use it on your channel!
3👏1
❤️ Here is the Surprise Update


🤔 What’s Aggressive Filter?
It deletes any message which triggers with any defined keyword by admins. It’s just like blacklisting any word.

Usage of Filter Commands:

/setfilter <word> | <reply>
/setfilter <word>
(while replying to a message)
/aggressivefilter <word> - Deletes Message on trigger with the keyword
/deletefilter <word> - Remove a filter
/filters - List of Regular filters visible to everyone
/modfilters - List of Aggressive filters visible to admins only
/clearfilters - Clears all filters of chat at once

Show some support 🩶 @BotVerseRavi



BJS Codes are available here:


1⃣ Part 1
2⃣ Part 2
3⃣ Part 3
4👌2
🔗 Create Invite Link with Expiration time [BJS]


Command: /createInviteLink

// Posted by @BotVerseRavi on Telegram 

let memberLimit = 10;
let expirationSeconds = 3600; //expiration time in seconds

if (!options) {
Api.createChatInviteLink({
chat_id: request.chat?.id,
name: "My Custom Invite Link",
expire_date: Math.floor(Date.now() / 1000) + expirationSeconds,
member_limit: memberLimit,
// creates_join_request: true
// Do not pass member_limit if creates_join_request is true
on_result: '/createInviteLink',
});
return;
}

let message = `Invite Link: ${options.result.invite_link}\n` +
`Link Name: ${options.result.name}\n` +
`Expires: ${new Date(options.result.expire_date * 1000).toLocaleString()}`;

if (options.result.creates_join_request) message += "\nJoin Request Required: Yes";
if (options.result.member_limit) message += `\nMember Limit: ${options.result.member_limit}`;

Api.sendMessage({ text: message })


‼️ Important:

Do not pass member_limit parameter if creates_join_request is true, else you will get error.
ℹ️ Bot must be admin with can_invite_users permission.

👨🏻‍💻 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
🔗 Copy to Clipboard via Inline Keyboard Button [BJS]


✈️ now supports copying text from inline keyboard buttons of upto 256 characters

This is how:
// Posted by @BotVerseRavi on Telegram

Api.sendMessage({
text: "Copy message from Below Button 👇",
reply_markup: {
inline_keyboard: [
[{ text: "Copy to Clipboard", copy_text: { text: "Hi there!" } }]
]
}
})


🔧 Just add a copy_text field instead of url or callback_data in the inline_keyboard field

👨🏻‍💻 Posted by @BotVerseRavi


📢 Share this channel with your friends and remember to give credit if you use it on your channel!
🔥21👍1🥰1🎉1🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
✏️ Add Media to Text Message [BJS]


✈️ You can now even add a Media to a Text Message Previously Sent


Command: Your Command

// Posted by @BotVerseRavi on Telegram

Api.sendMessage({
text: 'Adding a Media to Message',
on_result: '/addMedia'
});


Command: /addMedia

// Posted by @BotVerseRavi on Telegram

Api.editMessageMedia({
chat_id: options.result.chat.id,
message_id: options.result.message_id,
media: {
type: "photo",
media: "Photo url here",
caption: "Added a Media to Message"
}
})


ℹ️ You can add all type of Media while editing and also can add multiple media(upto 10).

👨🏻‍💻 Posted by @BotVerseRavi


📢 Share this channel with your friends and remember to give credit if you use it on your channel!
🥰2🤩21🔥1
🤖 Image To Sticker 👥 [TPY]


Command :  *


# Posted by @BotVerseRavi on Telegram.

if message.text == "/start":
bot.sendMessage(
chat_id=message.chat.id,
text="🎉 <b>Welcome!</b>\n\nSend me any photo, and I'll convert it into a Telegram sticker.\n\n🖼️ <i>Tip: Square images look best as stickers.</i>",
parse_mode="HTML"
)

elif message.text == "/help":
bot.sendMessage(
chat_id=message.chat.id,
text="📌 <b>How to Use</b>\n\n1. Just send a photo.\n2. I’ll turn it into a sticker instantly.\n\n🚫 No need to crop or edit yourself.",
parse_mode="HTML"
)

elif message.photo:
bot.sendMessage(chat_id=message.chat.id, text=" Creating sticker...")

try:
# Get highest-quality image
file_id = message.photo[-1].file_id
file_info = bot.getFile(file_id)
file_url = f"https://api.telegram.org/file/bot{Bot.info().token}/{file_info.file_path}"

# Download image
response = HTTP.get(file_url)
if response.status_code != 200:
bot.sendMessage(chat_id=message.chat.id, text=" Couldn't download image.")
raise ReturnCommand()

# Send as sticker
bot.sendSticker(chat_id=message.chat.id, sticker=response.content)

except Exception:
bot.sendMessage(
chat_id=message.chat.id,
text=" Failed to convert image. Please try a different photo (less than 512 KB)."
)

elif message.text and not message.text.startswith("/"):
bot.sendMessage(
chat_id=message.chat.id,
text="📷 Please send an image. I will convert it into a sticker."
)

else:
bot.sendMessage(
chat_id=message.chat.id,
text="🚫 Unsupported file type. Send a photo to get started."
)

👨🏻‍💻 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
Full complete python script with feature:


☑️ Stream Response
☑️ System Prompt
☑️ Memory Store


pip install httpx


# Posted by @BotVerseRavi on Telegram.

import httpx
import json

API_KEY = "<OPENROUTER_API_KEY>"
MODEL = "deepseek/deepseek-chat-v3-0324:free"
BASE_URL = "https://openrouter.ai/api/v1/chat/completions"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
"HTTP-Referer": "<YOUR_SITE_URL>", # Optional
"X-Title": "<YOUR_SITE_NAME>", # Optional
}

# Conversation history (memory simulation)
conversation = [
{"role": "system", "content": "You are a helpful assistant."}
]

def chat_with_assistant(user_input):
# Append user's message to the conversation
conversation.append({"role": "user", "content": user_input})

# Prepare the payload
payload = {
"model": MODEL,
"messages": conversation,
"stream": True
}

# Make streaming request
with httpx.stream("POST", BASE_URL, headers=HEADERS, json=payload, timeout=None) as response:
print("Assistant:", end=" ", flush=True)
full_reply = ""
for line in response.iter_lines():
if line:
if line.startswith(b"data: "):
data_str = line[6:]
if data_str.strip() == b"[DONE]":
break
try:
data = json.loads(data_str)
delta = data['choices'][0]['delta'].get('content', '')
print(delta, end="", flush=True)
full_reply += delta
except Exception as e:
continue

# Append assistant's reply to memory
conversation.append({"role": "assistant", "content": full_reply})
print("\n") # New line after assistant reply

# Main loop
if __name__ == "__main__":
print("Start chatting with the assistant (type 'exit' to quit):")
while True:
user_message = input("You: ")
if user_message.lower() == "exit":
break
chat_with_assistant(user_message)


👨🏻‍💻 Posted by @BotVerseRavi


1️⃣ Install the httpx library.
2️⃣ Obtain the Open Router API key.

📢 Share this channel with your friends and remember to give credit if you use it on your channel!
2🔥1🥰1🤩1🤝1