Руководство

Автоматическое создание голосовых каналов в Discord: правильная структура

Комната, которая сама открывается и сама закрывается, звучит как меньше работы, пока категория не окажется не там и каждая новая комната не унаследует её права. Здесь то, что решается до первой комнаты: доступ, место, предел и то, сколько позволено владельцу.

Добавить бота бесплатно

Без прав администратора. Настройка в веб-панели.

Почему это ломается

У модуля ровно одно поле для входа, и именно на этом рушится большинство схем. Кто хочет отдельный вход для игр и отдельный для тишины, поневоле впишет только один; второй так и стоит немым голосовым каналом, люди туда заходят, выходят обратно и делают вывод, что модуль сломан. Та же ловушка кроется в категории. Каждая комната рождается под ней и перенимает выставленные там права: то, что ты один раз закрыл там для какой-то роли, действует и для всех разговоров, которые ещё только состоятся. Третий пункт не технический, а про доверие: владелец получает настоящие права в своей комнате. Кто не знает точно какие, тот либо вовсе не берётся за модуль, либо берётся слишком беспечно.

Что решить заранее

Начинай с доступа, а не с названий. Кто может войти во вход, тот и решает, кому вообще достанется комната. Это твоя единственная настоящая дверь, всё остальное разыгрывается уже внутри. Если всё это должно открываться только проверенным участникам, забери у серверного значения по умолчанию право подключаться на канале входа и выдай его нужной роли. Второе касается места. Категория целый день растёт и сжимается, поэтому ей место там, где это движение никому не мешает: в самом низу списка, а не между вашими важными каналами. Оставишь поле категории пустым, и комнаты окажутся в той же категории, что и вход; удобно, но так решение становится незаметным, а не лишним. Третье касается предела: лимит одинаков для каждой новой комнаты, потому что он один. Ставь его щедро, а тонкую настройку оставь самим людям.

Шаг за шагом

  1. Сначала выясни, какой роли позволено входить в канал входа, и выставь права там, пока не существует ни одной комнаты.
  2. Повесь категорию в нижней части списка каналов и пройди её права; что стоит там, тут же действует для каждой комнаты под ней.
  3. Впиши канал входа; поле категории оставляй пустым только тогда, когда комнаты действительно должны стоять рядом со входом.
  4. Дай трём схемам названий разные начала, чтобы в боковой панели вход, пульт и комнаты не сливались.
  5. Зайди сам, пройдись один раз по всему пульту и выйди обратно; в этот момент комната обязана исчезнуть.

Ошибки, которые делают почти все

Классика это два входа. Поле для этого одно, поэтому считается только один; второй остаётся обычным голосовым каналом без всякого действия. Так же часто: строить рядом комнаты вручную, на всякий случай. Этих каналов система не знает, она их никогда не убирает, и в итоге у тебя снова тот длинный список, от которого ты хотел избавиться. Третья ошибка потише. Забери у бота право управлять каналами, и подведёт не только создание: уборка тоже отпадает, и пустые комнаты просто остаются, причём нигде не появится ни одного сообщения. Четвёртое касается категории: поставишь её скрытой, потому что список показался слишком длинным, и комнату, где как раз идёт разговор, тоже уже никто не найдёт. И пятое это надежда, что музыкальный бот удержит комнату открытой: не удержит.

Частые вопросы

Один, потому что настройка больше и не примет: под идентификатор входа есть ровно одно поле. Разные типы комнат решаются не несколькими входами, а внутри самой комнаты: каждый владелец переименовывает её и ставит свой предел. Если тебе всё же нужны два отдельных мира, постоянный голосовой канал рядом честнее второго входа, который ничего не делает.

Нет. Он получает пять прав, и то как исключение ровно на своей комнате: управлять каналом, перемещать участников, заглушать участников, подключаться и просматривать. За пределами этой одной комнаты для него ничего не меняется, так что он ни удалить где-то что-то не может, ни ролей коснуться. Кнопка блокировки вдобавок отказывается задевать самого владельца или того, у кого есть право управлять сервером.

Сам по себе бот убирает комнату лишь тогда, когда в ней не осталось ни одного человека; присутствующий музыкальный или записывающий бот посетителем не считается. Если комнаты всё равно остаются, у бота почти всегда не хватает права управлять каналами. Туда и смотреть в первую очередь. Остатки после сбоя не вечны: при следующем запуске бот проходит свой список и удаляет то, что пусто или и так пропало.

Нет. Того, у кого уже есть своя комната, при следующем входе просто отправит обратно в неё, а не выдаст вторую. Того, кто прыгает туда-обратно посекундно, на мгновение вынимает из голосового вообще; через десять секунд всё снова работает. Эти две вещи вместе и не дают вырасти цепочке пустых комнат.

Сколько каналов-создателей стоит завести?

Один, потому что настройка больше и не примет: под идентификатор входа есть ровно одно поле. Разные типы комнат решаются не несколькими входами, а внутри самой комнаты: каждый владелец переименовывает её и ставит свой предел. Если тебе всё же нужны два отдельных мира, постоянный голосовой канал рядом честнее второго входа, который ничего не делает.

Может ли владелец этим развалить сервер?

Нет. Он получает пять прав, и то как исключение ровно на своей комнате: управлять каналом, перемещать участников, заглушать участников, подключаться и просматривать. За пределами этой одной комнаты для него ничего не меняется, так что он ни удалить где-то что-то не может, ни ролей коснуться. Кнопка блокировки вдобавок отказывается задевать самого владельца или того, у кого есть право управлять сервером.

Почему у меня стоят пустые комнаты?

Сам по себе бот убирает комнату лишь тогда, когда в ней не осталось ни одного человека; присутствующий музыкальный или записывающий бот посетителем не считается. Если комнаты всё равно остаются, у бота почти всегда не хватает права управлять каналами. Туда и смотреть в первую очередь. Остатки после сбоя не вечны: при следующем запуске бот проходит свой список и удаляет то, что пусто или и так пропало.

Получит ли человек две комнаты, если зайдёт дважды?

Нет. Того, у кого уже есть своя комната, при следующем входе просто отправит обратно в неё, а не выдаст вторую. Того, кто прыгает туда-обратно посекундно, на мгновение вынимает из голосового вообще; через десять секунд всё снова работает. Эти две вещи вместе и не дают вырасти цепочке пустых комнат.