Всем привет, меня зовут Виктор Щепкин, я руководитель проекта в Allods Team. В этом тексте я расскажу, как мы искали рабочий мессенджер и в итоге остановились на Discord. Также опишу, как устроен наш сервер, и поделюсь подробным описанием функций, которые мы используем.
Почему Discord
Наша команда присоединилась к Allods Team в начале 2021 года, а до этого мы были петербургской инди-студией OctoBox Interactive. В процессе становления нас как команды мы в том числе прошли через этап поиска командного мессенджера. Когда мы выбирали его, у нас было несколько требований.
Мы хотели четко разграничить работу и личное время.
Мы не хотели работать с «неудобным» софтом.
В тот момент большинство команд использовали: Skype, Telegram, Slack.
Со Skype многие из нас уже были знакомы и в тот момент у него было очень много проблем — он мог подтормаживать, зависать и долго включаться. Что касается звонков — в нем достаточно сложно организовать групповой стихийный звонок: нужно добавить всех участников в контакты, организовать группу, потом менеджерить эти чаты и так далее.
У Telegram не было проблем с вылетами и тормозами, но у него были все те же трудности с групповыми звонками и многие использовали его в личных целях.
Slack вроде бы подходил по функциям, но мы были небольшой инди-командой, поэтому не могли позволить себе оплачивать платную версию. И там тоже были трудности с организацией групповых звонков. Поэтому от этого варианта мы тоже отказались.
Когда мы отмели эти варианты, то вспомнили про Discord. Некоторые из нас были с ним знакомы, но использовали его только для игр. Вот что привлекло нас в Discord.
Удобно работать с текстовыми каналами — можно создать сразу несколько чатов по разным темам и направлениям.
Легко собирать стихийные митинги — достаточно создать голосовой канал и при необходимости созвать в него всех.
Организация рабочего пространства — за счет гибкости системы ролей и каналов можно легко подстроить сервер под свои процессы.
Роли в Discord
В работе мы пользуемся всеми возможностями, которые дает Discord. В первую очередь это касается ролей — с их помощью мы разграничиваем права участников по текстовым и голосовым каналам, а также они помогают легко тэгировать разные отделы.
Все начиналось с трех ролей: GD, Code, Art. А сейчас у их уже 17! Этот рост в первую очередь связан с увеличением количества людей в команде — в начале нас было 15 человек, а теперь на сервере в Discord 84 человека. Тут без грамотного распределения ролей не обойтись.
Мы разделяем роли пользователей на три категории.
General, в нее входят:
admin — все, кто управляет сервером и занимается модерацией;
lead — руководители отделов, могут только модерировать сервер;
outsource — внештатные специалисты.
Developers:
под каждый отдел у нас есть отдельная роль!
Non-Core team, в нее входят:
внутренние студии;
студии партнеры.
Зачем под каждый отдел разработки иметь отдельную роль? Чтобы тэгать сразу всех, кто связан с определенным направлением работы в чатах. Также для разграничения по ролям мы используем иконки — это помогает быстро определить, чем занимается человек. Это особенно полезно при онбординге новых сотрудников, когда они еще не понимают, кто чем занимается.
Каналы
Для начала важно сказать, что категории каналов — это не внутреннее разделение, как это было с ролями, а полноценная фича Discord, при помощи которые можно группировать текстовое и голосовые каналы вместе. При этом права доступа можно настроить сразу для всей категории, что помогает в работе с большим количеством каналов — достаточно выделить сразу целую категорию и внести какое-то изменение, а не выбирать все по одному.
Мы добавляем эмодзи в названия текстовых каналов (к сожалению, голосовые каналы такой фичи не поддерживают) — это помогает нам с навигацией в Discord, визуальные образы найти глазами проще, чем строчку текста.
Что же касается наших каналов.
Первое, что встречает нового пользователя — это ???? welcome канал.
После получения первого набора прав, он может зайти на наш сервер.
Категория General. В ней находятся каналы, которые касаются жизни нашей команды. Тут могут обсуждать новости, касающиеся проекта и компании, ребята поздравляют друг друга с днем рождения и так далее.
???? announcement — основной новостной канал, там обычно можно прочитать самые важные и свежие новости;
???? general — общий канал для общения на темы, не связанные с разработкой проекта;
???? office — очень важный канал! С начала работы на удаленке мы стали отмечаться в отдельном канале, чтобы лучше понимать рабочий статус друг друга;
⏰ opozdun — все мы люди и всем нам порой свойственно опаздывать. Чтобы ни для кого это не было сюрпризом, мы оповещаем наших коллег об этом в этом канале.
Следующая категория каналов — Report.
???? PLACEHOLDER-report — отчеты о работе каждого отдела по отдельности.
В них отделы отчитываются, что сделали за определенный промежуток времени. Одно сообщение — один отчет (за день, период, неделю), а все вопросы по конкретному отчету можно обсудить в ветках.
Эти каналы нужны для прозрачности — они помогают людям из разных отделов понимать, что происходит в других командах, и как двигается разработка проекта.
Третья категория — DEV, которая полностью посвящена разработке проекта.
???? jenkins — позволяет отслеживать состояние наших билдеров. В случае успешных сборок выкладывается ссылка на артефакты, в случае ошибки — ссылка на лог сборки;
???? playtest — канал, посвященный плейтестам проекта: новые и старые сборки, баги, фидбек, самый жар разработки — все это обсуждается здесь;
???? dev-talks — обсуждение разработки проекта;
PLACEHOLDER-talks — отдельные текстовые каналы под каждый отдел разработки.
С аудио-каналами все устроено подобным образом:
несколько каналов для плейтестов, чтобы было удобнее собирать фидбек при большом количестве участников;
отдельный канал под каждое направление разработки;
дополнительные каналы для повседневных встреч.
Разговоры на нерабочие темы мы ведем в Off-Dev категории.
???? member — NSFW 21+, БОЛЬ, НЕПОТРЕБСТВО, канал который особо не модерируется, но все-таки есть несколько правил!
Мы не обсуждаем политику,религию и прочие вещи, которые могут привести к ненужным спорам и оскорблениям!
Мы не оскорбляем друг друга! Мы можем шутить, но не оскорблять!
???? food-talks — разговоры о еде, кухне и прочих связанных с этим темах.
???? music-talks — разговоры о музыке. Делимся тем, что слушаем, и советуем. И просто общаемся о музыке.
Также у нас есть отдельные категории под каждую нашу студию-партнера, которые находится на нашем проектном сервере Discord.
Дополнительные функции, которые мы используем
Треды или ветки
Треды работают примерно как в Slack — если нужно обсудить вопрос, мы создаем тред под изначальным сообщением, а не пишем в канал.
Ивенты
Это отличная функция, с помощью которой можно создавать события прямо в Discord, а не в календаре. Если участник нажмет кнопку «Заинтересован», то ему автоматически придет уведомление в Discord, когда событие начнется.
Боты
Сейчас мы пользуемся одним, а еще один в стадии активной разработки.
Jenkins — бот для работы с билдером.
Второй бот, который находится в разработке — это статус-бот. Он должен заменить чаты, в которых сотрудники отчитываются о собственном состоянии. Если сотрудник собирается, например, отойти на обед, то ему достаточно нажать на одну кнопку в этом боте, а тот автоматически задаст статус.
Нельзя сказать, что выбор корпоративного мессенджера — это чрезвычайно важное решение, которое определяет всю последующую работу над проектом. Тем не менее именно от мессенджера во многом зависит качество коммуникации с коллегами — важно, чтобы информация не терялась, а членам команды было просто удобно общаться.
На мой взгляд, Discord — это самый оптимальный вариант мессенджера: он не только стабильно работает, но и предоставляет все необходимые функции. Кроме того, его можно подстраивать под свои нужды, добавляя ботов и расширяя функциональность.
Комментарии (58)
UltimateOrb
26.10.2022 16:15+1Аллоды? Боже, я думал они давно загнулись...
M_AJ
26.10.2022 17:58Ну, на сайте MY.GAMES Аллодов нет. Возможно VK просто забыли о том, что у них есть такая команда, поэтому им и можно делать все, что Бог на душу положит :)
slonopotamus
26.10.2022 22:19VK просто забыли о том, что у них есть такая команда
M_AJ
27.10.2022 11:33На данный момент на сайте указано, что это VK, да и вряд ли такую сделку можно закрыть за месяц. Там один аудит перед продажей столько займет.
Vsevo10d
26.10.2022 22:26+3Я тоже немного в шоке, поскольку узнал о существовании этой игры лет пятнадцать назад, будучи студентом. Ее озвучивал наш академический хор, что было предметом вузовской гордости. А я тогда подрабатывал в институтской службе безопасности, и для нас это был предмет головной боли, потому что эти немолодые творческие интеллигенты иногда вечером собирались в актовом зале репетировать и заодно яростно бухать. Я правда сам какой-то жести не застал, но был наслышан от старших коллег про выбитые двери и прочее такое. Даааа, вот было время.
kenoma
26.10.2022 16:29+28В 22 году использовать мессенджер для работы, который не позволяет развернуть изолированный инстанс, это смело и безрассудно.
vahmurka
26.10.2022 16:50+7хорошо расписано, можно использовать и для других мессенджеров, спасибо ????
давно хотел спросить, в чём фишка группы "Отмечалка"? где юзеры пишут: "ушёл/пришёл/обед" и т.п. …
не первый раз встречаю в разных конторах такое, иногда даже требуют (????) туда писать, сам никогда не пишу туда ничего… ну пришёл/ушёл чел, что с того?!… никогда не читаю Отмечалку, если мне нужен чел, то пишу ему в личку или тегаю в других чатах (когда увидит, тогда увидит), если нужен срочно, то дёргаю в телеге или звоню… и никогда не видел, чтобы другие юзеры как-то реагировали в Отмечалке на чужие "пришёл"
ощущение, что это какой-то симулякр работы в офисе: "Хей, всем привет!… дарова чел… дарова… привет… держи пять…"… не так, как думаете? в чём прелесть/необходимость группы "Отмечалка"? кому/для чего она нужна?
DmitryMry
26.10.2022 19:02Во-первых, потому что если человек ушёл на обед или, например, к зубному, то незачем его дёргать — телефон у него вообще может быть выключен в это время. В этом же канале можно посмотреть, что человек писал.
Во-вторых, чтобы было видно, где человек — может он сегодня вообще не появлялся, или в отпуск ушёл два дня назад, или ещё чего-нибудь. Причин же может быть миллиард.
В-третьих, даёт дополнительный контроль над графиком работы сотрудников.
whalemare
27.10.2022 08:26+2Если человек куда-то ушел из рабочего места, он меняет статус у себя в профиле и это становится видно.
Если человек уходит в отпуск, он предупреждает всех за неделю/две и непосредственно перед выходом в чате, оставляя контакты человека к которому можно обратиться.
Согласен здесь с @vahmurka,такие каналы выглядят странно, когда есть более эффективные способы решения этих же задачozzyBLR
27.10.2022 10:48+3Микроменеджмент тоже хочет жить. Вот и ищет новые формы. В данном случае турникет на входе превратился в целых две группы. А человек, который это придумал, считает себя боженькой управления персоналом)
TheRaven
26.10.2022 17:04+25Корпоративный мессенджер должен быть 1) селфхостед 2) с доменной\LDAP авторизацией, всё остальное вторично.
Иначе в скором времени начнутся проблемы с управлением доступами и выяснением кто такой «SuperDisco237» и в каком отделе он работает.rionnagel
27.10.2022 00:45+2Очень спорно по 1 пункту. Особенно, если технические проблемы по нему решаются, а офис(ы)/датацентр(ы) например заполонили маскишоу, уносящие ваши сервера. Да и при любой стихийной проблеме, которая аффектит всю инфраструктуру - последнее, чего хочешь это лишить людей связи и непрерывно звонящий телефон.
Селфхостед конечно можно, если можешь гарантивать ему очень высокий sla. Географически распределенные сервера, тестирование любых изменений, нулевой даунтайм, своя белая as, много провайдеров, постоянный мониторинг и т.д.. Это очень дорого. А как решать проблемы с документами, видеороликами, записью совещайний, местом и т.д. это отдельная песня.
IDma88
26.10.2022 17:22Мы добавляем эмодзи в названия текстовых каналов (к сожалению, голосовые каналы такой фичи не поддерживают)
SnowBearRu
26.10.2022 17:44Я в Дискорде как пользователь , пока регестрировался, обплевался. То подтвердить учетку не могу, то уже все подтверждено , но не пускает. Только через тех поддержку, если такая регистрация на 3-5 дней да на 10 человек , лучше уж телега....
Lexicon
26.10.2022 19:01+3Справедливости ради в рядовом случае вы как раз можете через браузер по почте хоть одноразовые акки плодить, для некторых серверов даже почта не нужна. А телега потребует номер телефона
DGG
26.10.2022 19:44+1Учитывая как работает поиск в Дискорде - соболезную
someone_unimportant
27.10.2022 11:02+2Что именно вам не понравилось? Я наоборот после того, как попробовал поиск в Дискорде стал от поиска во всех остальных мессенджерах плеваться — нигде больше не видел такого удобного и функционального поиска. На работе заставляют Телеграм использовать — там вообще невозможно поиском ничего найти.
DGG
27.10.2022 11:23По части слова не ищет, только целое.
qw1
27.10.2022 12:22А кто ищет? Телеграм тоже не ищет.
Зато в дискорде есть поиск по диапазону дат, фильтры по отправителю, галочки «только посты с фото / с видео»DGG
27.10.2022 15:12В том же Телеграме по запросу "Пупки" будут найдены:
1) Пупкин
2) Пупкину
3) Пупкиным
4) ПупкинВася66642_всех_мам_в_кино_водил@пхнглуимглвнавхктулхурльехвгахнаглфхтагн.ком
В Дискорде по запросу "Пупки" не будет найдено ничего. По запросу "Пупкин" - только п.1. Другие грамматические формы надо перебирать ручками. А для поиска чего-то длинного типа п.4 его надо вбивать целиком.
Нужно найти найти е-мейл или какое-то другое длинное выражение по его известной части - дискорд так не умеет - страдай.
Телеграм, с жтой стороны тоже не идеален - он ищет по части слова, только если слово с него начинается ( по "упкин" ничего не найдёт. Но это хотя бы что-то)
qw1
27.10.2022 15:44Я тестировал в телеге не поиск заголовков каналов, а поиск в текстах сообщений (оно же нам надо для работы?).
И тут, если я набираю «Паймон», например, выдаётся 100500 сообщений с этим словом. А если «Пай» или «Паймо» — то ничего.DGG
27.10.2022 16:23ТГ ищет в тексте сообщений начало слова, но местами как то странно ( по "Пито" например ничего не выдал)
Первый скриншот - реальный кейс проблемы поиска в месседжерах, но не с работы, а с квеста. Квест был в Дискорде, по задачам нашедшему из участнику выдавались вышеприведённые коды, участники делились ими в Дискорде. И в какой-то момент эти коды надо было найти все. В Дискорде это была боль.
qw1
27.10.2022 16:29Если сравнивать с чем-то большим корпоративным, типа Microsoft Team Foundation Server, он тоже не ищет по частям слова. А вот Redmine уже ищет, как по префиксам, так и по любой части из середины.
DGG
27.10.2022 16:50Ну я собственно не за ТГ топлю, а просто про то, что поиск строго по целому слову - совсем плохо.
Идеальному рабочему месседжеру хорошо бы уметь в произвольную часть слова, а ещё лучше в регулярные выражения, ну хотя бы на уровне масок файлов ?*
qw1
27.10.2022 16:55Первый скриншот — реальный кейс проблемы поиска в месседжерах, но не с работы, а с квеста
Скорее всего, в телеге нижнее подчёркивание является разделителем, а не буквой слова. Поэтому для индексатора «tps_XXXXXX» — два разных слова. А в примере с Питоном используется стеммер русского языка.
Antra
26.10.2022 21:38+1Возможно пропустил, но как в итоге реализовали разделение корпоративного и личного?
А-ля другой аккаунт (как в Телеграме, к примеру)?
avelor
26.10.2022 21:52+6+1 к тому, что не селфхостед решение - решение сомнительное :) дискорд действительно неплох как корп мессенджер (лучше телеги), но вне периметра, нет интеграций с тем же лдап/saml, надо реализовывать контроль уволившихся, думать над утечками и т.п.. Из платных неплох ms teams.
Ну а селфхостед - рокетчат не так плох как его малюют (особенно платный) - интегрируется с онпремис bbb или jitsi, и всё удобненько. Убивает, что в бесплатном есть лимит на пуши, но можно скомпилять свои приложения на мобилки.
Маттермост тоже неплохой выбор. Из относительно экзотики, мне понравился бесплатный zulip (некий гибрид слака и мс тимс, как мне показалось).
Да и на отечественном рынке есть неплохие (с нюансами) решения, вроде express и dialog.
Alexsey
26.10.2022 21:57К тому что уже написали добавлю еще про одну болячку дискорда - интересно как быстро у вас найдется в конторе товарищ, который поведется на очередной фишинг в дискорде и засрет вам весь сервер спамом?
Vsevo10d
26.10.2022 22:31А там разве нет админских инструментов для предотвращения этого или быстрого устранения последствий? Это ж не вконтакт 2009 года, где после вайпа группы надо было вручную удалять все пятьсот альбомов с разноцветным Онотоле. Спрашиваю, потому что не знаю, создавал только игровые серверы на полтора человека и пользуюсь процентами 10-ю от функционала.
Alexsey
26.10.2022 23:03До недавнего времени только если заранее озаботиться каким-нибудь ботом у которого есть нужный функционал. Сейчас вроде появился AutoMod с какой-то анти-спам функциональностью, но оно доступно не для всех серверов. И если включено только уведомление, а не блокирование сообщений, то чистить придется руками.
p0isk
26.10.2022 22:11Собственные реализации дискор-сервера никому не встречались? Клиенты были, только их пользоваталей банили. Раз протокол известен, кто-то мог и сервер написать
Alexsey
26.10.2022 23:08+1Не совсем понятно какой в этом практический смысл. Это не игра какая-то, тратить неимоверные усилия по реверсу всего (весьма замороченного) протокола дискорда ради... чего? Мессенджеров с аналогичной функциональностью тьма, включая опен-сорс и self-hosted решения.
AlexGluck
27.10.2022 00:33Кто нибудь внедрял или встречал корпоративный сайт на протоколе матрикс? Интересует неограниченное количество уведомлений на мобильных устройствах, а то при использовании рокетчата только уведомления оплатить не получалось и не всегда это возможно.
qw1
27.10.2022 01:53+1Автор не упомянул важную фичу, касающуюся разделения рабочих и личных пространств: можно нарегать сколько угодно аккаунтов (номер телефона не требуется) и переключаться между ними в два клика, т.е. переавторизации, ввода пароля не требуется (в web версии по крайней мере так).
OrkBiotechnologist
27.10.2022 10:57Заместо за пол часа поднимаемых на своём сервере, опенсорсных RocketChat и Matrix выбрать Дискорд где:
Вас могут без повода забанить и снести вообще весь сервер, без возможности скачать от туда данные.
Где вы привязаны к томе не лежат ли серваки дискорда и есть ли к ним вообще доступ.
Где нету никакого шифрования и всё хранится в первозданном виде
Где соответственно кто угодно из модеров дискорда имеет доступ к любой вашей инфе.
К - Корпоративная Безопасность.
qw1
27.10.2022 12:36Наверное, в компании нет энтузиаста, который бы согласился установить и поддерживать сервер «в свободное от основной работы время».
Если бы такой и нашёлся, появляется риск завязать важные бизнес-процессы на одного человека.
А вот донести до руководства необходимость взять человека в штат (а лучше двух — на случай отпусков), только для того, чтобы снять перечисленные выми выше пункты, которые неизвестно, станут ли проблемами — это сложно. Не каждый руководитель пойдёт наверх с такой темой, зачем ему приносить начальству лишние проблемы/просьбы, с этим никто не любит ходить.FlashHaos
27.10.2022 14:03+1В компании my.games с двумя тысячами сотрудников нет инженеров сопровождения ит? Или хотя бы нет тендерного отдела, который закупит услугу у облачного провайдера?
qw1
27.10.2022 15:47Может это решение, принятое небольшой командой из 10-20 человек, и эскалировать его наверх, на уровень всего my.games, тот ещё геморой, который может затянуться на месяцы. А так — открыл в браузере, зарегистрировался и пользуйся.
FlashHaos
27.10.2022 18:14Тогда мне неясно, какое отношение решение группы из 20 человек имеет к компании, где они работают? А то в таком случае у меня в банке мы тоже «выбрали для коммуникаций» чат в вотсапе.
qw1
27.10.2022 21:01Заголовок врёт. А внутри статьи нигде не написано, что решение использовать дискорд имеет отношение к my.games.
Antra
27.10.2022 16:00+1Заместо за пол часа поднимаемых на своём сервере, опенсорсных RocketChat и Matrix
Вы полагаете, что поднятое за полчаса опенсоурсное решение достаточно надежно для корпоративной среды, а риски "вас выгонят" неимоверно выше, чем "упал сервер или даже ЦОД целиком (каналы и т.п.) и вся компания осталась совсем без взаимодействия"?
Или вы в эти полчаса включили также и настройку резервирования (в т.ч. с историей сообщений, аттачей и т.п.), автоматическое переключение и прочее?
koss4ok
28.10.2022 07:50дискорд действительно неплох как корп мессенджер (лучше телеги), но вне периметра, нет интеграций с тем же лдап/saml, надо реализовывать контроль уволившихся, думать над утечками и т.п.
Это же решается простейшим ботом. Возможно кому-то подкину идею для проекта — бот для дискорда, который подтягивает данные из AD или любой другой системы и следит за жизнью сотрудников:- Добавляет/удаляет сотрудников
- Управляет ролями
Возможно даже можно по умолчанию регать аккаунт по корп. почте с помощью этого ботаqw1
28.10.2022 09:11Думаю, такой бот не станет популярным. Потому что если станет, сам дискорд начнёт шевелиться в сторону того, как бы продать это корпорациям в рамках какой-нибудь подписки типа «Discord Enterprise»
InstaHeat
С 18 года пользуюсь дискордом, и удобнее ничего не видел. Но обычно в компаниях любят обмазаться каким-нибудь скайпом или рокет-чатом. К сожалению, далеко не все готовы смотреть шире, и использовать "геймерский" мессенджер для работы. Даже если он далеко не геймерский.
slavanikolsky
рокет-чат, столкнулся... подрабатывал в компании, требование их службы безопасности все общение только в рокет-чат, рокет-чат они разместили на своем сервере, после каждого обновления он отваливался. тот еще секс был.
tandzan
Дискорд вот вообще не запускается, если вышло обновление. Поставил дискорд со стабильного репозитория линукс - жди неделями апдейта или красноглазь.
khajiit
Ну вот не надо, скачать с их сайта rpm/deb — не такое уж и красноглазие.
А вообще, что что 20 лет назад со всем правом называлось стабильным, сейчас, де-факто, является протухшим. Темп ускорился.
rionnagel
rpm в сделку не входил (не всегда по крайне мере).
таргз нормально работает кстати, ни с одним обновлением проблем не было. При необходимости скачать с сайта и "безалаберно, не обращая ни на что внимание" переписать поверх старого - ни разу ничего не сломалось (не смотря на ожидания этого). Но может мне просто повезло.
khajiit
Да, rpm отсмутствует… да и не вспомнить уже, был ли мальчик на самом деле — последний раз скачивать дискорд приходилось лет 5 назад, браузерная версия вполне себе работает, включая аудио, видео и показ экрана.
Ну, у них электрон… райнтайм внутри, минимум внешних зависимостей.
qw1
Зачем нужно приложение, если браузерная версия вообще ничем не уступает.
evnuh
при том, что приложение - это браузерная версия, поставляемая с браузером :)
Для себя нашёл только один плюс - у приложения больше прав, поэтому хоткей для Push-To-Talk работает всегда, а в браузерной версии только когда окно в фокусе.
khulster
Проблема не в "шире смотреть". Проблема в организации и управлении доступами. У вас 2000 человек сотрудников. Поэтому с точки зрения организации вас в первую очередь интересует мессенджер с доменной или другой LDAP авторизацией, чтобы интегрировать свою орг-структуру внтурь мессенджера и предоставлять в нем аккаунт новому сотруднику искаропки с у же готовым пресетом доступов и правил. И вот уже перечень подходящих именно для организации работы мессенджеров драматически сузился. И это только один из многих факторов.
В случае стартапа на <100 человек другой коленкор и там действительно можно выбрать любой, удобный конкретно вас инструмент.