RpikMine/test_07robotPublic · Bot Template

AIБот приветствует пользователя фотографией и инлайн-кнопкой, предлагая сгенерировать короткий уникальный Telegram-username. Команда /generate_username использует встроенный словарь корневых слов по темам свет, космос, скорость и движение, чтобы составлять варианты имён. Бот ориентирован на подбор легко произносимых username без цифр и символов.

Utilityusername generatortelegram usernamerandomrussianinline keyboardphoto greeting
ProfileTelegram
2 commands0 envUpdated 23d agoCreated Aug 12, 2026
Back to folder

commands/_generate_username.js

javascript · 549 lines

Raw
1/**#command2name: /generate_username3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// ============================================================13// 1. КОРНИ14// ============================================================15 16var roots = [17 18  // Свет / энергия19  { text: "lum", meaning: "свет" },20  { text: "lux", meaning: "свет" },21  { text: "aur", meaning: "сияние" },22  { text: "sol", meaning: "солнце" },23  { text: "ray", meaning: "луч" },24  { text: "sun", meaning: "солнце" },25  { text: "gle", meaning: "блеск" },26  { text: "glow", meaning: "свечение" },27  { text: "dawn", meaning: "рассвет" },28  { text: "day", meaning: "день" },29  { text: "eve", meaning: "вечер" },30 31  // Космос32  { text: "ast", meaning: "звезда" },33  { text: "nova", meaning: "новая звезда" },34  { text: "orb", meaning: "орбита" },35  { text: "lun", meaning: "луна" },36  { text: "cos", meaning: "космос" },37  { text: "sky", meaning: "небо" },38  { text: "zen", meaning: "высота" },39  { text: "star", meaning: "звезда" },40  { text: "moon", meaning: "луна" },41  { text: "mars", meaning: "Марс" },42  { text: "void", meaning: "космическая пустота" },43 44  // Скорость / движение45  { text: "vel", meaning: "скорость" },46  { text: "vim", meaning: "энергия движения" },47  { text: "jet", meaning: "стремительность" },48  { text: "fly", meaning: "полёт" },49  { text: "run", meaning: "бег" },50  { text: "mov", meaning: "движение" },51  { text: "drf", meaning: "дрейф" },52  { text: "dash", meaning: "рывок" },53  { text: "rush", meaning: "стремительное движение" },54  { text: "swift", meaning: "быстрота" },55  { text: "flux", meaning: "поток" },56  { text: "flow", meaning: "течение" },57 58  // Сила59  { text: "val", meaning: "отвага" },60  { text: "max", meaning: "максимум" },61  { text: "pow", meaning: "сила" },62  { text: "rex", meaning: "правитель" },63  { text: "tit", meaning: "титан" },64  { text: "dom", meaning: "власть" },65  { text: "fort", meaning: "мощь" },66  { text: "vig", meaning: "энергия" },67  { text: "iron", meaning: "железо" },68  { text: "core", meaning: "ядро" },69  { text: "bold", meaning: "смелость" },70  { text: "brav", meaning: "храбрость" },71 72  // Тьма / тайна73  { text: "mir", meaning: "тайна" },74  { text: "sha", meaning: "тень" },75  { text: "rav", meaning: "мрачность" },76  { text: "dus", meaning: "сумерки" },77  { text: "nok", meaning: "ночь" },78  { text: "obs", meaning: "тьма" },79  { text: "ven", meaning: "ядовитая сила" },80  { text: "dark", meaning: "тьма" },81  { text: "mist", meaning: "туман" },82  { text: "haze", meaning: "дымка" },83  { text: "grim", meaning: "мрачность" },84  { text: "shade", meaning: "тень" },85 86  // Природа87  { text: "oak", meaning: "дуб" },88  { text: "lea", meaning: "луг" },89  { text: "riv", meaning: "река" },90  { text: "sea", meaning: "море" },91  { text: "ice", meaning: "лёд" },92  { text: "fir", meaning: "лес" },93  { text: "ash", meaning: "пепел" },94  { text: "air", meaning: "воздух" },95  { text: "wind", meaning: "ветер" },96  { text: "rain", meaning: "дождь" },97  { text: "storm", meaning: "буря" },98  { text: "frost", meaning: "мороз" },99  { text: "leaf", meaning: "лист" },100  { text: "rose", meaning: "роза" },101  { text: "fern", meaning: "папоротник" },102  { text: "lake", meaning: "озеро" },103  { text: "wave", meaning: "волна" },104 105  // Технологии106  { text: "nex", meaning: "связь" },107  { text: "syn", meaning: "синхронность" },108  { text: "net", meaning: "сеть" },109  { text: "cod", meaning: "код" },110  { text: "bit", meaning: "цифровой мир" },111  { text: "dat", meaning: "данные" },112  { text: "log", meaning: "знание" },113  { text: "lin", meaning: "соединение" },114  { text: "cyb", meaning: "киберпространство" },115  { text: "byte", meaning: "цифровая информация" },116  { text: "tech", meaning: "технологии" },117  { text: "node", meaning: "узел сети" },118  { text: "link", meaning: "соединение" },119  { text: "sync", meaning: "синхронизация" },120  { text: "data", meaning: "данные" },121 122  // Жизнь / эмоции123  { text: "viv", meaning: "жизнь" },124  { text: "bio", meaning: "жизнь" },125  { text: "joy", meaning: "радость" },126  { text: "lov", meaning: "любовь" },127  { text: "ami", meaning: "дружба" },128  { text: "zen", meaning: "спокойствие" },129  { text: "hope", meaning: "надежда" },130  { text: "calm", meaning: "спокойствие" },131  { text: "kind", meaning: "доброта" },132  { text: "free", meaning: "свобода" },133  { text: "true", meaning: "истина" },134  { text: "wish", meaning: "желание" },135  { text: "dream", meaning: "мечта" },136 137  // Звук / искусство138  { text: "mel", meaning: "мелодия" },139  { text: "son", meaning: "звук" },140  { text: "art", meaning: "искусство" },141  { text: "vox", meaning: "голос" },142  { text: "tone", meaning: "тон" },143  { text: "beat", meaning: "ритм" },144  { text: "echo", meaning: "эхо" },145 146  // Абстрактные147  { text: "ver", meaning: "истина" },148  { text: "uni", meaning: "единство" },149  { text: "one", meaning: "единство" },150  { text: "new", meaning: "новизна" },151  { text: "evo", meaning: "изменение" },152  { text: "rise", meaning: "рост" },153  { text: "peak", meaning: "вершина" },154  { text: "edge", meaning: "грань" },155  { text: "meta", meaning: "изменение" }156];157 158 159// ============================================================160// 2. ОКОНЧАНИЯ161// ============================================================162 163var endings = [164 165  { text: "a", meaning: "лёгкость" },166  { text: "e", meaning: "мягкость" },167  { text: "i", meaning: "живость" },168  { text: "o", meaning: "движение" },169  { text: "u", meaning: "уникальность" },170 171  { text: "an", meaning: "характер" },172  { text: "ar", meaning: "свобода" },173  { text: "en", meaning: "спокойствие" },174  { text: "er", meaning: "движение" },175  { text: "in", meaning: "внутренняя сила" },176  { text: "ir", meaning: "скорость" },177  { text: "on", meaning: "сила" },178  { text: "or", meaning: "характер" },179  { text: "un", meaning: "тайна" },180 181  { text: "el", meaning: "свет" },182  { text: "al", meaning: "гармония" },183  { text: "il", meaning: "живость" },184  { text: "ol", meaning: "движение" },185 186  { text: "is", meaning: "энергия" },187  { text: "ix", meaning: "уникальность" },188  { text: "ex", meaning: "развитие" },189  { text: "ox", meaning: "мощность" },190  { text: "ax", meaning: "сила" },191 192  { text: "um", meaning: "глубина" },193  { text: "am", meaning: "спокойствие" },194  { text: "em", meaning: "мягкость" },195 196  { text: "io", meaning: "движение" },197  { text: "ia", meaning: "гармония" },198  { text: "eo", meaning: "свобода" }199];200 201 202// ============================================================203// 3. АТМОСФЕРЫ204// ============================================================205 206var themes = [207 208  { text: "ice", meaning: "лёд" },209  { text: "fire", meaning: "огонь" },210  { text: "sky", meaning: "небо" },211  { text: "void", meaning: "пустота" },212  { text: "dark", meaning: "тьма" },213  { text: "light", meaning: "свет" },214  { text: "frost", meaning: "мороз" },215  { text: "storm", meaning: "буря" },216  { text: "mist", meaning: "туман" },217  { text: "moon", meaning: "луна" },218  { text: "sun", meaning: "солнце" },219  { text: "star", meaning: "звезда" },220  { text: "forest", meaning: "лес" },221  { text: "ocean", meaning: "океан" },222  { text: "earth", meaning: "земля" },223  { text: "stone", meaning: "камень" },224  { text: "night", meaning: "ночь" },225  { text: "dawn", meaning: "рассвет" },226  { text: "dream", meaning: "мечта" },227  { text: "magic", meaning: "магия" }228];229 230 231// ============================================================232// 4. ТИПЫ СЕРВЕРА233// ============================================================234 235var serverTypes = [236 237  { text: "mc", meaning: "Minecraft" },238  { text: "play", meaning: "игровой сервер" },239  { text: "survival", meaning: "выживание" },240  { text: "pvp", meaning: "PvP" },241  { text: "sky", meaning: "небесный режим" },242  { text: "hub", meaning: "центральный сервер" },243  { text: "craft", meaning: "крафт и строительство" }244];245 246 247// ============================================================248// 5. ДОМЕННЫЕ ЗОНЫ249// ============================================================250 251var domains = [252 253  { text: "gg", meaning: "игровая культура" },254  { text: "me", meaning: "персональность" },255  { text: "net", meaning: "сеть" },256  { text: "fun", meaning: "развлечение" },257  { text: "world", meaning: "мир" },258  { text: "host", meaning: "сервер" },259  { text: "play", meaning: "игра" },260  { text: "dev", meaning: "разработка" },261  { text: "pro", meaning: "профессиональность" },262  { text: "online", meaning: "онлайн-мир" }263];264 265 266// ============================================================267// 6. РАНДОМНЫЙ ЭЛЕМЕНТ268// ============================================================269 270function randomItem(array) {271  return array[Math.floor(Math.random() * array.length)];272}273 274 275// ============================================================276// 7. СОЗДАНИЕ НАЗВАНИЯ277// ============================================================278 279function generateServerName() {280 281  var root = randomItem(roots);282  var ending = randomItem(endings);283 284  var pattern = Math.floor(Math.random() * 6);285 286  var name = "";287  var meaning = "";288 289  // root + ending290  if (pattern === 0) {291 292    name =293      root.text +294      ending.text;295 296    meaning =297      root.meaning +298      " + " +299      ending.meaning;300  }301 302  // root + ending + ending303  else if (pattern === 1) {304 305    var ending2 = randomItem(endings);306 307    name =308      root.text +309      ending.text +310      ending2.text;311 312    meaning =313      root.meaning +314      " + " +315      ending.meaning +316      " + " +317      ending2.meaning;318  }319 320  // root + vowel + ending321  else if (pattern === 2) {322 323    var vowels = ["a", "e", "i", "o", "u"];324    var vowel = randomItem(vowels);325 326    name =327      root.text +328      vowel +329      ending.text;330 331    meaning =332      root.meaning +333      " + " +334      ending.meaning;335  }336 337  // first 3 root + ending338  else if (pattern === 3) {339 340    name =341      root.text.substring(0, 3) +342      ending.text;343 344    meaning =345      root.meaning +346      " + " +347      ending.meaning;348  }349 350  // first 2 root + ending + vowel351  else if (pattern === 4) {352 353    var vowels2 = ["a", "e", "i", "o", "u"];354    var vowel2 = randomItem(vowels2);355 356    name =357      root.text.substring(0, 2) +358      ending.text +359      vowel2;360 361    meaning =362      root.meaning +363      " + " +364      ending.meaning;365  }366 367  // root + first letter ending368  else {369 370    name =371      root.text +372      ending.text.substring(0, 1);373 374    meaning =375      root.meaning +376      " + " +377      ending.meaning;378  }379 380 381  // Делаем первую букву заглавной382  name =383    name.charAt(0).toUpperCase() +384    name.substring(1);385 386  return {387    name: name,388    meaning: meaning389  };390}391 392 393// ============================================================394// 8. ПРОВЕРКА НАЗВАНИЯ395// ============================================================396 397function isGoodName(name) {398 399  name = name.toLowerCase();400 401  // Только английские буквы402  if (!/^[a-z]+$/i.test(name)) {403    return false;404  }405 406  // Название 5–12 символов407  if (name.length < 5 || name.length > 12) {408    return false;409  }410 411  // Нет одинаковых букв подряд412  if (/(.)\1/i.test(name)) {413    return false;414  }415 416  return true;417}418 419 420// ============================================================421// 9. ГЕНЕРАЦИЯ ДОМЕНА422// ============================================================423 424function generateDomain() {425 426  for (var attempt = 0; attempt < 500; attempt++) {427 428    var type = randomItem(serverTypes);429    var server = generateServerName();430    var theme = randomItem(themes);431    var domain = randomItem(domains);432 433    // Проверка названия434    if (!isGoodName(server.name)) {435      continue;436    }437 438    var fullDomain =439      type.text +440      "." +441      server.name +442      "." +443      theme.text +444      "." +445      domain.text;446 447    return {448 449      domain: fullDomain,450 451      type: type,452 453      server: server,454 455      theme: theme,456 457      domainZone: domain458    };459  }460 461  return null;462}463 464 465// ============================================================466// 10. ГЕНЕРАЦИЯ467// ============================================================468 469var result = generateDomain();470 471 472// ============================================================473// 11. ЕСЛИ ГЕНЕРАЦИЯ НЕ УДАЛАСЬ474// ============================================================475 476if (!result) {477 478  Bot.sendMessage(479    "❌ Не удалось сгенерировать домен.\n\n" +480    "Попробуй ещё раз."481  );482 483  return;484}485 486 487// ============================================================488// 12. КНОПКИ489// ============================================================490 491var keyboard = {492 493  inline_keyboard: [494 495    [496      {497        text: "🔄 Сгенерировать ещё",498        callback_data: "/generate_domain"499      }500    ],501 502    [503      {504        text: "◀️ Вернуться в меню",505        callback_data: "/start"506      }507    ]508 509  ]510};511 512 513// ============================================================514// 13. ОТВЕТ515// ============================================================516 517Bot.sendMessage({518 519  text:520 521    "╭━━━━━━━━━━━━━━━━━━━━╮\n" +522    "        🌐 DOMAIN\n" +523    "╰━━━━━━━━━━━━━━━━━━━━╯\n\n" +524 525    "🔗 " +526    result.domain +527    "\n\n" +528 529    "🎮 Тип:\n" +530    result.type.meaning +531    "\n\n" +532 533    "🏰 Название:\n" +534    result.server.name +535    "\n" +536 537    "📖 Смысл:\n" +538    result.server.meaning +539    "\n\n" +540 541    "🌌 Атмосфера:\n" +542    result.theme.meaning +543    "\n\n" +544 545    "🌐 Доменная зона:\n" +546    result.domainZone.meaning,547 548  reply_markup: keyboard549});