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 1h agoCreated Aug 27, 2026
Back to folder

commands/_roast.js

javascript · 407 lines

Raw
1/**#command2name: /roast3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// ==========================================================13// 🔥 GIFT AI — /roast14// SMART • RESPONSIVE • ENGAGING ROAST SYSTEM15//16// Usage:17// /roast18// /roast @username19// Reply to someone's message + /roast20//21// Behavior:22// • /roast → roasts the command user23// • /roast @username → roasts the mentioned username24// • Reply + /roast → roasts the replied user25// • Gift replies directly to the /roast command26// ==========================================================27 28 29// ==========================================================30// VARIABLES31// ==========================================================32 33var targetId = "";34var targetName = "";35var targetUsername = "";36 37var commandUserId = "";38var commandUserName = "";39 40 41// ==========================================================42// HTML ESCAPE43// Prevents usernames/names from breaking HTML formatting44// ==========================================================45 46function escapeHTML(text) {47 48  return String(text || "")49    .replace(/&/g, "&amp;")50    .replace(/</g, "&lt;")51    .replace(/>/g, "&gt;")52    .replace(/"/g, "&quot;");53 54}55 56 57// ==========================================================58// GET COMMAND USER59// ==========================================================60 61try {62 63  commandUserId = String(64    user.telegramid ||65    user.id ||66    ""67  );68 69  commandUserName = String(70    user.first_name ||71    user.username ||72    "You"73  );74 75  if (user.last_name) {76    commandUserName += " " + String(user.last_name);77  }78 79} catch (e) {80 81  commandUserName = "You";82 83}84 85 86// ==========================================================87// CHECK REPLY TARGET88// ==========================================================89//90// If /roast is used as a reply, the replied user gets roasted.91// This has priority over /roast @username.92// ==========================================================93 94try {95 96  if (97    request &&98    request.reply_to_message &&99    request.reply_to_message.from100  ) {101 102    var repliedUser =103      request.reply_to_message.from;104 105    targetId = String(106      repliedUser.id ||107      repliedUser.telegramid ||108      ""109    );110 111    targetName = String(112      repliedUser.first_name ||113      repliedUser.username ||114      "User"115    );116 117    if (repliedUser.last_name) {118 119      targetName +=120        " " +121        String(repliedUser.last_name);122 123    }124 125    targetUsername = String(126      repliedUser.username ||127      ""128    );129 130  }131 132} catch (e) {133 134  // Ignore reply parsing errors135 136}137 138 139// ==========================================================140// CHECK /ROAST @USERNAME141// ==========================================================142//143// Example:144// /roast @mide145//146// Only used when there is no reply target.147// ==========================================================148 149var input = "";150 151try {152 153  input =154    String(params || "").trim();155 156} catch (e) {157 158  input = "";159 160}161 162 163if (!targetId && input) {164 165  var parts =166    input.split(/\s+/);167 168  var mentioned =169    String(parts[0] || "").trim();170 171  if (172    mentioned &&173    mentioned.charAt(0) === "@"174  ) {175 176    targetUsername =177      mentioned.substring(1);178 179    targetName =180      "@" + targetUsername;181 182  }183 184}185 186 187// ==========================================================188// FALLBACK189// ==========================================================190//191// If there is no reply and no @username,192// roast the person who used /roast.193// ==========================================================194 195if (!targetId && !targetUsername) {196 197  targetId =198    commandUserId;199 200  targetName =201    commandUserName;202 203  try {204 205    targetUsername =206      String(user.username || "");207 208  } catch (e) {209 210    targetUsername = "";211 212  }213 214}215 216 217// ==========================================================218// CLEAN TARGET NAME219// ==========================================================220 221targetName =222  String(targetName || "User")223    .trim();224 225if (!targetName) {226 227  targetName = "User";228 229}230 231 232// ==========================================================233// CREATE CLICKABLE MENTION234// ==========================================================235 236var safeName =237  escapeHTML(targetName);238 239var tag =240  safeName;241 242 243// Telegram ID = clickable profile mention244if (targetId) {245 246  tag =247    '<a href="tg://user?id=' +248    encodeURIComponent(targetId) +249    '">' +250    safeName +251    '</a>';252 253}254 255 256// ==========================================================257// ROAST COLLECTION258// ==========================================================259//260// Designed to feel random, conversational and engaging.261// ==========================================================262 263var roasts = [264 265  "🔥 " + tag + ", you really pressed /roast like your life wasn't already doing enough damage.",266 267  "💀 " + tag + ", I checked your potential. Apparently it went offline.",268 269  "😭 " + tag + ", your confidence is doing overtime while your common sense is on unpaid leave.",270 271  "🤡 " + tag + ", you have main-character confidence with NPC decision-making.",272 273  "🗿 " + tag + ", even your own shadow looks embarrassed to follow you.",274 275  "🔥 " + tag + ", you're not having a bad day. You're having a bad software version.",276 277  "💀 " + tag + ", your brain has excellent ideas. Unfortunately, none of them are available right now.",278 279  "😭 " + tag + ", you make simple problems look like government projects.",280 281  "🤡 " + tag + ", if being confidently wrong was a talent, you'd be world champion.",282 283  "🔥 " + tag + ", you don't need enemies. Your decisions already have the job covered.",284 285  "💀 " + tag + ", your Wi-Fi signal has more direction than your life.",286 287  "😭 " + tag + ", even autocorrect has stopped trying to save you.",288 289  "🗿 " + tag + ", you're built different. The blueprint just wasn't very good.",290 291  "🔥 " + tag + ", your personality has the same energy as a phone stuck at 1%.",292 293  "💀 " + tag + ", you walked into the chat and somehow lowered the average IQ.",294 295  "😭 " + tag + ", your comeback took so long I thought it was still loading.",296 297  "🤡 " + tag + ", you're proof that confidence doesn't require evidence.",298 299  "🔥 " + tag + ", if common sense was currency, you'd be asking for a loan.",300 301  "💀 " + tag + ", your plans have more plot twists than your actual achievements.",302 303  "😭 " + tag + ", even your excuses need an excuse.",304 305  "🗿 " + tag + ", your brain said 'processing...' and never finished.",306 307  "🔥 " + tag + ", you're not a red flag. You're the entire emergency broadcast.",308 309  "💀 " + tag + ", you could lose an argument with Google and still ask for a rematch.",310 311  "😭 " + tag + ", your logic just left the group chat.",312 313  "🤡 " + tag + ", you're operating on confidence, vibes and absolutely no evidence.",314 315  "🔥 " + tag + ", you bring chaos to situations that were perfectly peaceful before you arrived.",316 317  "💀 " + tag + ", even your mistakes have mistakes.",318 319  "😭 " + tag + ", your brain has 37 tabs open and somehow none of them are useful.",320 321  "🗿 " + tag + ", you're not lazy. You're just aggressively committed to doing nothing.",322 323  "🔥 " + tag + ", you have the survival instincts of a moth flying directly into a light bulb.",324 325  "💀 " + tag + ", your decision-making needs parental controls.",326 327  "😭 " + tag + ", you give advice like your own life isn't currently under investigation.",328 329  "🤡 " + tag + ", you really said 'trust me' like that was supposed to improve the situation.",330 331  "🔥 " + tag + ", you're the reason the tutorial has a 'skip' button.",332 333  "💀 " + tag + ", your thoughts have loading screens.",334 335  "😭 " + tag + ", you somehow turn every easy task into a side quest.",336 337  "🗿 " + tag + ", your common sense has been missing for so long we should file a report.",338 339  "🔥 " + tag + ", you don't miss opportunities. You simply convince them to leave.",340 341  "💀 " + tag + ", your life has more buffering than a bad internet connection.",342 343  "😭 " + tag + ", even your keyboard gets tired of correcting you.",344 345  "🤡 " + tag + ", you have premium confidence with a free-trial personality.",346 347  "🔥 " + tag + ", if nonsense had a spokesperson, you'd be employee of the month.",348 349  "💀 " + tag + ", you're living proof that 'I'll figure it out later' can become a lifestyle.",350 351  "😭 " + tag + ", your attention span has the lifespan of a Snapchat notification.",352 353  "🗿 " + tag + ", you don't need a glow-up. You need a system update.",354 355  "🔥 " + tag + ", somehow you make being unserious look like a full-time career.",356 357  "💀 " + tag + ", I would roast you harder, but apparently life already beat me to it.",358 359  "😭 " + tag + ", your brain and your mouth clearly don't communicate.",360 361  "🤡 " + tag + ", you entered this chat with confidence and left with absolutely no evidence.",362 363  "🔥 " + tag + ", you're the human version of 'Are you sure you want to continue?'",364 365  "💀 " + tag + ", even your problems need a break from dealing with you."366 367];368 369 370// ==========================================================371// RANDOM ROAST372// ==========================================================373 374var roast =375  roasts[376    Math.floor(377      Math.random() * roasts.length378    )379  ];380 381 382// ==========================================================383// SEND ROAST AS A DIRECT REPLY384// ==========================================================385 386var sendData = {387 388  chat_id: chat.id,389 390  text: roast,391 392  parse_mode: "HTML",393 394  reply_to_message_id:395    request &&396    request.message_id397      ? request.message_id398      : undefined399 400};401 402 403// ==========================================================404// SEND405// ==========================================================406 407Api.sendMessage(sendData);