random
Макрос !{random} генерирует случайные значения: числа, выбор из списка, строки.
Где используется:
- Генерация случайных чисел (бонусы, скидки)
- Случайный выбор фраз (приветствия, ответы)
- Генерация уникальных идентификаторов (пароли, коды)
💡 Совет: Макрос удобен для создания вариативности в ответах бота.
Оглавление функций
| Функция | Описание |
|---|---|
| random.number | Случайное число в диапазоне |
| random.select | Случайный выбор из списка |
| random.string | Случайная строка из символов |
random.number
Генерирует случайное целое число в заданном диапазоне (включительно).
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| min | Число | ✅ Да | Минимальное значение |
| max | Число | ✅ Да | Максимальное значение |
Возвращает
Случайное число в виде строки.
Примеры
Случайное число от 1 до 100
!{random.number|min: 1; max: 100;}
Результат: "42" (или любое другое число от 1 до 100)
Случайный бонус от 0 до 50
!{random.number|min: 0; max: 50;}
Результат: "27"
Случайный возраст от 18 до 99
!{random.number|min: 18; max: 99;}
Результат: "34"
random.select
Выбирает случайный элемент из списка.
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| list | Строка | ✅ Да | Список элементов, разделённых разделителем |
| splitter | Строка | ❌ Нет | Разделитель (по умолчанию ,) |
⚠️ Важно: Если в элементах списка есть запятые, укажите другой разделитель через параметр
splitter.
Возвращает
Случайно выбранный элемент.
Примеры
С разделителем по умолчанию (запятая)
!{random.select|list: Всем привет!, Приветствую!, Добро пожаловать!}
Результат: "Приветствую!" (случайно)
С пользовательским разделителем
!{random.select|splitter: @; list: слово1@слово2@слово3}
Результат: "слово2" (случайно)
С пробелом как разделителем
⚠️ Важно: При использовании пробела в качестве разделителя убедитесь, что это ASCII пробел (код 32), а не неразрывный пробел или другой символ.
!{random.select|splitter: ; list: Кот Собака Хомяк}
Результат: "Собака" (случайно)
Как убедиться, что используется правильный пробел:
- В большинстве редакторов обычный пробел вставляется клавишей
Space - Если вы копируете пробел из интернета, он может быть неразрывным (
) — используйте запятую или другой символ для разделения
С русским разделителем (|)
!{random.select|splitter: |; list: Кот|Собака|Хомяк}
Результат: "Хомяк" (случайно)
random.string
Описание
Генерирует случайную строку заданной длины из указанного набора символов.
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chars | Строка | ✅ Да | Набор символов для генерации |
| length | Число | ✅ Да | Длина генерируемой строки |
Возвращает
Случайно сгенерированную строку.
Примеры
Случайная строка из 32 латинских букв
!{random.string|chars: qwertyuiopasdfghjklzxcvbnm; length: 32;}
Результат: "xylkqpaowirhfngbvsdjcmwthnzabcfg" (случайно)
Случайный 6-значный код (цифры)
!{random.string|chars: 0123456789; length: 6;}
Результат: "483291" (случайно)
Случайный пароль (буквы + цифры)
!{random.string|chars: abcdefghijklmnopqrstuvwxyz0123456789; length: 12;}
Результат: "h3k9qw2b8x7a" (случайно)
Сравнение функций
| Функция | Что генерирует | Когда использовать |
|---|---|---|
| random.number | Число | Бонусы, скидки, случайные значения |
| random.select | Элемент из списка | Случайные ответы, выбор победителя |
| random.string | Строка из символов | Коды, пароли, идентификаторы |
Частые ошибки и их решение
| Ошибка | Причина | Решение |
|---|---|---|
| Всегда одно и то же число | min и max не указаны или равны | Укажите разные значения |
| random.select возвращает всё подряд | Неверный разделитель | Убедитесь, что splitter соответствует списку |
| random.select не работает с пробелом | Использован неразрывный пробел | Используйте другой разделитель (например, ` |
| random.string генерирует короткую строку | length слишком маленький | Увеличьте length |
| В random.string попадают не те символы | chars содержит повторы или лишние символы | Проверьте набор символов |
Быстрые ответы (шпаргалка)
Случайное число от 1 до 100
!{random.number|min:1; max:100}
Случайный выбор из трёх вариантов
!{random.select|list: Да, Нет, Возможно}
Случайный выбор с разделителем \|
!{random.select|splitter: |; list: Кот|Собака|Хомяк}
Случайный код из 6 цифр
!{random.string|chars: 0123456789; length: 6}
Случайный пароль из 12 символов
!{random.string|chars: abcdefghijklmnopqrstuvwxyz0123456789; length: 12}