Krishna ~
Force Channel Join Tbh Code Command /start Code: await Api.sendMessage({ chat_id: chat.id, text: "*Please join our channel to continue.*\n\n_Join first, then tap “I Joined”._", parse_mode: "Markdown", reply_markup: { inline_keyboard: [ …
Little Upgraded version
command: @
command: /start
command: check_join
By : @vinadira
command: @
const channels = [
"@Mrnull9"
]
command: /start
const ik = [];
for (const c of channels) {
ik.push([
{
text: "Join to " + c,
url: "tg://resolve?domain=" + c.slice(1)
}
]);
}
ik.push([
{
text: "I Joined",
callback_data: "check_join"
}
]);
Api.sendMessage({
text: "Please join our channel to continue.*\n\n_Join first, then tap “I Joined”._",
reply_markup: {
inline_keyboard: ik
}
});
command: check_join
const ik = []; // again???
const res = await Libs.mcl.check(user.id, channels);
const allJoined = res.all_joined;
const text = allJoined
? "*Verification Complete!*\n\n_You may continue now._"
: "*You have not joined yet.*\n\n_Please join first, then tap “Check Again”._";
for (const c of channels) {
ik.push([
{
text: "Join to " + c,
url: "tg://resolve?domain=" + c.slice(1)
}
]);
}
ik.push([
{
text: "Check again",
callback_data: "check_join"
}
]);
Api.editMessageText({
text,
message_id: request?.message?.message_id,
parse_mode: "Markdown",
reply_markup: {
inline_keyboard: !allJoined ? ik : undefined
}
});
By : @vinadira
🔥2❤1
Forwarded from TECH CODER
Example of using emoji effect
Command -
Command -
/startApi.sendMessage({
chat_id: user.telegramid,
text: "🎉 Celebration effect message",
parse_mode: "Markdown",
message_effect_id: "5046509860389126442"
});'🔥': "5104841245755180586",
'👍': "5107584321108051014",
'🎉': "5046509860389126442",
'👎': "5104858069142078462",
'❤️': "5044134455711629726",
🔥6
⭐ TBL Tip: Use Any Telegram API Method Dynamically!
If a method isn’t available in TBL’s Api.xxx, you can still call it:
Example:
Use any new Telegram method instantly 🚀
Docs: https://telebothost.com/docs/#api-dynamic
If a method isn’t available in TBL’s Api.xxx, you can still call it:
Api.call("methodName", { /* params */ })Example:
Api.call("getChat", {
chat_id: -1007657565746
})Use any new Telegram method instantly 🚀
Docs: https://telebothost.com/docs/#api-dynamic
Link shortner TBL codes
Command:
Use:
TBL code:
Powered by Tinyurl
🚀 Getting Started is Simple!
1️⃣ Sign up / Log in at https://telebothost.com/
2️⃣ Add your first bot – don’t forget to read the guide
3️⃣ Paste the codes and begin your adventure
Share your bot and codes with us to be part of our journey
🤝 Don’t forget to share this with your friends
Command:
/shortUse:
/short <long_link>TBL code:
/* Command: /short */
if (!params) {
Api.sendMessage({
chat_id: chat.id,
text:
"❌ <b>Missing URL</b>\n\n" +
"👉 <b>Usage:</b>\n" +
"<code>/short https://example.com</code>\n\n" +
"Please send a valid long link.",
parse_mode: "HTML"
})
return
}
let longUrl = params.trim()
if (!longUrl.startsWith("http://") && !longUrl.startsWith("https://")) {
Api.sendMessage({
chat_id: chat.id,
text:
"❌ <b>Invalid URL</b>\n\n" +
"URL must start with:\n" +
"<code>http://</code> or <code>https://</code>",
parse_mode: "HTML"
})
return
}
Api.sendChatAction({
chat_id: chat.id,
action: "typing"
})
let res = await HTTP.get({
url: "https://tinyurl.com/api-create.php",
query: { url: longUrl }
})
if (!res || !res.content) {
Api.sendMessage({
chat_id: chat.id,
text:
"⚠️ <b>Failed to shorten the link</b>\n" +
"Please try again later.",
parse_mode: "HTML"
})
return
}
Api.sendMessage({
chat_id: chat.id,
text:
"✨ <b>URL Shortened Successfully!</b>\n\n" +
"🔗 <b>Short Link:</b>\n" +
"<code>" + res.content + "</code>\n\n" +
"🚀 Powered by <b>TinyURL</b>",
parse_mode: "HTML"
})
Powered by Tinyurl
Share your bot and codes with us to be part of our journey
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Forwarded from Coding with Mohit
🚀 Host Your Telegram Bot 24×7 for FREE (No VPS Needed!)
Still paying for VPS or struggling to keep your Telegram bot online?
Stop wasting money.
In this video, I show step-by-step how to host a Telegram bot completely FREE with 24×7 uptime.
🎥 Watch now: https://www.youtube.com/results?search_query=Host+Telegram+Bot+24%2F7+for+FREE+%7C+No+VPS (Check thumbnail)
If you’re serious about Telegram bot development, this one is non-negotiable.
—
Join the community for more real, practical Telegram bot tutorials 👇
🔗 https://t.me/codingwithmohit05/4
Still paying for VPS or struggling to keep your Telegram bot online?
Stop wasting money.
In this video, I show step-by-step how to host a Telegram bot completely FREE with 24×7 uptime.
✅ Free hosting platform
✅ Bot runs 24×7
✅ No VPS, no server tension
✅ Beginner-friendly
🎥 Watch now: https://www.youtube.com/results?search_query=Host+Telegram+Bot+24%2F7+for+FREE+%7C+No+VPS (Check thumbnail)
If you’re serious about Telegram bot development, this one is non-negotiable.
—
Join the community for more real, practical Telegram bot tutorials 👇
🔗 https://t.me/codingwithmohit05/4
❤3👍1
Forwarded from xBotsBusiness
Our TBL Helper AI has crossed 300+ conversations 🎉 on ChatGPT store
Try it and build your bots on telebothost.com -
https://chatgpt.com/g/g-690a0a4ffde4819193a77612b76d05e5-tbl-helper-ai
#Telegram #TelegramBots #ChatGPT #Programming #Developers
Try it and build your bots on telebothost.com -
https://chatgpt.com/g/g-690a0a4ffde4819193a77612b76d05e5-tbl-helper-ai
It is an AI assistant designed specially for:More updates, features & tools coming soon.
• Telegram Bot Development
• TeleBot Lang (TBL)
• Automation & Bot Logic
#Telegram #TelegramBots #ChatGPT #Programming #Developers
❤6
Forwarded from 🤖 Bjs Codes Flash (devendra)
❔ Code to get premium/custom emoji ids:
📘 Command:
🧑💻 Coded by @devendra
©️ Copyright @BjsCodes
📘 Command:
/emojiid// /emojiid command handler
if (!params) {
Api.sendMessage({
text: "❗ <b>Usage</b>:\n<code>/emojiid <message with premium emoji></code>",
parse_mode: "HTML"
});
return;
}
let text = "❌ No premium/custom emojis found.";
// Check entities
if (request.entities && Array.isArray(request.entities)) {
let ids = [];
for (const entity of request.entities) {
if (
entity.type === "custom_emoji" &&
entity.custom_emoji_id
) {
ids.push(entity.custom_emoji_id);
}
}
if (ids.length > 0) {
text = "🆔 <b>Premium Emoji IDs</b>:\n\n";
ids.forEach(id => {
text += `<tg-emoji emoji-id="${id}"></tg-emoji> <code>${id}</code>\n`;
});
text += "\n📌 <b>Usage</b>:\n";
text += "<b>HTML:</b>\n";
text += `<code><tg-emoji emoji-id="EMOJI_ID"></tg-emoji></code>\n\n`;
text += "<b>MarkdownV2:</b>\n";
text += `<code></code>`;
}
}
Api.sendMessage({
text: text,
parse_mode: "HTML"
});
🧑💻 Coded by @devendra
©️ Copyright @BjsCodes
❤2
Custom emoji formatter
Automatically detects Telegram custom emojis in user messages and converts them into safe
Code :
🚀 Getting Started is Simple!
1️⃣ Sign up / Log in at https://telebothost.com/
2️⃣ Add your first bot – don’t forget to read the guide
3️⃣ Paste the codes and begin your adventure
Share your bot and codes with us to be part of our journey
🤝 Don’t forget to share this with your friends
Automatically detects Telegram custom emojis in user messages and converts them into safe
tg://emoji?id= references, wrapped in code format. Works with any text length and preserves original messages. Like @AdsMarkdownBotCode :
/**
command: *
need_reply: false
*/
if (!msg || !msg.text) return;
if(chat.type != "private") return;
function escapeHTML(t) {
return t
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
let text = msg.text;
let entities = msg.entities || [];
let result = "";
let lastIndex = 0;
let hasCustomEmoji = false;
for (let i = 0; i < entities.length; i++) {
let e = entities[i];
if (e.type == "custom_emoji") {
hasCustomEmoji = true;
result += text.slice(lastIndex, e.offset);
let emojiChar = text.substr(e.offset, e.length);
result += "";
lastIndex = e.offset + e.length;
}
}
result += text.slice(lastIndex);
let out = hasCustomEmoji ? result : text;
out = escapeHTML(out);
out = "<code>" + out + "</code>";
let max = 3800;
for (let i = 0; i < out.length; i += max) {
Api.sendMessage({
chat_id: chat.id,
text: out.slice(i, i + max),
parse_mode: "HTML"
});
}
Share your bot and codes with us to be part of our journey
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰1
// custom emoji ID
const EMOJI_ID = "5474667187258006816"
Api.sendMessage({
text: "<b>🔥 New Button UI</b>\n\nInline + Keyboard colors & icons",
parse_mode: "HTML",
reply_markup: {
inline_keyboard: [
// Row 1
[
{ text: "Normal", callback_data: "*" },
{ text: "Primary", callback_data: "*", style: "primary" }
],
// Row 2
[
{ text: "Success", callback_data: "*", style: "success" },
{ text: "Danger", callback_data: "*", style: "danger" }
],
// Row 3 (Icon)
[
{
text: "Icon Button",
callback_data: "*",
icon_custom_emoji_id: EMOJI_ID
}
]
]
}
})
// ---------- KEYBOARD ----------
Api.sendMessage({
chat_id: chat.id,
text: "⌨️ Keyboard Button Test",
reply_markup: {
keyboard: [
[
{ text: "Normal KB" },
{ text: "Primary KB", style: "primary" }
],
[
{ text: "Success KB", style: "success" },
{ text: "Danger KB", style: "danger" }
],
[
{
text: "Icon KB",
icon_custom_emoji_id: EMOJI_ID
}
]
],
resize_keyboard: true
}
})
Exclusive TBH (TBL) Code To Send Colored Button & Emoji Icon Button
By @Paradox0x0
Note: Custom icon only works if bot owner has telegram premium
❤8👍3🥰3😁2🔥1
Forwarded from BIZ FACTORY (Mк Hσѕѕαιɳ)
Command:
*TBL Code:
function escapeHTML(text){
if(!text) return "";
return text
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
let post = request;
if(!post || !post.message_id) return;
if(post.chat.type !== "channel") return;
let footer =
"\n\n━━━━━━━━━━━━━━\n" +
"📢 <b>Follow us for more updates!</b>\n" +
"🔗 <a href='https://t.me/bizft'>Join our channel</a>";
let checkText = (post.caption || post.text || "");
if(checkText.includes("Join our channel")) return;
if(post.photo || post.video || post.document || post.audio){
let baseCaption = escapeHTML(post.caption ? post.caption.trim() : "");
let finalCaption = baseCaption ? (baseCaption + footer) : footer.trim();
if(finalCaption.length > 1024){
finalCaption = finalCaption.substring(0, 900) + "..." + footer;
}
Api.editMessageCaption({
chat_id: post.chat.id,
message_id: post.message_id,
caption: finalCaption,
parse_mode: "HTML"
});
return;
}
if(post.text){
let baseText = escapeHTML(post.text.trim());
let finalText = baseText + footer;
Api.editMessageText({
chat_id: post.chat.id,
message_id: post.message_id,
text: finalText,
parse_mode: "HTML",
disable_web_page_preview: true
});
return;
}Setup Guide:
1️⃣ Create Your Bot:
· Go to telebothost.com and create your bot
2️⃣ Add Command:
· Create a new command * (wildcard)
· Paste the above code into the command
3️⃣ Deploy & Test:
· Deploy your bot
· Send your chosen command to get a random quiz! ✅
🧠Made BY @bizft
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🤬3
let res = await HTTP.get(
"https://telebothost.com/logo.png",
{
headers: {
"x-response-type": "buffer"
}
}
);
const buffer = res.data;
Api.setChatPhoto({
//chat_id: "id" , //default is current chat
photo: buffer,
});
This is how you can set Profile photo of a group with TBL
And the same way you can use this trick on any method that need inputFile
😁1
TBL Codes
//Use the all event Lister commnad *
const ADMIN_ID = 5723455420;
function getOriginalUserIdByMessageId(messageId) {
let hiddenUserId = Bot.get("pvt" + messageId);
return hiddenUserId;
}
if(!msg) return;
if(chat.type != "private") return;
// to ensure that it's a message update and private chat
//forward any message from user to admin
if(chat.id != ADMIN_ID) {
let forwardResult = await Api.forwardMessage({
chat_id: ADMIN_ID,
from_chat_id: chat.id,
message_id: msg.message_id //msg is update.message
});
if(forwardResult?.result?.forward_origin?.type == "hidden_user") {
// Logic: When user has privacy mode enabled (hidden_user),
// store mapping between forwarded message ID and original user ID
// This allows admin to reply to hidden users by referencing the stored ID
Bot.set("pvt" + forwardResult?.result?.message_id, user.id);
}
msg.reply("*✅ Message successfully sent to Admin*");
}
if(chat.id == ADMIN_ID && request?.reply_to_message) {
// if admin reply to forwarded message, send copy to user
let originalChatId = request.reply_to_message?.forward_from?.id ||
getOriginalUserIdByMessageId(request.reply_to_message.message_id);
Api.copyMessage({
chat_id: originalChatId,
from_chat_id: ADMIN_ID,
message_id: msg.message_id
});
}
Updated,
Added fallback logic to handle hidden_user (forward messages show disable)
❤4🤔2
Forwarded from xBotsBusiness
Pinterest Image Search TBL Code
Api - https://pinterest-api-bay.vercel.app/example/docs
Command -
Wait for answer: On ✅
TBL -
Developer: @CyberXCoding
platform: telebothost.com
Api - https://pinterest-api-bay.vercel.app/example/docs
Command -
/searchWait for answer: On ✅
TBL -
let query = message
if (!query) {
Bot.sendMessage("Please enter a search query.")
return
}
User.set("q", query, "string")
let res = await HTTP.post({
url: "https://pinterest-api-bay.vercel.app/v5/pins/search",
body: {
query: query,
count: 10,
compact: true
}
})
if (!res.ok) {
Bot.sendMessage("Request failed. Please try again later.")
return
}
let data
try {
data = res.data
} catch (e) {
Bot.sendMessage("Failed to parse response.")
return
}
if (!data.items || data.items.length === 0) {
Bot.sendMessage("No results found.")
return
}
let savedQuery = User.get("q") || "Result"
let botName = bot.name
for (let i = 0; i < data.items.length; i++) {
let item = data.items[i]
let title = item.title ? item.title : savedQuery
let image = item.image
let link = item.url ? item.url : ""
let buttons = []
if (link) {
buttons.push([{ text: "View on Pinterest", url: link }])
}
buttons.push([{ text: "Copy Image URL", copy_text: { text: image } }])
let caption =
"<b>" + title + "</b>\n" +
"<i>Query:</i> " + savedQuery + "\n" +
"<i>Searched by:</i> @" + botName
await Api.sendPhoto({
chat_id: user.telegramid,
photo: image,
caption: caption,
parse_mode: "HTML",
disable_web_page_preview: true,
reply_markup: {
inline_keyboard: buttons
}
})
}
Developer: @CyberXCoding
platform: telebothost.com
❤3🔥3
Forwarded from 𝗣𝗔𝗥𝗔𝗗𝗢𝗫 🇮🇳
/* Command: * */
if(!update.guest_message){ return }
let guest = update.guest_message
let text = (guest.text || "").toLowerCase()
let target = guest.from
let message = "@Durov"
// !info trigger
if(text.includes("!info")){
// replied user info
if(guest.reply_to_message){
let replied = guest.reply_to_message
if(replied.guest_bot_caller_user){
target = replied.guest_bot_caller_user
}else if(replied.from){
target = replied.from
}
}
let name = target.first_name || "—"
let username = target.username
? "@" + target.username
: "—"
let userid = target.id || "—"
message =
`👤 ${name}
🆔 ${userid}
🔗 ${username}`
}
// guest reply
Api.call("answerGuestQuery", {
guest_query_id: guest.guest_query_id,
result: {
type: "article",
id: "reply",
title: "Reply",
description: "@Durov",
input_message_content: {
message_text: message
}
}
})
!info to get your or others info.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤯3❤1
Forwarded from 𝘾𝙔𝘽𝙀𝙍 𝙓
Groq Ai TBL Code
Example of using Groq ai models in TBH
Command:
TBL Code:
Command:
TBL Code:
use
Get a free api key from https://console.groq.com/keys
Example by: @CyberXCoding
Example of using Groq ai models in TBH
Command:
*TBL Code:
const GROQ_API_KEY =
"Api_Key"
const MODEL =
"llama-3.1-8b-instant"
const TOKEN = bot.token
async function editInline(id, text) {
return await HTTP.post({
url:
"https://api.telegram.org/bot" +
TOKEN +
"/editMessageText",
body: {
inline_message_id: id,
text: text
}
})
}
if (update.chosen_inline_result) {
try {
let query =
update.chosen_inline_result.query
let inlineMessageId =
update.chosen_inline_result.inline_message_id
if (!query || !inlineMessageId)
return
await editInline(
inlineMessageId,
"Thinking..."
)
let ai = await HTTP.post({
url:
"https://api.groq.com/openai/v1/chat/completions",
headers: {
Authorization:
"Bearer " +
GROQ_API_KEY
},
body: {
model: MODEL,
messages: [
{
role: "user",
content: query
}
]
}
})
let reply =
ai.data.choices[0].message.content
await editInline(
inlineMessageId,
reply || "No response"
)
} catch (e) {
await editInline(
update.chosen_inline_result
.inline_message_id,
"API Error"
)
}
}
Command:
/inline_queryTBL Code:
try {
let query = request.query
if (!query || query.trim() === "") {
return await Api.answerInlineQuery({
inline_query_id: request.id,
results: [],
cache_time: 1
})
}
query = query.slice(0, 256)
await Api.answerInlineQuery({
inline_query_id: request.id,
cache_time: 1,
is_personal: true,
results: [
{
type: "article",
id: String(Date.now()),
title: "Ask AI",
description: query,
input_message_content: {
message_text: "Thinking... ▌"
},
reply_markup: {
inline_keyboard: [
[
{
text: "⬤",
callback_data: "loading"
}
]
]
}
}
]
})
} catch (e) {}use
groq/compound or groq/compound-mini ai model for real time infoGet a free api key from https://console.groq.com/keys
Example by: @CyberXCoding
❤4👍2🥰1
Forwarded from xBotsBusiness
TBH Helper Ai was deleted on ChatGPT but don't worry we came with new TBH Helper Ai on Gemini -
Try it and build your bots on telebothost.com -
https://gemini.google.com/gem/1j_DmyTdxpxuBgtEJBOLVcCGumvVw5XmM?usp=sharing
More updates, features & tools coming soon.
it may do soe mistakes so give feedback so we can improve and do fixes
#Telegram #TelegramBots #ChatGPT #Programming #Developers
Try it and build your bots on telebothost.com -
https://gemini.google.com/gem/1j_DmyTdxpxuBgtEJBOLVcCGumvVw5XmM?usp=sharing
TBH Helper Ai is a Expert:
• TeleBot Lang (TBL)
• trained on TBH Docs docs.telebothost.com
More updates, features & tools coming soon.
it may do soe mistakes so give feedback so we can improve and do fixes
#Telegram #TelegramBots #ChatGPT #Programming #Developers
Gemini
Google Gemini
Meet Gemini, Google’s AI assistant. Get help with writing, planning, brainstorming, and more. Experience the power of generative AI.
❤5
xBotsBusiness
TBH Helper Ai was deleted on ChatGPT but don't worry we came with new TBH Helper Ai on Gemini - Try it and build your bots on telebothost.com - https://gemini.google.com/gem/1j_DmyTdxpxuBgtEJBOLVcCGumvVw5XmM?usp=sharing TBH Helper Ai is a Expert: • TeleBot…
https://chatgpt.com/g/g-6a36ab84bc148191be24efc311cc31ca-tbl-helper
TBL Helper is now also live on GPT.
TBL Helper is now also live on GPT.
ChatGPT
ChatGPT - TBL Helper
ChatGPT helps you get answers, find inspiration, and be more productive.
❤2🔥2
Forwarded from 𝗣𝗔𝗥𝗔𝗗𝗢𝗫 🇮🇳
Demo TBH code for the new Bot API update ephemeral message.
Code:
For more explore new update!
Code:
/* Command: /ephemeral */
// Get target user and chat info
let targetUserId = user.id;
let groupId = chat.id;
let userName = user.first_name || "User";
// 1. Send Ephemeral Text Message
await Api.sendMessage({
chat_id: groupId,
text: "🎯 This message is only visible to you, " + userName + "!",
receiver_user_id: targetUserId,
parse_mode: "HTML"
});
// 2. Send Ephemeral Photo
await Api.sendPhoto({
chat_id: groupId,
photo: "https://telegram.org/img/t_logo.png",
caption: "📸 <b>Private Photo</b>\n\nOnly you can see this!",
receiver_user_id: targetUserId,
parse_mode: "HTML"
});
// 3. Send Ephemeral Sticker
await Api.sendSticker({
chat_id: groupId,
sticker: "CAACAgIAAxkBAAIxM2pbn6j6YZCWRUsSdh6sen7nBmJbAAL8HgACuNHQSheZ4BUjnIebPQQ",
receiver_user_id: targetUserId
});
For more explore new update!
❤2🥰2
Forwarded from 𝗣𝗔𝗥𝗔𝗗𝗢𝗫 🇮🇳
Demo TBH code to get user info with profile pic (Guest Message + Rich Message.
Code:
Code:
// Command: * or /handle_guest_message
if (!update.guest_message) return
let msg = update.guest_message
let userText = msg.text || ""
if (!msg.text) return
// User info from global `user` object
let fullName = user.full_name || user.first_name || "User"
let userId = user.id || "Unknown"
let username = user.username ? "@" + user.username : "Not set"
let language = user.language_code || "Unknown"
let isBot = user.is_bot ? "Yes" : "No"
let isPremium = user.is_premium ? "✅ Yes" : "❌ No"
// Fetch profile photos
let photoFileIds = []
let mediaItems = []
let photoHtml = ""
try {
let photos = await Api.getUserProfilePhotos({
user_id: userId,
limit: 50
})
if (photos.ok && photos.result && photos.result.photos && photos.result.photos.length > 0) {
let allPhotos = photos.result.photos
let maxPhotos = Math.min(allPhotos.length, 50)
for (let i = 0; i < maxPhotos; i++) {
let photo = allPhotos[i]
if (photo && photo.length > 0) {
let fileId = photo[photo.length - 1].file_id
let mediaId = "photo_" + i
photoFileIds.push(fileId)
mediaItems.push({
id: mediaId,
media: {
type: "photo",
media: fileId
}
})
}
}
if (photoFileIds.length > 0) {
let slideshowImages = photoFileIds.map(function(id, index) {
return '<img src="tg://photo?id=photo_' + index + '"/>'
}).join('\n ')
let captionText = photoFileIds.length === 1
? "📸 1 profile photo"
: "📸 " + photoFileIds.length + " profile photos"
photoHtml = `
<tg-slideshow>
${slideshowImages}
<figcaption>${captionText}</figcaption>
</tg-slideshow>
`
}
}
} catch (e) {
photoHtml = `<p><i>Could not fetch profile photos</i></p>`
}
if (!photoFileIds.length) {
photoHtml = `<p><i>No profile photos found</i></p>`
}
// Build rich message
let profileHtml = `
<details>
<summary><b>👤 User Info — ${fullName}</b></summary>
<h2>Basic Info</h2>
<ul>
<li><b>ID:</b> <code>${userId}</code></li>
<li><b>Name:</b> ${fullName}</li>
<li><b>Username:</b> ${username}</li>
<li><b>Language:</b> ${language}</li>
</ul>
<h2>Status</h2>
<ul>
<li><b>Bot:</b> <code>${isBot}</code></li>
<li><b>Premium:</b> <code>${isPremium}</code></li>
</ul>
${photoHtml}
</details>
`
let richMessage = {
html: profileHtml
}
if (mediaItems.length > 0) {
richMessage.media = mediaItems
}
await Api.call("answerGuestQuery", {
guest_query_id: msg.guest_query_id,
result: JSON.stringify({
type: "article",
id: String(Date.now()),
title: "👤 User Info",
input_message_content: {
rich_message: richMessage
}
})
})
❤4