На чем написан discord
Перейти к содержимому

На чем написан discord

  • автор:

Discord

Discord — онлайн-сервис c функциями обмена мгновенными сообщениями, чата, голосовых и видеоконференций. Изначально сервис был создан для компьютерных геймеров, но в настоящее время всё чаще используется и в других областях. Discord можно использовать как веб-приложение или с проприетарным клиентским программным обеспечением во всех основных операционных системах. Разработчики Discord утверждают, что у сервиса более 250 миллионов зарегистрированных пользователей.

  • 1 Идея и разработка
  • 2 Публикация
  • 3 Изменения 2016 года
  • 4 Изменения 2018 года
  • 5 Изменения 2020 года
  • 6 Изменения 2021 года
  • 7 Охват
  • 8 Discord Store
  • 9 Критика
  • 10 Примечания
  • 11 Ссылки

Идея и разработка

Приложение Discord было разработано для параллельного использования с компьютерными играми, в первую очередь для обмена информацией через чат. Но Discord также позволяет совершать голосовые и видеозвонки с дополнительной возможностью совместного использования всего экрана или отдельных окон.

Discord был задуман Джейсоном Цитроном, основателем OpenFeint, игровой платформы для мобильных игр, и Станиславом Вишневским, основателем Guildwork, ещё одной игровой платформы. Цитрон продал OpenFeint компании GREE в 2011 году за 104 млн долларов, вместе с которой в 2012 году основал Hammer & Chisel, студию по разработке игр. Их первым продуктом была Fates Forever, выпущенная в 2014 году, которая, как предполагал Цитрон, станет первой игрой MOBA («многопользовательская онлайновая боевая арена») на мобильных платформах, но разработка не имела коммерческого успеха [3] .

По словам Цитрона, в процессе работы он заметил, насколько сложно его команде было разработать тактику в таких играх, как Final Fantasy XIV и League of Legends, с доступным программным обеспечением для передачи голоса по IP (VoIP). Это привело к разработке вспомогательного чата с упором на удобство использования и с минимальным влиянием на производительность.

Для разработки Discord компания Hammer & Chisel получила дополнительное финансирование от YouWeb’s 9+ Incubator, который ранее также финансировал стартап Hammer & Chisel, а также от Benchmark Capital и Tencent.

Discord содержит почти все функции, которые предоставляют платформы, такие как Skype или TeamSpeak. Например, можно создавать бесплатные общедоступные «серверы» с голосовыми и текстовыми каналами. Термин «сервер» относится к набору ролей (roles) с различными разрешениями, которые администраторы могут назначать пользователям и каналам связи (channels), которые используются сообществом.

Все данные проходят через серверы Discord Inc., чтобы предотвратить раскрытие IP-адреса другим пользователям, так как это создает риски, например, DDoS-атаки. Поскольку все данные находятся в одном месте, к ним также можно получить доступ с любого устройства. Discord можно использовать со всеми основными операционными системами: Windows, macOS , Linux , Android, iOS, а также через веб-браузер.

Публикация

Discord был выпущен в мае 2015 года под доменным именем discordapp.com. По словам Цитрона, не предпринималось никаких конкретных мер для привлечения целевой аудитории, но некоторые сабреддиты (тематические разделы сайтов), связанные с играми, быстро начали заменять свои ссылки IRC ссылками Discord. Сервис Discord широко используется игроками в киберспорте и LAN-турнирах. Компания извлекла выгоду из отношений со стримерами Twitch и сообществами сабреддитов Diablo и World of Warcraft [4] .

Изменения 2016 года

В январе 2016 года Discord получила дополнительное финансирование в размере 20 миллионов долларов, включая инвестиции от WarnerMedia (тогда TimeWarner). В 2019 году WarnerMedia Investment Group продала свою долю, поскольку была закрыта после приобретения компанией AT&T.

В обновлении от 28 июля 2016 года были добавлены голосовые вызовы, между отдельными пользователями и в групповые.

В обновлении от 3 ноября 2016 года добавлена ​​​​возможность реагирования на сообщения других пользователей смайликами с помощью так называемых «реакций смайликов».

8 декабря 2016 года был выпущен «GameBridge», SDK, который позволяет интегрировать Discord в приложение.

В январе 2017 года была платная подписка «Discord Nitro». Членам Nitro были предложены разнообразные бонусы и стали доступны некоторые расширенные функции.

С 5 октября 2017 года общение стало возможным с помощью видеозвонков в дополнение к обычным голосовым звонкам и сообщениям.

Изменения 2018 года

В апреле 2018 года Microsoft объявила, что предоставит поддержку Discord для пользователей Xbox Live, что позволит им связать свои учетные записи Discord и Xbox Live и подключиться к списку друзей Xbox Live через Discord. В декабре 2018 года компания объявила, что привлекла 150 миллионов долларов финансирования при оценке капитализации в 2 миллиарда долларов. Раунд финансирования возглавила Greenoaks Capital при участии Firstmark, Tencent , IVP, Index Ventures и Technology Opportunity Partners.

Изменения 2020 года

В марте 2020 года Discord изменил свой девиз с «Чат для геймеров» на «Чат для сообществ и друзей» и представил шаблоны серверов. Это было сделано в ответ на резкое увеличение числа пользователей во время пандемии COVID-19.

В апреле 2020 года имя пользователя Discord в Твиттере было изменено с @discordapp на @discord. Позже, в мае 2020 года, Discord изменил свой основной домен с discordapp.com на discord.com.

В июне 2020 года компания объявила, что смещает фокус деятельности с видеоигр и предлагает более универсальный, полнофункциональный клиент для общения и чата, представив свой новый слоган «Ваше место для беседы» и обновленный веб-сайт. Другие запланированные изменения включают сокращение количества игровых шуток, используемых в клиенте, улучшение пользовательского опыта адаптации и увеличение ёмкости и надёжности сервера. Компания объявила, что получила дополнительные 100 миллионов долларов инвестиций для поддержки этих изменений [5] [6] .

Изменения 2021 года

Логотип Discord в 2015—2021 годах

В марте 2021 года Discord объявила о наёме своего первого финансового директора, бывшего финдиректора Pinterest Томаша Марцинковски. Discord удвоил свою ежемесячную базу пользователей примерно до 140 миллионов в 2020 году. Начавшиеся переговоры с Microsoft, были прерваны из-за решения остаться независимым. Вместо этого Discord запустил еще один инвестиционный раунд в апреле 2021 года. Среди инвесторов была Sony Interactive Entertainment; с намерением интегрировать часть сервисов Discord с PlayStation Network к 2022 году.

В июле 2021 года Discord приобрела Sentropy, компанию, специализирующуюся на использовании систем искусственного интеллекта для мониторинга онлайн-сетей на предмет оскорбительных сообщений, чтобы выявлять и отсекать проблемных пользователей.

В преддверии нового раунда финансирования в августе 2021 года Discord сообщила о выручке за 2020 год в размере 130 миллионов долларов, втрое больше по сравнению с прошлым годом. Компания на тот момент оценивалась в 15 миллиардов долларов. Цитрон сообщил, что компания все ещё ведёт переговоры с несколькими потенциальными покупателями, включая всех основных производителей игровых консолей. Это обеспечило компании дополнительные инвестиции в размере 500 млн долларов США в сентябре 2021 года.

В сентябре 2021 года Google сообщила о прекращении разработки и поддержки двух самых популярных музыкальных ботов, используемых в Discord — «Groovy» и «Rythm», которые были установлены примерно на 36 миллионах серверов. Эти боты позволяли пользователям воспроизводить песни с YouTube без рекламы. Две недели спустя Discord в партнерстве с YouTube протестировал функцию «Смотрите вместе», которая позволяет пользователям Discord вместе смотреть видео на YouTube.

Охват

Hammer & Chisel объявила, что у Discord было 3 млн пользователей в январе 2016 года и 11 млн пользователей в июле 2016 года с ежемесячным приростом в 1 млн пользователей.

В декабре 2016 года разработчики объявили, что в Discord теперь зарегистрировано более 25 млн пользователей, которые отправляют более 100 млн сообщений в день.

В мае 2016 года, через год после его запуска сервиса, журнал PC Gamer назвал Discord лучшим сервисом VoIP.

В мае 2017 года Discord исполнилось два года, компания сообщила, что 45 миллионов зарегистрированных пользователей ежедневно отправляют 200 миллионов сообщений. Ежемесячный трафик данных, генерируемый только голосовым чатом, составляет 16 петабайт.

По состоянию на декабрь 2017 года платформа сообщила о 87 млн зарегистрированных пользователей, из которых 14 млн активны ежедневно. Кроме того, приложение доступно в 130 странах и ежемесячно отправляется 9,5 млрд сообщений.

В мае 2018 года количество зарегистрированных пользователей увеличилось до 130 млн.

В марте 2019 года Discord объявил, что у него 200 миллионов зарегистрированных пользователей.

По состоянию на январь 2020 года Discord сообщил о более чем 250 млн зарегистрированных пользователей, 56 млн активных пользователей в месяц и 963 млн ежедневных текстовых сообщений [7] .

Discord Store

В августе 2018 году для 50 тысяч канадских пользователей сервиса был запущен онлайн-магазин Discord Store, в котором игры можно было покупать в виде загружаемых файлов. В октябре магазин был запущен в бета-версии по всему миру. Магазин начинался с 80 игр, некоторые из которых были эксклюзивными. Цена составляла десять долларов США в месяц. В ходе опроса разработчиков игр 6 % респондентов заявили, что пользуются магазином. В магазин было вложено 150 млн долларов США, среди инвесторов были Tencent, Firstmark, IVP, Index Ventures, Technology Opportunity Partners и Greenoaks Capital. Хотя магазин был менее известен по сравнению с другими аналогичными платформами, ему удалось привлечь около 200 миллионов пользователей Discord. Магазин был разработан, чтобы привлечь разработчиков, позволяя им получать 90 % прибыли от продажи своих продуктов. По этому показателю Discord опередил многих конкурирующих ритейлеров: Epic Games Store предлагала разработчикам 88 %, а Steam — только 70 %.

12 сентября 2019 года Discord объявил о прекращении работы магазина Discord из-за недостаточного спроса. 15 октября 2019 года все игры были удалены и больше не доступны пользователям. Уже купленные через Discord Store игры остались пригодными для использования.

Критика

Политика конфиденциальности Discord разрешает компании передавать, собирать и обрабатывать все чаты, сообщения и другие данные в незашифрованном виде для продажи. Соглашаясь с условиями использования, пользователю прямо разрешается отслеживать и хранить информацию из прямых сообщений или отправленных изображений и голосовых чатов. Кроме того, все данные могут быть перенесены на американские серверы. Таким образом, Discord не гарантирует защиту персональных данных, требуемую GDPR, и, следовательно, не соответствует требованиям GDPR.

Исследователь экстремизма Джулия Эбнер, работающая в Институте стратегического диалога, подвергла критике тот факт, что правые экстремисты общаются в сети через Discord. Из-за возможных иерархий, таких как распределение разных ролей, платформа организации пользуется популярностью у некоторых неонацистов. В 2017 году через Discord была организована демонстрация правых экстремистов в Шарлоттсвилле (штат Верджиния). Discord отреагировал на критику, заблокировав упомянутые аккаунты и удалив «сервер».

Примечания

  1. Vishnevskiy, StanislavHow Discord Scaled Elixir to 5,000,000 Concurrent Users(англ.). DiscordApp (6 июня 2017). Дата обращения: 15 декабря 2017.Архивировано 26 апреля 2020 года.
  2. Nowack, MattUsing Rust to Scale Elixir for 11 Million Concurrent Users(англ.). Discord Blog. Discord Inc. (17 мая 2019). Дата обращения: 7 июня 2019.Архивировано 26 апреля 2020 года.
  3. Rao, LeenaJapanese Company GREE Buys Mobile Social Gaming Platform OpenFeint For $104 Million In Cash(неопр.) . TechCrunch (April 21, 2011). Дата обращения: 21 июня 2017.Архивировано 5 июля 2017 года.
  4. James Brightman.Jason Citron lands $20m for Discord(неопр.) . gamesindustry.biz (26 января 2016). Дата обращения: 8 октября 2016.Архивировано 18 июня 2016 года.
  5. Шевкун, Михаил.Discord перестанет быть платформой только для геймеров(неопр.) . Игромания (2 июля 2020). Дата обращения: 2 июля 2020.Архивировано 2 июля 2020 года.
  6. Воробьёв, Геннадий.Discord отходит от своих геймерских корней(неопр.) . StopGame.ru (1 июля 2020). Дата обращения: 2 июля 2020.Архивировано 3 июля 2020 года.
  7. Ian Sherr.Discord, Slack for gamers, tops 250 million registered users(англ.). CNET (13 мая 2019). Дата обращения: 25 мая 2020.Архивировано 22 февраля 2020 года.

Ссылки

Данная статья имеет статус «готовой». Это не говорит о качестве статьи, однако в ней уже в достаточной степени раскрыта основная тема. Если вы хотите улучшить статью — правьте смело!

  • Знание.Вики:Cite web (не указан язык)
  • Знание.Вики:Статьи без ссылки на Викисклад
  • Программное обеспечение по алфавиту
  • Технологии
  • Все статьи
  • Программы мгновенного обмена сообщениями

Как Discord одновременно обслуживает 2,5 млн голосовых чатов с помощью WebRTC

С самого начала мы так спланировали инженерные и продуктовые решения, чтобы Discord хорошо подходил для голосовых чатов во время игры с друзьями. Эти решения позволили сильно масштабировать систему, обладая небольшой командой и ограниченными ресурсами.

В статье рассматриваются различных технологии, которые использует Discord для аудио/видеочатов.

Для ясности всю группу пользователей и каналов мы будем называть «группа» (guild) — в клиенте они называются «серверами». Вместо этого здесь термин «сервер» относится к нашей серверной инфраструктуре.

Главные принципы

Каждый аудио/видеочат в Discord поддерживает много участников. Мы наблюдали, как в больших групповых чатах тысяча человек разговаривают по очереди. Такая поддержка требует клиент-серверной архитектуры, потому что одноранговая пиринговая сеть становится непомерно дорогой при увеличении числа участников.

Маршрутизация сетевого трафика через серверы Discord также гарантирует, что ваш IP-адрес никогда не виден — и никто не запустит DDoS-атаку. У маршрутизация через серверы есть и другие преимущества: например, модерация. Администраторы могут быстренько отключить звук и видео нарушителям.

Клиентская архитектура

Discord работает на многих платформах.

  • Веб (Chrome/Firefox/Edge и т. д.)
  • Автономное приложение (Windows, MacOS, Linux)
  • Телефон (iOS/Android)

Аудио и видео в Discord работает на WebRTC. Таким образом, браузерное приложение полагается на реализацию WebRTC в браузере. Однако приложения для десктопов, iOS и Android используют единый мультимедийный движок C++, построенный поверх собственной библиотеки WebRTC, специально адаптированной к потребностям наших пользователей. Это означает, что некоторые функции в приложении работают лучше, чем в браузере. Например, в наших нативных приложениях мы можем:

  • Обойти приглушение громкости в Windows по умолчанию, когда все приложения автоматически приглушаются при использовании гарнитуры. Это нежелательно, когда вы с друзьями пошли в рейд и координируете действия в чате Discord.
  • Использовать собственный регулятор громкости вместо глобального микшера операционной системы.
  • Обрабатывать исходные аудиоданные для обнаружения голосовой активности и трансляции звука и видео в играх.
  • Уменьшате пропускную способность и потребление ресурсов CPU в периоды тишины — даже в самых многочисленных голосовых чатов в любой момент времени одновременно говорят всего несколько человек.
  • Обеспечить общесистемную функциональность режима «рации» (push to talk).
  • Отправлять вместе с аудио- видеопакетами дополнительную информацию (например, индикатор приоритета в чате).

В Discord голосовая и видеосвязь инициируется путём ввода голосового канала или вызова. То есть связь всегда инициируется клиентом — это снижает сложность клиентской и серверной части, а также повышает устойчивость к ошибкам. В случае сбоя инфраструктуры участники могут просто повторно подключиться к новому внутреннему серверу.

Под нашим контролем

Контроль нативной библиотеки позволяет реализовать некоторые функции иначе, чем в браузерной реализации WebRTC.

Во-первых, WebRTC полагается на протокол Session Description Protocol (SDP) для согласования аудио/видео между участниками (до 10 КБ на каждый обмен пакетами). В собственной библиотеке для создания обоих потоков — входящего и исходящего — используется API более низкого уровня от WebRTC ( webrtc::Call ). При подключении к голосовому каналу происходит минимальный обмен информацией. Это адрес и порт сервера бэкенда, метод шифрования, ключи, кодек и идентификация потока (около 1000 байт).

webrtc::AudioSendStream* createAudioSendStream( uint32_t ssrc, uint8_t payloadType, webrtc::Transport* transport, rtc::scoped_refptr audioEncoderFactory, webrtc::Call* call) < webrtc::AudioSendStream::Config config; config.rtp.ssrc = ssrc; config.rtp.extensions = >; config.encoder_factory = audioEncoderFactory; const webrtc::SdpAudioFormat kOpusFormat = ; config.send_codec_spec = webrtc::AudioSendStream::Config::SendCodecSpec(payloadType, kOpusFormat); webrtc::AudioSendStream* audioStream = call->CreateAudioSendStream(config); audioStream->Start(); return audioStream; >

Кроме того, для определения наилучшего маршрута между участниками WebRTC использует Interactive Connectivity Establishment (ICE). Поскольку у нас каждый клиент подключается к серверу, нам не нужен ICE. Это позволяет обеспечить гораздо более надёжное соединение, если вы находитесь за NAT, а также сохранить ваш IP-адрес в секрете от других участников. Клиенты периодически пингуются, чтобы файрвол сохранял открытое соединение.

Наконец, WebRTC использует Secure Real-time Transport Protocol (SRTP) для шифрования носителей. Ключи шифрования устанавливаются с помощью протокола Datagram Transport Layer Security (DTLS) на основе стандартного TLS. Встроенная библиотека WebRTC позволяет реализовать собственный транспортный уровень с помощью webrtc::Transport API.

Вместо DTLS/SRTP мы решили использовать более быстрое шифрование Salsa20. Кроме того, мы не отправляем аудиоданные в периоды тишины — частое явление, особенно в больших чатах. Это приводит к значительной экономии пропускной способности и ресурсов CPU, однако и клиент, и сервер должны быть готовы в любой момент прекратить приём данных и переписать порядковые номера аудио/видеопакетов.

Поскольку веб-приложение использует браузерную реализацию WebRTC API, тут нельзя отказаться от SDP, ICE, DTLS и SRTP. Клиент и сервер обмениваются всей необходимой информацией (менее 1200 байт при обмене пакетами) — и у клиентов на основе этой информации устанавливается сессия SDP. Бэкенд отвечает за устранение различий между десктопными и браузерными приложениями.

Архитектура бэкенда

На бэкенде работает несколько сервисов для голосовых чатов, но мы сосредоточимся на трёх: Discord Gateway, Discord Guilds и Discord Voice. Все наши сигнальные серверы написаны на Elixir, что позволяет многократно повторно использовать код.

Когда вы в сети, ваш клиент поддерживает соединение WebSocket к шлюзу Discord Gateway (мы называем его шлюзовым подключением WebSocket). Через это соединение ваш клиент получает события, связанные с группами и каналами, текстовые сообщения, пакеты присутствия и т. д.

При подключении к голосовому каналу статус подключения отображается объектом состояния голосовой связи. Клиент обновляет этот объект по шлюзовому подключению.

defmodule VoiceStates.VoiceState do @type t :: % < session_id: String.t(), user_id: Number.t(), channel_id: Number.t() | nil, token: String.t() | nil, mute: boolean, deaf: boolean, self_mute: boolean, self_deaf: boolean, self_video: boolean, suppress: boolean >defstruct session_id: nil, user_id: nil, token: nil, channel_id: nil, mute: false, deaf: false, self_mute: false, self_deaf: false, self_video: false, suppress: false end

При подключении к голосовому каналу вам назначают один из серверов Discord Voice. Он отвечает за передачу звука каждому участнику канала. Все голосовые каналы в группе назначаются одному серверу. Если вы первый в чате, сервер Discord Guilds отвечает за назначение сервера Discord Voice всей группе с помощью описанного ниже процесса.

Назначение сервера Discord Voice

Каждый сервер Discord Voice периодически сообщает о своём состоянии и нагрузке. Эта информация помещается в систему обнаружения сервисов (мы используем etcd), как обсуждалось в предыдущей статье.

Сервер Discord Guilds следит за системой обнаружения сервисов и назначает группе наименее используемый сервер Discord Voice в данном регионе. Когда он выбран, все объекты состояния голосовой связи (также поддерживаемые сервером Discord Guilds) передаются на сервер Discord Voice, чтобы тот мог настроить переадресацию аудио/видео. Клиенты уведомляются о выбранном сервере Discord Voice. Тогда клиент открывает второе соединение WebSocket с голосовым сервером (мы называем его голосовым соединением WebSocket), которое используется для настройки переадресации мультимедиа и индикации речи.

Когда в клиенте отображается статус Awaiting Endpoint, это означает, что сервер Discord Guilds ищет оптимальный сервер Discord Voice. Сообщение Voice Connected означает, что клиент успешно обменялся пакетами UDP с выбранным сервером Discord Voice.

Сервер Discord Voice содержит два компонента: сигнальный модуль и блок ретрансляции мультимедиа, называемый блоком избирательной пересылки, SFU (selective forwarding unit). Сигнальный модуль полностью контролирует SFU и отвечает за генерацию идентификаторов потоков и ключей шифрования, перенаправление индикаторов речи и т. д.

Наш SFU (на C++) отвечает за направление аудио- и видеотрафика между каналами. Он разработан своими силами: для нашего конкретного случая SFU обеспечивает максимальную производительность и, таким образом, самую большую экономию. При модерации нарушителей (отключение звука на сервере), их аудиопакеты не обрабатываются. SFU также работает мостом между нативными и браузерными приложениями: он реализует транспорт и шифрование и для браузера и для нативных приложений, преобразуя пакеты в процессе передачи. Наконец, SFU отвечает за обработку протокола RTCP, который используется для оптимизации качества видео. SFU собирает и обрабатывает отчёты RTCP от получателей — и уведомляет отправителей, какая полоса доступна для передачи видео.

Отказоустойчивость

Поскольку напрямую из интернета у нас доступны только сервера Discord Voice, речь пойдёт о них.

Сигнальный модуль непрерывно контролирует SFU. Если тот сбоит, он мгновенно перезапускается с минимальной паузой в обслуживании (несколько потерянных пакетов). Состояние SFU восстанавливается сигнальным модулем без какого-либо взаимодействия с клиентом. Хотя сбои SFU редки, мы используем тот же механизм для обновления SFU без перерывов в обслуживании.

Когда падает сервер Discord Voice, он не отвечает на пинг — и удаляется из системы обнаружения сервисов. Клиент также замечает сбой сервера из-за разрыва голосового соединения WebSocket, тогда он запрашивает пинг голосового сервера через шлюзовое соединение WebSocket. Сервер Discord Guilds подтверждает сбой, консультируется с системой обнаружения сервисов и назначает группе новый сервер Discord Voice. Затем Гильдии Discordов отправляют все объекты состояния голоса на новый голосовой сервер. Все клиенты получают уведомление о новом сервере и подключаются к нему для запуска настройки мультимедиа.

Довольно часто серверы Discord Voice попадают под DDoS (мы видим это по быстрому увеличению входящих IP-пакетов). В этом случае мы выполняем такую же процедуру, как при сбое сервера: удаляем его из системы обнаружения сервисов, выбираем новый сервер, переводим на него все объекты состояния голосовой связи и уведомляем клиентов о новом сервере. Когда DDoS-атака утихает, сервер возвращается обратно в систему обнаружения служб.

Если владелец группы решает выбрать новый регион для голоса, мы выполняем очень похожую процедуру. Сервер Discord Guilds выбирает наилучший доступный голосовой сервер в новом регионе, консультируясь с системой обнаружения сервисов. Затем он переводим на него все объекты состояния голосовой связи и уведомляем клиентов о новом сервере. Клиенты разрывают текущее соединение WebSocket со старым сервером Discord Voice и создают новое соединение с новым сервером Discord Voice.

Масштабирование

Вся инфраструктура Discord Gateway, Discord Guilds и Discord Voice поддерживает горизонтальное масштабирование. Discord Gateway и Discord Guilds работают в облаке Google.

У нас более 850 голосовых серверов в 13 регионах (размещёнными более чем в 30 дата-центрах) по всему миру. Такая инфраструктура обеспечивает большую избыточность на случай сбоев в дата-центрах и DDoS. Мы работаем с несколькими партнёрами и используем свои физические серверы в их дата-центрах. Совсем недавно добавили регион Южной Африки. Благодаря инженерным усилиям как в клиентской, так и в серверной архитектуре, теперь Discord способен обслуживать одновременно более 2,6 миллиона пользователей голосового чата с исходящим трафиком более 220 Гбит/с и 120 млн пакетов в секунду.

Что дальше?

Мы постоянно следим за качеством голосовой связи (метрики поступают с клиентской стороны на серверы бэкенда). В будущем эта информация поможет в автоматическом обнаружении и устранении деградаций.

Хотя мы запустили видеочат и скринкасты год назад, но сейчас их можно использовать только в личных сообщениях. По сравнению со звуком, видео требует значительно большей мощности CPU и пропускной способности. Задача состоит в том, чтобы сбалансировать объём пропускной способности и ресурсов CPU/GPU, используемых для обеспечения наилучшего качества видео, особенно когда группа геймеров в канале находится на разных устройствах. Решением проблемы может стать технология масштабируемого видеокодирования Scalable Video Coding (SVC), расширение стандарта H.264/MPEG-4 AVC.

Для скринкастов нужно ещё больше полосы, чем для видео, из-за более высокого FPS и разрешения, чем у обычной веб-камеры. Мы сейчас работаем над поддержкой аппаратное кодирования видео в десктопном приложении.

  • Высокая производительность
  • Мессенджеры
  • Софт
  • Социальные сети и сообщества
  • Звук

discord

Здравствуйте, мы с друзьями открыли discord сервак, и мы очень любим следить за новостями особенно через stopgame и хотели бы иметь возможность добавить бота для получения новостей, можно ли это сделать, и если да то как?

23 марта 2021 408 0

Привет. Меня инетересует такая функция как «Поиск комнаты», то есть при заходе в канал поиска игрока перекидует в свободный канал где есть люди. К примеру, я ищу команду, я один. Захожу в канал поиска и меня кидает в комнату где уже сидят 5 человек.Хотелось бы узнать какие боты могут это реализовать…

18 февраля 2021 592 0

У меня на Discord-сервере есть 2 Boost’a 1-ого уровня и я хочу поставит себе фон. Для ссылки-приглашения на свой сервер. Как это сделать?

19 января 2021 1115 2
Есть ли дискорд у Стопгейм? Если да то скиньте ссылку на приглашение.
15 января 2021 715 4

Здравствуйте! У меня возник небольшой вопрос. Я делаю дискорд сервер, и я бы хотел чтобы новости с вашего сайта приходили в мой дискорд сервер. Как это сделать? P.S. Мне на самом деле было бы удобней узнать где получить ссылку на RSS ленту

29 ноября 2020 752 2

Большинство завсегдатаев SG, как и все остальные люди, занимались говноедством в какой-то период своей жизни. Что я имею ввиду? Все мы играли в дотки, кс-ики, всякие калавдутия и прочие онлайн — дро*ильни. И все мы знаем, что найти чат по конкретной игре не составляет никакого труда. Но если сесть на…

19 августа 2020 1790 9

Вопрос оглашён выше и напрямую связан с расторжением связей между SG и Бункером («StopGame» когда-то).

11 мая 2020 35K 4

Это какой-то ад. Вообщем дело было так: Надо мне игру показать другу. Может быть даже пройти её вместе. Да вот только у друга есть возможность смотреть только с телефона. Ну казалось бы, что может пойти не так? Да всё может пойти не так. Основная проблема заключается в том, что на телефоне стрим…

29 сентября 2019 1263 2
А как на своём Discord-сервере поменять в теге значок вместо решёток? Как на этом скриншоте
18 августа 2019 346 2

Я в Discord’e включаю Демонстрацию экрана и я захватывают на пр пер окно проигрывателя с фильмом в меня показывает изображение, а на самом Демонстрации не показывает только звук, а когда захватываю весь рабочий стол изображения показывает. Скажите пожалуйста в чём проблема? P.S. У меня если что стоит Windows 7. Ultimate

18 августа 2019 673 1

А скажите. Когда пишу заметки в Discord’e когда ты открываешь досье о человеке. И у меня вопрос. А заметку видит только я? Или ещё и пользователь где была написана заметка?

19 июня 2019 316 0

А почему Discord перестал загружать не все Smile которые я загрузил вместо них пустые квадратики, а при отправке отправляется ярлык виде порванной бумажки!

15 июня 2019 356 2

А скажите мне пожалуйста, а почему в Discord’e в мобильной версии есть редактор фото когда ты готовишь установить в качестве Avatar’ки, а в компьютерной версии нету?

25 апреля 2018 4336 2

Хочется поиграть в сидж в команде, а не в сливаться в одиночестве. Был найден данный вопрос, но ссылка уже устарела. Кто то может акутальную ссылку на канал дискорда?

На чем написан discord

Установка библиотеки discord.py Discord бот на Python

Для создания Discord бота на Python вам нужно установить библиотеку discord.py. Эта библиотека предоставляет простой способ взаимодействия с API Discord и создания ботов.

Вы можете установить библиотеку, используя pip, командой:

pip install discord.py

Создание Discord бота

Регистрация бота Создание Discord бота

Для создания Discord бота на Python вам нужно зарегистрировать его в Discord Developer Portal. Этот портал предоставляет API ключ, который позволяет вашему боту взаимодействовать с серверами Discord.

Регистрация бота

  • Зайдите на сайт Discord Developer Portal
  • Создайте новое приложение
  • На странице настроек приложения выберите раздел «Bot»
  • Нажмите на кнопку «Add Bot» и следуйте инструкциям для создания бота
  • Скопируйте токен вашего бота. Этот токен нужен для запуска вашего бота

Создание Discord бота

Написание кода бота Создание Discord бота

Создайте файл с именем bot.py и напишите в нем следующий код:

Этот код создает бота, который будет отвечать на команду «!hello» и отправлять сообщение «Hello, World!»

Выберите тип авторизации «OAuth2»

  • В разделе «Scopes» выберите «bot».
  • В разделе «Bot permissions» выберите необходимые разрешения для вашего бота. Например, если ваш бот должен иметь доступ к текстовым каналам и голосовым каналам, выберите соответствующие разрешения.
  • Скопируйте ссылку, которую создало приложение, и перейдите по этой ссылке в браузере.

Выберите сервер, на который вы хотите добавить бота, и нажмите на кнопку «Authorize»rld!». Замените «token» в последней строке кода на токен бота.

Discord бот на Python

Добавление бота на сервер Discord Discord бот на Python

Чтобы использовать бота на сервере Discord, вы должны добавить его на сервер. Чтобы сделать это, перейдите на страницу приложения в Discord Developer Portal и выберите раздел «OAuth2». Затем выберите следующие параметры:

Добавление функционала

Ваш бот может выполнять множество функций. Например, вы можете настроить его на отслеживание определенных событий на сервере и отправлять сообщения об этих событиях. Вот несколько примеров того, что вы можете сделать с вашим Discord ботом на Python:

  • Отправка сообщений

Эта функция позволяет отправлять сообщения в определенный канал на сервере. Чтобы отправить сообщение, напишите команду «!send_message» и укажите имя канала и текст сообщения.

  • Обработка реакций

Эта функция позволяет отправлять сообщение пользователю, который нажал на определенную реакцию на сообщении.

  • Обработка команд

Эта функция позволяет пользователю бросать кубик заданное количество раз и получать результаты бросков в ответном сообщении.

Discord боты

Подытожим Discord боты

Discord боты — это мощный инструмент для автоматизации задач на серверах Discord. Используя Python и библиотеку discord.py, вы можете создавать ботов, которые выполняют различные функции, от отправки сообщений до обработки команд и событий на сервере. Следуя инструкциям в этой статье, вы можете быстро создать своего первого Discord бота и начать добавлять ему новые функции.

Кроме того, Discord имеет богатую экосистему сообществ и ресурсов, которые могут помочь вам в создании и разработке ботов.

Например, на официальном Discord сервере Python есть каналы, где вы можете задавать вопросы и получать помощь от других разработчиков ботов.

Однако, как и в любой другой области разработки программного обеспечения, создание Discord ботов может быть сложным процессом, требовать времени и терпения. Если времени и необходимых навыков для этого не хватает — всегда можно обратится в компанию-разработчика программного обеспечения.

Разработка Discord-ботов в AVADA MEDIA

Боты упрощают работу с Discord и помогают автоматизировать большинство рутинных задач, связанных с администрированием серверов. Например, с их помощью можно взаимодействовать с участниками, проводить опросы и даже награждать пользователей за достижение определенных целей. Говоря простыми словами, боты экономят время и значительно повышают эффективность модерирования. Это делает их востребованными на рынке и привлекательными с точки зрения инвестиций.

У компании AVADA MEDIA есть необходимый опыт и уже сформированные команды специалистов для разработки Discord-ботов любой сложности. Благодаря глубокому пониманию платформы, использованию актуального технологического стека и тщательному проектированию, мы поможем запустить эффективный продукт, способный решать реальные задачи по управлению серверами.

Создаем космические проекты

Лучшим подтверждением нашей квалификации и профессионализма являются истории успеха наших клиентов и различия в их бизнесе до и после сотрудничества с нами.

poster

poster

poster

poster

poster

Что о нас говорят

Наши клиенты Что о нас говорят

Denis

Thanks to AVADA-MEDIA for a great project. The developers of AVADA-MEDIA have made for us a convenient and functional system for booking homes. This is not our first project with this company. The professionalism of its developers and competent management make the company the best IT partner

Worked with Sergey on several projects and was happy with the professional attitude him and his team demonstrated working on projects. He was accurate on time and functional estimates and delivered on time.

Thanks to the AVADA-MEDIA team for the excellent and functional online store. The work was done very quickly and professionally.

I had the opportunity to work with Sergey. As a technical director, he perfectly organized the work of a team of programmers on a mobile application I designed. As a result, all work took place in a timely manner and the final output was beyond expectations.

We would like to thank the company AVADA-MEDIA for the development of a fast and modern corporate website. The company employs professionals whose main principle is customer satisfaction

I have been working with the AVADA-MEDIA team for more than 5 years. I want to note the professionalism of the developers and the excellent management of the employees who always help me in the tasks. We have implemented many different ideas with the AVADA-MEDIA team, and at the moment we are moving the existing store to a new platform.

Для своего стартапа выбрал команду AVADA-MEDIA и вот уже несколько лет мы вместе развиваем этот проект. Много чего было сделано и усовершенствованно за это время. Благодаря команде специалистов AVADA MEDIA проект набирает коммерческие обороты и уже вышел на всеукраинский рынок.

Богдан Юрченко

Мы уже 5 лет сотрудничаем с командой AVADA MEDIA в различных сферах бизнеса, в том числе в сфере информационных технологий. Сергей неоднократно демонстрировал высочайший уровень экспертизы и ответственности в наших совместных проектах, особенно в условиях неопределенной ситуации и в течение ограниченного времени.

Спасибо разработчикам из AVADA-MEDIA за отлично выполненную работу. Новый личный кабинет и новые функции системы разработали очень быстро, все протестировали и внедрили в уже готовую и работающую систему.

Как технический директор Сергей отлично организовал работу над проектом мобильного приложения SeshMe, благодаря чему мы всегда получали результат вовремя. Также хотелось бы отметить высокий уровень разработчиков из команды Сергея. Очень рад совместной работе. Рекомендую Сергея как надежного и ответственного партнера.

Наша команда

Успешные проекты
создаются только командой Наша команда

Photo 11

Photo 10

Photo 9

Photo 8

Photo 7

Photo 6

Photo 5

Photo 4

Photo 3

Photo 2

Photo 1

Photo 12

Появились вопросы?

Свяжитесь с экспертами Появились вопросы?

Messengers:

Разработано AVADA-MEDIA

Согласие на обработку персональных данных

Пользователь, оформляя заявку на сайте https://avada-media.ua/ (далее – Сайт), соглашается с условиями настоящего Согласия на обработку персональных данных (далее — Согласие) в соответствии с Законом Украины «Про захист персональних даних». Принятием (акцептом) оферты Согласия является отправка заявки с Сайта или заказ у Оператора по телефонам Сайта.

Пользователь дает свое согласие на обработку своих персональных данных со следующими условиями:

  1. Данное Согласие дается на обработку персональных данных как без, так и с использованием средств автоматизации.
  2. Согласие распространяется на следующую информацию: ФИО, телефон, электронная почта.
  3. Согласие на обработку персональных данных дается в целях предоставления Пользователю ответа на заявку, дальнейшего заключения и выполнения обязательств по договорам, осуществления клиентской поддержки, информирования об услугах, которые, по мнению Оператора, могут представлять интерес для Пользователя, проведения опросов и маркетинговых исследований.
  4. Пользователь, предоставляет Оператору право осуществлять следующие действия (операции) с персональными данными: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), использование, обезличивание, блокирование, удаление и уничтожение, передача третьим лицам, с согласия субъекта персональных данных и соблюдением мер, обеспечивающих защиту персональных данных от несанкционированного доступа.
  5. Персональные данные обрабатываются Оператором до завершения всех необходимых процедур. Также обработка может быть прекращена по запросу Пользователя на электронную почту: [email protected]
  6. Пользователь подтверждает, что, давая Согласие, он действует свободно, своей волей и в своем интересе.
  7. Настоящее Согласие действует бессрочно до момента прекращения обработки персональных данных по причинам, указанным в п.5 данного документа.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *