# Бот подборающий игроков для совместной игры ## До добавления в подбор игроков 1. Пользователь может задать стандартный список игр, и при команде для добавления себя в очередь для подбора игроков, вместо всего списка игр, написать `-` (что будет означать, вставление стандартного списка игр) 2. Каждый пользователь может указать отдельных (других) пользователей, с которыми он точно не хочет играть, так что они не будут попадаться друг другу в подборе игроков 3. Администрация сервера может изменять список игр, для которых будут побираться группы игроков. Указывают минимальные и максимальные размеры групп для каждой из игр. ## Процесс добавления пользователя в подбор 1. Пользователь сервера пишет команду для добавленя себя в очередь в подбор игроков указав список игр, для которых он хочет найти игроков 2. Бот присылает уведомление об успешном входе в очередь и напоминает о команде, которую можно отправить для выхода из очереди побора ## После добавления пользователя в подбор 1. Пользователю отправляются участники его группы, если они его не устраивают, то он может остаться в очереди, и ему больше не будет предлагаться эта группа. Во время поиска групп для игр с не установленным ограничением на количество участников в группе, группы будут собираться смотря на общие отказы от вступления в группу. Этот вопрос отправляется вссем потенциальным участникам группы по очереди, на ожидание ответа от каждого выделяется некоторое количество времени, если ответ не будет получен в срок, то пользователь удаляется из очереди. 3. Бот подбирает группы игроков 4. После подбора группы игроков, бот создаёт отдельный (закрытый) голосовой канал для неё и некоторое время ожидает присоединения всех подобранных игроков. 5. Если по истечению времени, все пользователи не присоединяться, то не присоединившиеся будут удалены из очереди. ## После успешного сбора группы 1. Если кто-то выйдет из голосового канала группы, то вышедвему пользователю сообщается, что у него есть минута на присоединение обратно. Если пользователь не присоединиться, то, если количество оставшихся меньше минимального, группа расформировывается, иначе, приглашаются сначала те, кто в очереди, а потом другие группы, количество участников в которых вместиться в группу с освободившимся участником. 2. Участники группы могут проголосовать за бан другого участника в этой группе 3. Участники группы могут проголосовать за запрет/разрешение вступление новых участников в неё. 4. Любой пользователь может узнать, кто находиться в очереди подбора и в каких играх он ищет группу