Приветствую всех друзей и подписчиков. Сегодня хочу поделиться рабочими буднями продюсера инфопродукта. Одной из задач продюсера является составление чат ботов. Сейчас сервисы для написания чат ботов довольно широко представлены, поэтому каждый может выбрать сервис себе по душе, карману и поставленной задаче. В своих проектах я использую в основном сервис Senler. И сегодня, хотел бы рассказать и показать бота, для РОВНОМЕРНОГО распределения подписчиков по командам. Бот был написан совместно с моим коллегой — Юрием Корневым, для запускаемого нами проекта. Сразу хочу предупредить, в тексте и на картинках будет техническая часть, сухая, нудная, для своих, кто в теме! Вводные данные: Имеется три команды (Красная, Синяя, Зелёная). Нужно вступающих участников распределить равномерно по командам. Используемые переменные: count1,count2,count3 - количество участников в каждой из команд. level - значение уровня участника (для дальнейшего использования в игровой механике) new_count1,new_count2,new_count3 - новое количество участников в команде, при условии вступления нового человека. Алгоритм: 1) Устанавливаем глобальные переменные (count1,count2,count3) равными 0, если они не заданы 2) Устанавливаем переменную level = 1 (для дальнейшего использования в игровой механике) 3) Получаем случайное значение переменной random от 1 до 3 На основе полученного значения переменной random происходит распределение в одну из трёх команд. Все три цепочки расписывать не буду, опишу логику проверки равномерности распределения, при значении переменной random = 1 (остальные цепочки, смотрите на скринах) 4) Устанавливаем переменную new_count1 = (count1+1)-count2 (количество участников первой команды + 1 человек — количество участников второй команды) 5) Проверяем условие, переменная new_count1 > 1 Если условие верно, переходим к п.6 Если условие не верно, значит, при добавлении нашего участника к первой команде, не будет превышать количество участников во второй команде, больше, чем на 1. добавляем нашего участника в первую команду 6) Устанавливаем переменную new_count1 = (count2+1)-count3 (количество участников второй команды + 1 человек — количество участников третьей команды) 7) Проверяем условие, переменная new_count1 > 1 Если условие верно, увеличиваем значение count3 на 1 и добавляем нашего участника в третью команду Если условие не верно, увеличиваем значение count2 на 1 и добавляем нашего участника во вторую команду Вот такой оригинальный бот получился! Спасибо всем, кто дочитал до конца!