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
112 commands3 envUpdated 2h agoCreated Aug 27, 2026
commands/_roast.js
javascript · 407 lines
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, "&")50 .replace(/</g, "<")51 .replace(/>/g, ">")52 .replace(/"/g, """);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);