Использование социального графа как замены Math.random()
Решение проблемы невозможности использования стандартных источников случайности:
- 🚫 Нет доступа к генераторам случайных чисел
- 🚫 Блокировка внешних API-запросов
- ✅ Используем API.friends.get и социальный граф
1. [Донорский профиль] → API.friends.get → 10К друзей (эталонный порядок)
2. [Случайная выборка] → order:random → 2 случайных ID
3. [Конвертация] → Позиция в списке / Общее количество → [0.0, 1.0]
4. [Логика весов] → Распределение по диапазонам
0.0─┐
10% → Редкие
0.1─┤
20% → Средние
0.3─┤
60% → Частые
0.9─┘
Риск | Вероятность | Влияние |
---|---|---|
🔄 Изменение списка друзей донора | ████▌ 70% | Нарушение детерминизма |
❌ Бан донора | ██ 15% | Отказ получения friend list |
⚙️ Изменение API VK | █ 5% | Ломается логика выборки |
Виджет доступен в группе VK: Питомник Омская Дружина