adityajat/SaarvamAI_botPublic · Bot Template
AISarvam AI is a multi‑purpose Telegram bot that lets users ask questions, get explanations, convert text to speech, and translate messages using the Sarvam AI API. It also offers group administration commands such as warn, mute, ban, pin, delete, and announcements, and can clear personal or group AI memory. The bot uses the TeleBotHost TBL framework with Bot, Api, db, and HTTP calls, and provides inline keyboards for language and voice selection.
Ai Assistantaivoicetranslatemoderationadminsarvam
34 commands4 envUpdated 15d agoCreated Sep 14, 2026
commands/_translate.js
javascript · 102 lines
1/**#command2name: /translate3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12 13const message = update.message;14if (!message) return;15 16const chatId = message.chat.id;17 18const commandText = (message.text || "")19 .replace(/^\/translate(?:@\w+)?/i, "")20 .trim();21 22const inputText = message.reply_to_message23 ? (24 message.reply_to_message.text ||25 message.reply_to_message.caption ||26 ""27 ).trim()28 : commandText;29 30if (!inputText) {31 await Api.sendMessage({32 chat_id: chatId,33 text: "Reply to a message with /translate, or use /translate followed by your text."34 });35 return;36}37 38// Keep the total input within a reasonable limit.39if (inputText.length > 60000) {40 await Api.sendMessage({41 chat_id: chatId,42 text: "❌ Text is too long. Please keep it under 60,000 characters."43 });44 return;45}46 47// Save the original text before showing language buttons.48await db.user.set("translate_request", inputText);49 50const languages = [51 ["Assamese", "as-IN"],52 ["Bengali", "bn-IN"],53 ["Bodo", "brx-IN"],54 ["Dogri", "doi-IN"],55 ["English", "en-IN"],56 ["Gujarati", "gu-IN"],57 ["Hindi", "hi-IN"],58 ["Kannada", "kn-IN"],59 ["Kashmiri", "ks-IN"],60 ["Konkani", "kok-IN"],61 ["Maithili", "mai-IN"],62 ["Malayalam", "ml-IN"],63 ["Manipuri", "mni-IN"],64 ["Marathi", "mr-IN"],65 ["Nepali", "ne-IN"],66 ["Odia", "od-IN"],67 ["Punjabi", "pa-IN"],68 ["Sanskrit", "sa-IN"],69 ["Santali", "sat-IN"],70 ["Sindhi", "sd-IN"],71 ["Tamil", "ta-IN"],72 ["Telugu", "te-IN"],73 ["Urdu", "ur-IN"]74];75 76const keyboard = [];77 78for (let i = 0; i < languages.length; i += 2) {79 const row = [80 {81 text: languages[i][0],82 callback_data: "tr_" + languages[i][1]83 }84 ];85 86 if (languages[i + 1]) {87 row.push({88 text: languages[i + 1][0],89 callback_data: "tr_" + languages[i + 1][1]90 });91 }92 93 keyboard.push(row);94}95 96await Api.sendMessage({97 chat_id: chatId,98 text: "🌐 Choose the language to translate your text into:",99 reply_markup: {100 inline_keyboard: keyboard101 }102});