millswelbeck148/SireimadeBotPublic · Bot Template

AISireImade appears to be a Telegram automation bot. Commands include /start, /about, /support, /id, /admin, /ban, /unban, /x. Observed in code: messaging, keyboards, games.

Utilityutility
ProfileTelegram
112 commands3 envUpdated 2h agoCreated Aug 27, 2026
Back to folder

commands/_tools.js

javascript · 672 lines

Raw
1/**#command2name: /tools3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// ==========================================================13// 🎨 GIFT AI — /tools14// ✨ ONE-BY-ONE FONT STYLE GENERATOR15// 💜 BEAUTIFUL • CLEAN • ATTRACTIVE • ERROR-SAFE16//17// Usage:18// /tools Gift AI19//20// Features:21// • Gets styles from Prexzy22// • Sends fonts one by one23// • Attractive individual messages24// • HTML-safe output25// • Handles multiple API response formats26// • Prevents Telegram message-length errors27// • Replies directly to /tools28// ==========================================================29 30 31// ==========================================================32// 🛡️ SAFETY CHECK33// ==========================================================34 35if (!user) {36  return;37}38 39 40// ==========================================================41// 📝 GET INPUT42// ==========================================================43 44var input = String(45  params || ""46).trim();47 48 49// ==========================================================50// 👤 GET USER NAME51// ==========================================================52 53var userName = "there";54 55try {56 57  userName =58    user.first_name ||59    (request && request.from && request.from.first_name) ||60    "there";61 62} catch (e) {63 64  userName = "there";65 66}67 68 69// ==========================================================70// 📨 GET COMMAND MESSAGE ID71// ==========================================================72 73var messageId = "";74 75try {76 77  messageId =78    request.message_id ||79    request.id ||80    "";81 82} catch (e) {83 84  messageId = "";85 86}87 88 89// ==========================================================90// 🧹 HTML ESCAPE FUNCTION91// ==========================================================92 93function escapeHTML(text) {94 95  return String(text || "")96    .replace(/&/g, "&amp;")97    .replace(/</g, "&lt;")98    .replace(/>/g, "&gt;")99    .replace(/"/g, "&quot;")100    .replace(/'/g, "&#39;");101 102}103 104 105// ==========================================================106// ❌ NO INPUT107// ==========================================================108 109if (!input) {110 111  var helpData = {112 113    text:114      "╭━━━━━━━━━━━━━━━━━━╮\n" +115      "      🎨 <b>GIFT TOOLS</b>\n" +116      "╰━━━━━━━━━━━━━━━━━━╯\n\n" +117 118      "Hey <b>" +119      escapeHTML(userName) +120      "</b> 👋💜\n\n" +121 122      "Give me some text and I'll turn it into beautiful fonts. ✨\n\n" +123 124      "💡 <b>Usage</b>\n" +125      "<code>/tools your text</code>\n\n" +126 127      "🌸 <b>Example</b>\n" +128      "<code>/tools Gift AI</code>\n\n" +129 130      "✨ I'll send each font separately so you can easily copy the one you like.",131 132    parse_mode: "HTML"133 134  };135 136 137  if (messageId) {138 139    helpData.reply_to_message_id =140      messageId;141 142  }143 144 145  Bot.sendMessage(helpData);146 147  return;148}149 150 151// ==========================================================152// ⏳ PROCESSING MESSAGE153// ==========================================================154 155var processingData = {156 157  text:158    "🎨 <b>GIFT IS STYLING...</b> ✨\n\n" +159 160    "💜 Working on:\n" +161    "<code>" +162    escapeHTML(input) +163    "</code>\n\n" +164 165    "✨ Finding the prettiest fonts for you... 😏",166 167  parse_mode: "HTML"168 169};170 171 172if (messageId) {173 174  processingData.reply_to_message_id =175    messageId;176 177}178 179 180Bot.sendMessage(processingData);181 182 183// ==========================================================184// 🌐 PREXZY API185// ==========================================================186 187var url =188  "https://prexzyapis.com/tools/allstyles?text=" +189  encodeURIComponent(input);190 191 192// ==========================================================193// 📡 CALL API194// ==========================================================195 196try {197 198  var res = await HTTP.get(199    url,200    {201      timeout: 15000,202      responseType: "json"203    }204  );205 206 207  // ========================================================208  // 🔍 GET RESPONSE DATA209  // ========================================================210 211  if (!res || !res.data) {212 213    Bot.sendMessage({214 215      text:216        "❌ <b>GIFT TOOLS</b>\n\n" +217        "The styling service didn't return anything.\n\n" +218        "🔄 Try again in a moment.",219 220      parse_mode: "HTML",221 222      reply_to_message_id:223        messageId || undefined224 225    });226 227    return;228  }229 230 231  var data = res.data;232 233 234  // ========================================================235  // 📦 FIND STYLE ARRAY236  // ========================================================237 238  var styles = null;239 240 241  // Direct array242 243  if (Array.isArray(data)) {244 245    styles = data;246 247  }248 249 250  // Common API formats251 252  if (!styles && data && Array.isArray(data.styles)) {253 254    styles = data.styles;255 256  }257 258 259  if (!styles && data && Array.isArray(data.data)) {260 261    styles = data.data;262 263  }264 265 266  if (!styles && data && Array.isArray(data.results)) {267 268    styles = data.results;269 270  }271 272 273  if (!styles && data && Array.isArray(data.result)) {274 275    styles = data.result;276 277  }278 279 280  // Nested data281 282  if (283    !styles &&284    data &&285    data.data &&286    typeof data.data === "object"287  ) {288 289    if (Array.isArray(data.data.styles)) {290 291      styles = data.data.styles;292 293    }294 295    else if (Array.isArray(data.data.results)) {296 297      styles = data.data.results;298 299    }300 301    else if (Array.isArray(data.data.result)) {302 303      styles = data.data.result;304 305    }306 307  }308 309 310  // ========================================================311  // ❌ NO STYLES312  // ========================================================313 314  if (315    !Array.isArray(styles) ||316    styles.length === 0317  ) {318 319    Bot.sendMessage({320 321      text:322        "❌ <b>GIFT TOOLS</b>\n\n" +323 324        "I couldn't find any font styles for:\n" +325 326        "<code>" +327        escapeHTML(input) +328        "</code>\n\n" +329 330        "🔄 Try a different text.",331 332      parse_mode: "HTML",333 334      reply_to_message_id:335        messageId || undefined336 337    });338 339    return;340  }341 342 343  // ========================================================344  // 📊 PROCESS STYLES345  // ========================================================346 347  var validStyles = [];348 349 350  for (351    var i = 0;352    i < styles.length;353    i++354  ) {355 356    var style = styles[i];357 358    if (359      style === null ||360      style === undefined361    ) {362      continue;363    }364 365 366    var styledText = "";367    var styleName = "";368 369 370    // ------------------------------------------------------371    // OBJECT RESPONSE372    // ------------------------------------------------------373 374    if (375      typeof style === "object"376    ) {377 378      styledText =379        style.styled_text ||380        style.styledText ||381        style.text ||382        style.result ||383        style.value ||384        style.output ||385        style.font ||386        style.content ||387        "";388 389 390      styleName =391        style.style_name ||392        style.styleName ||393        style.name ||394        style.title ||395        style.label ||396        "";397 398    }399 400 401    // ------------------------------------------------------402    // STRING RESPONSE403    // ------------------------------------------------------404 405    else {406 407      styledText =408        String(style);409 410    }411 412 413    styledText =414      String(415        styledText || ""416      ).trim();417 418 419    styleName =420      String(421        styleName || ""422      ).trim();423 424 425    // ------------------------------------------------------426    // IGNORE EMPTY427    // ------------------------------------------------------428 429    if (!styledText) {430      continue;431    }432 433 434    // ------------------------------------------------------435    // DEFAULT STYLE NAME436    // ------------------------------------------------------437 438    if (!styleName) {439 440      styleName =441        "Font Style " +442        (validStyles.length + 1);443 444    }445 446 447    validStyles.push({448 449      name: styleName,450 451      text: styledText452 453    });454 455  }456 457 458  // ========================================================459  // ❌ NO USABLE STYLES460  // ========================================================461 462  if (463    validStyles.length === 0464  ) {465 466    Bot.sendMessage({467 468      text:469        "❌ <b>GIFT TOOLS</b>\n\n" +470 471        "The API responded, but the returned fonts couldn't be read.\n\n" +472 473        "🔄 Try again.",474 475      parse_mode: "HTML",476 477      reply_to_message_id:478        messageId || undefined479 480    });481 482    return;483  }484 485 486  // ========================================================487  // 👤 SAFE USER NAME488  // ========================================================489 490  var safeName =491    escapeHTML(userName);492 493 494  // ========================================================495  // 📝 SEND EACH FONT SEPARATELY496  // ========================================================497 498  for (499    var j = 0;500    j < validStyles.length;501    j++502  ) {503 504    var current =505      validStyles[j];506 507 508    var number =509      j + 1;510 511 512    var safeStyleName =513      escapeHTML(514        current.name515      );516 517 518    var safeStyledText =519      escapeHTML(520        current.text521      );522 523 524    // ------------------------------------------------------525    // BEAUTIFUL FONT MESSAGE526    // ------------------------------------------------------527 528    var fontMessage =529 530      "╭━━━━━━━━━━━━━━━━━━╮\n" +531 532      "      ✨ <b>GIFT FONT #" +533      number +534      "</b> ✨\n" +535 536      "╰━━━━━━━━━━━━━━━━━━╯\n\n" +537 538      "🎨 <b>" +539      safeStyleName +540      "</b>\n\n" +541 542      "💜 <b>Your Text</b>\n" +543 544      "┌──────────────────\n" +545 546      "│ " +547      safeStyledText +548      "\n" +549 550      "└──────────────────\n\n" +551 552      "📋 <i>Tap and hold the text to copy</i>\n\n" +553 554      "━━━━━━━━━━━━━━━━━━\n" +555 556      "💫 <b>Gift AI Tools</b> • " +557      number +558      "/" +559      validStyles.length;560 561 562    var sendData = {563 564      text:565        fontMessage,566 567      parse_mode:568        "HTML"569 570    };571 572 573    // ------------------------------------------------------574    // FIRST FONT REPLIES TO /TOOLS575    // ------------------------------------------------------576 577    if (578      j === 0 &&579      messageId580    ) {581 582      sendData.reply_to_message_id =583        messageId;584 585    }586 587 588    // ------------------------------------------------------589    // SEND FONT590    // ------------------------------------------------------591 592    try {593 594      Bot.sendMessage(595        sendData596      );597 598    } catch (sendError) {599 600      console.log(601        "GIFT TOOLS FONT SEND ERROR:",602        sendError603      );604 605    }606 607  }608 609 610  // ========================================================611  // 🎀 FINAL FOOTER612  // ========================================================613 614  Bot.sendMessage({615 616    text:617      "╭━━━━━━━━━━━━━━━━━━╮\n" +618      "      💜 <b>ALL DONE</b> ✨\n" +619      "╰━━━━━━━━━━━━━━━━━━╯\n\n" +620 621      "Hey <b>" +622      safeName +623      "</b> 😏\n\n" +624 625      "🎨 I made <b>" +626      validStyles.length +627      "</b> font styles for you.\n\n" +628 629      "💜 Pick your favorite and copy it.\n" +630      "✨ Don't say Gift never spoils you. 🤭",631 632    parse_mode: "HTML"633 634  });635 636 637} catch (error) {638 639  // ========================================================640  // 🚨 ERROR HANDLER641  // ========================================================642 643  console.log(644    "GIFT TOOLS ERROR:",645    error646  );647 648 649  Bot.sendMessage({650 651    text:652      "❌ <b>GIFT TOOLS</b>\n\n" +653 654      "Oops <b>" +655      escapeHTML(userName) +656      "</b> 😭💜\n\n" +657 658      "The font service is having a little moment.\n\n" +659 660      "🔄 <b>Try /tools again in a few seconds.</b>\n\n" +661 662      "━━━━━━━━━━━━━━━━━━\n" +663      "💜 <i>Gift is still cooking...</i>",664 665    parse_mode: "HTML",666 667    reply_to_message_id:668      messageId || undefined669 670  });671 672}