Chat With Your Friends While Gaming With Discord
Name: Discord (Visit Discord)
Type: Messaging and Voice Chat
Best Website For: Chatting with friends while gaming.
Reason it's on The Best Sites:
Discord lets you chat with your friends no matter which device they are gaming on. It's super convenient and functions really well. It's even really useful if you don't use it while playing video games.
Miscellaneous
ROLL THE DICE
- Randomly select someone at random with Discord’s all new @someone. It’s like playing @ roulette.
- Discord will now crash at random to keep you on your toes at all times. Your calves will thank us later.
- While in a voice channel, typing owo in any text channel causes Discord to let out a cry of distress.
- @supereveryone is here! You can now bypass @everyone permissions for when you need to say something urgent or important. We trust you’ll respect other people and use this feature only when needed.
NO MORE MEMES
- Fixed a bug that caused something you didn’t want to happen. Now it does something you want.
- Removed all those heckin’ memes. Who thought any of that crap was funny?
- Fixed a bug where this weird lonely creature was all over our app. It’s in a better place now (specifically, Boise, Idaho).
TWO REMINDERS
- We’re definitely not hiring, so don’t even think about applying for one of our extremely attractive positions.
- Discord Nitro is being downgraded to Discord Stop! Drop calls, prevent your messages from sending, and reduce your file upload limit by half!
Change Log — 4.1.2018 was originally published in Discord Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
The following guest post is from Mike Rose, founder at @nomorerobotshq which recently published Descenders.
You’ll learn how Mike leveraged Discord to:
- Get vital player feedback
- Build an excited community
- Support the game on launch
We dig the decision to bring the in-game factions inside of Discord. It’s an awesome way to keep people engaged and connected with the community. We’re also stoked and surprised by how players helped flip negative reviews to positive after launch.
If you’re looking for some more beginner-level server set up, check out this old community building post we dug up and dusted off from 2015. It’s still relevant. Mostly. Kinda.
Anyway, now for Mike…
When we were planning the announcement for Descenders, we knew that we wanted Discord to play a huge role in what we were cooking up. We’ve all been Discord fans for a while now and have watched how influential the platform has become — but on top of that, building a community for your game has become one of the best ways to ensure success, especially with the sheer volume of games being released every day. As a result, it made way too much sense for us to build our Descenders community through Discord from the very beginning.
But, simply throwing up a Discord server and hoping people join isn’t how we roll. We wanted to offer potential community members real reasons to join us on Discord, via beta access, exclusive content, meta-games, ARGS, the works.
What we didn’t realize at the time was just how integral our Discord community would be in shaping how Descenders has evolved. From community feedback, to language translations, to realizing the key strengths of the game, to supporting our game sales and ratings on launch, our community has helped to mold our vision into the game you see today and set us up for success moving forward.
That’s Cool, I Have No Idea Who You Are
I’m Mike Rose from publishing label No More Robots and I’m working with Dutch studio RageSquid on an extreme downhill biking game titled Descenders. The game launched last month on Steam and is coming to consoles very soon.
Descenders is a mountain biking game featuring procedurally generated worlds and roguelite elements through which your bone-crunching mistakes have real consequences on your progression through the ranks.
How about h!gh voltage hitting that sweet spot in Descenders 😱👌 https://t.co/nJARNAgT8I
From early on in development, it became obvious to us that Descenders was going to benefit heavily from community involvement. We had this whole explosion of features we wanted to add to the game but weren’t sure which features would be most sought after. Rather than trying to guess what people wanted out of a mountain biking game, it made more sense to, you know, ask people!
How Do You Start a Video Game Community?
The biggest question for me was: What makes someone want to join a community? Why would someone choose to join my Discord server? What could I possibly offer that would make sense for them to not only join, but then also stick around?
The answer, it turned out, was kinda simple:
- People want free stuff
- People want exclusive stuff
- People want to feel like they’re part of something
Here’s how I aimed to fulfill these desires:
- Give everyone who joined our Discord server free access to the Descenders beta
- Post exclusive Descenders stuff regularly for Discord members
- Create an entire meta-game within the Discord server
The first two points are fairly self-explanatory. Everyone who wanted to try the game earlier had to join our Discord and throw some simple details into a Google form. Once they had, we’d give them exclusive screenshots, updates, livestreams, GIFs, videos, etc. Everything they could possibly want from the game.
The meta-game aspect excited me the most. What sort of game could I build within Discord that would not only make people want to stick around but also bring them together as a community?
The Meta-Game Begins
In Descenders, you pick one of three teams to join. Team Enemy are all about slick stunts while Team Arboreal focus on off-road action. Meanwhile, Team Kinetic are the game’s speed demons. Once you pick your team, you’re given exclusive missions, gear, and colors based on that team.

Using Dyno, the popular Discord bot, I created a series of custom commands that would introduce each newcomer to our server into the meta-game. When you initially join the server, your username is white and you’re only granted access to a small number of channels.
When you visit the #pick-a-side channel, it asks you to type either !enemy, !arboreal or !kinetic to pick a team. Once you choose, the #pick-a-side channel disappears and the rest of the server is opened up — including channels that are exclusive to your team. Your name also becomes the same color as the team you picked.
The plan was then simple: Each week, we would pit these three teams against one other in a variety of challenges, ranging from custom kit design competitions to “which team can write the best Descenders haiku?”
When we announced Descenders last summer, the server was an immediate hit and we quickly built up a community of over 4000 members. The weekly challenges worked great and each team enjoyed politely trash talking each other in the #trash-talk channel we’d created.
There were even community members who stuck team stickers on their bike helmets and filmed themselves trashing the other teams.
We created custom emotes for each team and gave them exclusive prizes in their team channels when they won a weekly challenge. The meta-game worked out pretty damn well!
It Gets Even Beta
Soon afterwards, we ran the Descenders closed beta through Discord. We announced the beta date via an ARG that we distributed in the server. We expected our community to take a few days to decipher a riddle that we dropped into the server, as it involved pretty damn obscure solutions like looking through Google Maps images and playing RageSquid’s previous game — but they’d solved it two hours later which was kinda mind blowing.
Everyone in the server was sent a Steam beta key and for one weekend we let them all go wild. Thousands of people signed up and our Discord server was in a constant meltdown the entire time — the good kind.
The community posted thoughts, screenshots, GIFs, videos, fan art… we ended up putting together a supercut of some of the best beta footage.
https://medium.com/media/3bfe38a9376c0ca3d7db9885a98859b4/hrefWe also ended up with tons of valuable feedback from the Discord community. We had a #bug-reporting channel, a channel for requesting features, a channel for players to show off their skills via videos and GIFs. It allowed us to connect directly with our players throughout the beta and get their immediate, honest feedback at all times.
As a thank you after the full launch, we gave everyone who was a part of the beta a special beta kit within the game to say thanks for taking part. It was the least we could do!
Pretty Content
The benefits to having a Discord community for Descenders go on and on. Members of our community have created kits, banners and boards for the game, while giving us a variety of ideas that we have eventually followed up on and added to the game.
Furthermore, certain aspects of game development became a whole lot easier thanks to our server. For example, we asked which languages our community would like the game to be translated into. Within a few days, we’d found multiple members of our community who wanted to help translate the game, and after providing them with the English text via a Google Sheet, we had all the text in the game translated into a variety of languages, including French, Dutch, German, Spanish, Italian, Chinese, Russian… We’re so happy that these players will be able to enjoy the game in their native languages.
One of the biggest pros has been having a direct method for finding out exactly what players enjoy about the game and where we should be expanding the game. For example, within a week of the game launching, our Discord community was clamoring for a way to generate levels based on a specific seed.
We had no idea this would be such a popular request! It was actually relatively easy to add, so three weeks after launch, we added this feature as an entirely new mode and our community exploded all over again.
Launch Time
Speaking of launch, it’s worth stressing that all of these positives definitely carried over into the launch of the game. From the moment the game launched on February 9th, our Discord community started buying it in spades and we rocketed into the Top Sellers list within the space of 30 minutes.
The 10% launch discount didn’t activate for 25 minutes after we hit the live button, so we told our community to wait until it kicked in. Tons of them purposely ignored us and bought it full price just so that they could be the first to play. We love them all a bit too much.
It wasn’t just sales that came out of our community — there were plenty of other cool side-effects that we hadn’t considered. For example, our community piled positive ratings onto the Steam page, quickly leaving us with a 90% user rating that hasn’t gone away.
And whenever someone does leave a negative review or a bad comment on the Steam forums, someone from our community spots it immediately and tries to resolve the player’s problem. This has actually lead to multiple negative reviews being flipped into positive which, as you’d imagine, has been rather amazing for the game.
Our Discord has been a buzz of activity since the game launched last month, and it hasn’t showed any signs of slowing down. When someone new pops in to ask for help or simply to give their thoughts on the game, our members welcome them, suggest they pick a team, and then bring them into the fray. It’s a wonderful atmosphere for new players to be introduced to and we don’t have to lift a finger — our community does it all for us.

Our experience with building a Discord community for Descenders has been incredible and I now have plans to incorporate Discord into every game I publish.
In fact, No More Robots announced our second title today called Not Tonight, and the Discord server for Not Tonight is even more ridiculous, with tiered roles and “jobs” that members can do to earn higher accolades and special prizes.
Community has always been a great device to build a video game around and that is more true now than ever before. You should be thinking about how Discord is going to fit around your game launch — it’ll be one of the best things you do.
Thanks Mike for sharing all the cool ways Discord can be used to empower a game’s community. We’re super excited to see how his next server plays out!
For similar reading, check out How to Build an Active Indie Game Community With Discord by the developers of Tooth and Tail.
Looking for more ways to use Discord with your game? Verify your server so people know your server is legit. Furthermore, make your game standout with Rich Presence integration — let people join, spectate, and share your game in Discord.
How we used Discord to build a dream community for our game Descenders was originally published in Discord Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
Discord’s chat messages support both markdown and direct mentions of users, roles, channels, and various other entities. Detecting and rendering rich content in messages is a more complex challenge than it may appear on the surface.
This post will detail how our clients detect and render markdown and entity mentions in messages. In particular, the Discord Android app required a homegrown solution to maintain parity with the Desktop and iOS clients. As a result, we’ve open-sourced SimpleAST, our Android parsing and rendering solution. Read on to learn more about Discord’s approach to rich messages, and how we solve this challenge on Android!
simple-markdown to the rescue
One issue of particular interest is the case of entity mentions, i.e. direct references to users, roles, or channels. In these cases, we want messages to reflect name changes. For example, a message may mention me: @AndyG. If I decide to change my name to xXSSJ4AndyGXx, this old message should now render as @xXSSJ4AndyGXx instead.
To accomplish this, we avoid sending @AndyG as raw text in the message. Instead, we send <@123456789>, a reference to my user ID. This puts the burden on the receiving-end Discord clients to detect mentions in messages, and transform them back into the appropriate username when rendering the message.
In order to do so, our clients need a parsing + rendering system that that satisfies three major requirements:
- Extensibility: the system must detect basic markdown (like *italics* and **bold**) as well as artisanal strategies like the @User mention described above.
- Structure: the system should lend structure to the otherwise unstructured raw text. With structure, the messages can be inspected and post-processed as we see fit.
- Performance: gotta go fast.
We found a solution in Khan Academy’s open-source simple-markdown library. The web, desktop, and iOS versions of the Discord app are all written in JavaScript, so simple-markdown could be used directly.
The simple-markdown process looks like this:
- Clients define a list of rules which define the various formatting and entities (like an @User mention) that can appear in text. This meets our extensibility requirement.
- The simple-markdown parser uses that list of rules to transform raw text into an Abstract Syntax Tree (AST). This meets our structure requirement.
- The generated AST is then passed into a renderer,where it is transformedinto some format that the client can display and interact with.
By adding our own rules, we can support various types of rich content in messages:

Do Androids Dream of Feature Parity?
simple-markdown worked great for the Discord desktop and iOS clients, but left our Android app out in the cold, since our Android app is built natively, not React Native (as discussed in a previous blog post). Without a parser of our own, we could still easily replace entities like @User mentions with a find/replace to detect <@123456789> occurrences when rendering the message.In fact, the Android app functioned like this for some time in 2016. Certain problems proved extremely difficult to solve, however:
- With our naive regexes on Android, there were many rendering inconsistencies between the Android app and our other clients. For example, formatting (like **bold**)worked inside of **code blocks** — it shouldn’t.
- We were not able to directly port the parser rules from the Desktop client. Any time Discord added a new rule, we had to worry about introducing weird edge-cases on Android, or at least losing parity.
- Discord’s desktop search feature allows for structured query parameters like from: AndyG#0001 (among others). We were about to implement search on Android and we knew that leaning on a robust parser would make it easier to detect and use such structured parameters.
The writing was on the wall: if we were going to maintain parity without excessive engineering effort, we were going to need our own version of simple-markdown that ran on the JVM to power our Android app.
The One Where Chandler Explains Parsing
Remember that the system we wanted would need to do two things:
- Parse raw text into an Abstract Syntax Tree
- Render that AST as text on Android
We’ll focus on parsing for now. Remember the three components that constitute the parse step:
- Node : a node in an AST which can have children. This defines how we represent an AST in code
- Rule : a rule which defines what types of nodes are generated by what types of text
- Parser : using a list of rules, takes raw text and turns it into a collection of nodes
For the code-inclined, an example Rule looked like this:
https://medium.com/media/24dae6723e310b55c87172f07b94e4d8/hrefNote that theParser processes the input left-to-right as rules are matched. To support that, a Pattern that defines a Rule MUST only match with text at the BEGINNING of the source. This is why we include the ^ character at the beginning of all of our Rule patterns!
This was our initial Parser implementation:
https://medium.com/media/257aebdc2279ae202d25a88354ea19be/hrefHello StackOverflowException, My Old Friend
Our Rule interface required each Rule to return a Node with all its children already parsed and populated. To accomplish this, many Rule instances were calling parser.parse() on the text they were inspecting. This algorithm was simple to understand, but meant we could recurse arbitrarily deeply if we nested formatting. In other words, nest enough formatting in a message, and you could trivially crash the app by causing a stack overflow!
We needed Rule instances to contribute their information to the AST without recursively parsing their content. We solved this by having each Rule return only a single top-level Node. If it was a non-terminal Node (like a bold or italics node), it would also specify start and end indices that inform the Parser what slice of the original input needs to be parsed to supply that node’s children. In other words, our rules now return both a Node and a potential “deferred parse” specified in a ParseSpec class:
https://medium.com/media/ab5c42022f6191b6d9d0d19ccbead810/hrefThis allows us to change our parse strategy to use an explicit 🥞 stack 🥞 that tracks what parsing still needs to be done. The stack typically does not grow larger than a few elements in practice, as new ParseSpec instances are used immediately. For implementation details, see the source code here.
Performance Analysis
The app functioned with this parser for a very long time. We still noticed a little chug on older phones (which represent a significant portion of our user base), but it wasn’t immediately obvious where any performance improvements could be squeezed out of the parser.
We used the Android Profiler (introduced last year in Android Studio 3.0), which provides a flame chart that aggregates method calls into a readable form that makes it easier to see where you are spending your computational time. We noticed that a lot of time was spent in the method Pattern.matcher(), which creates a new Matcher instance:

It appeared that most of our time during a parse was actually spent inside of Matcher.<init>, in particular in Matcher.usePattern, with some time in Matcher.reset. It was strange to spend a lot of time here — why were we creating so many Matcher instances? We looked around for initialization points of Matcher, and the culprit lay in this line of theParser:
// Create a new Matcher instance for the source being inspected
val matcher = rule.pattern.matcher(mutableSource)
Instantiating a Matcher every time we want to use a rule to inspect the text was expensive and, as it turns out, unnecessary:Matcher has a method that is specifically designed to allow a single instance to be reused multiple times on different sources.
Up until this point, we had bundled Pattern instances inside our Rule objects. Thanks to the Android Profiler, we identified this issue and began bundling prebuiltMatcher instances instead:
// Use the existing Matcher, just point it at the new source
val matcher = rule.matcher.reset(mutableSource)
Using this strategy, we were able to see as much as a 2.4x speedup on certain real-world messages, depending on the complexity of the parse parsing needed to be done.
Warning: If Rule (and by extension, Parser) instances are shared across threads, multiple threads could reset the same Matcher to different source texts. Therefore, usages of a given Rule or Parser instance should be confined to a single thread.
Will it rend?
We’ve got an AST now with nodes that represent various pieces of text, styles, and other entities like user mentions, emojis, etc.
Rendering is a simple process compared to parsing. Android has a mechanism for building text with various styles: a SpannableStringBuilder. We create a SpannableStringBuilder and pass it to each node; they operate on the builder in turn. To facilitate this, a Node<T> in SimpleAST has the following method:
fun render(builder: SpannableStringBuilder, renderContext: T)
- In simple cases, nodes may simply append text to the builder, apply styles to the text in the builder, or make the text clickable or otherwise interactable.
- In more complex cases, nodes may specify a type T that provides information that they need in order to render themselves, ie.e. their renderContext. This could be something as simple as and Android Context so that the node can resolve resources, or it could be a data structure that, for example, facilitates the node looking up usernames for a given user ID.
Marching Ever Onward To Tomorrow
SimpleAST currently powers the Android app’s message rendering, and we’re happy with its performance, robustness, and extensibility. It also lends us the power to keep up with the fast-changing requirements of Discord as a product, since porting parser rules to Android is such a breeze.
That said, there are some opportunities we see with both SimpleAST and its use in our app going forward:
- Parse off the UI thread: We parse and render each message on the UI thread on-demand as the message rendered on the screen. This means that during fast scrolls, there can be a noticeable frame drop, especially on low-end devices. Instead, we could parse the messages at an earlier stage in the pipeline, on a thread pool dedicated to parsing these messages. The upside isthat this would make the scrolling experience butter-smooth on all devices. However, if implemented naively,it could manifest as a longer load-time for batch messages loading. Intelligently implementing message parsing off the UI thread is one of the most exciting opportunities for performance improvements in the Android app today.
- Further SimpleAST performance improvements: We will continue to push more performance out of the SimpleAST library, with a helping hand from the Android Profiler.
We’re always looking for the next great addition to our engineering teams at Discord. If the problems described here sound interesting to you, and especially if you are a gamer at heart, check out our available positions here.
If you would like to use or contribute to SimpleAST, check out the open source project here.
How Discord Renders Rich Messages on the Android App was originally published in Discord Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
As engineers ourselves, we deeply respect and value the open source software community. Discord is built out of hundreds of projects. To our surprise, many open source communities have adopted Discord for their own discussions. Today we are launching a site highlighting the open source communities who live on Discord.
When Reactiflux came to us years ago saying they were being kicked off Slack due to scaling reasons, we were skeptical that non-gaming communities could thrive on Discord. We were wrong: Reactiflux has grown to over 13,000 users, with 2,000–3,000 active at any one time, more than most other chat app communities.
And they are not the only ones: we have also seen Vue.js, ReasonML, Elixir, and Yarn become vibrant and communicative groups on Discord. They have tried using other chat apps, but have run into the limits of those platforms.
It turns out that not only is Discord easy to use, but many open source developers already have Discord accounts because they play games. One Discord account gets you access to every open source community, so the invite link is all people need to begin participating. Discord also has robust moderation and blocking tools which serve open source projects well. We also support webhooks from GitHub as well as Slack.
Discord has features that both gamers and developers value:
- Core features are free forever
- Infinite message history
- Unlimited members
- Unlimited search
- Familiarity of Discord (100m+ people use it)
- Syntax highlighting
- Tool integrations
- Voice and video chat
- Screen sharing
- Moderation, roles, and permissions
- Private ad-hoc groups
We hope you’ll give Discord a shot for your open source community! Let us know if you have any feedback on our twitter @discordapp. You can add your own group to the open source list by making a PR.
Want to help build Discord? We’re hiring!
Why Reactiflux, Vue Land, Yarn, and other open source communities use Discord was originally published in Discord Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
It’s Thyme Four Updates
- Weave added a spell checker two Discord sew you can no when you’ve spelt things wrong.
- You can now turn off the spell checker because we know you were going to ask anyway.
- Backup SMS Authentication now available for two-factor authentication. We heard you like backups, so we built some backups for your backups. Set it up on your account settings screen.
- Play video files directly in Discord instead of not Discord. Audio soon! This feature was requested by you guys!
- GIFs will now autoplay when Discord is focused so you can watch a car launch into space without hovering over it with your mouse. 2018, man.
- You can now turn off GIF autoplay because you’re so freaking predictable. Mix up your game ;).
- Uploads can now be cancelled in case you didn’t mean to send that fan art to your mom.
- Added the Verified Server icon to Android and iOS because it should be there.
- Overlay should no longer cause lockups or issues on League of Legends or Overwatch.
The Second Section
- Love Discord? Support us with Discord Nitro and get some benefits for your account.
- Send help. And by that, I mean send yourself. And by that, I mean we’re hiring.
It’s Thyme Four Updates was originally published in Discord Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
CAN YOU SPOT THE CHANGES
- Spotify is now available on Discord. See and play what other people are listening to. Spotify Premium members can listen along with their friends. Also, more! Check out our help article to get started.
- Increased voice server capacity in Hong Kong and Singapore! More reliability than a mid-sized SUV.
- Added an Oxford comma when 3 users are typing, cuz good grammer and sintacks is importint!!
- Server owners now get a super cool icon in the members list. Your ego needs this. Will not show in servers with obvious admin roles.
- @mentioning in large servers is now super smooth like grass-fed full-fat butter.
JUST SOME ELBOW GREASE
- Friends list is now smoother if you have a lot of friends. Buffs for the cool kids.
- Large servers should be much more performant. The never ending quest to make the Fortnite server work better.
- After giving mic access, browser Discord will not turn on your mic automatically.
- Fixed a bug where Discord would crash if you clicked the download update button too fast like a Mario Party mini game.
- Fixed a pesky bug that broke Discord sometimes when you tried uploading a file, then changed your mind and canceled. Discord didn’t like that. Discord likes commitment.
I DON’T KNOW WHAT TO CALL THIS
- Love Discord? Support us with Discord Nitro and get some benefits for your account.
- We’re now accepting music artists and record labels into our server verification program. If you look in the mirror and say to yourself “I am one or both of those things!” then check it out!
- Are you involved with a gaming club at your university? Ask your club president or supreme leader to apply as an Event Coordinator in the HypeSquad and we’ll hook your club up with a box of awesome!
- Send help. And by that, I mean send yourself. And by that, I mean we’re hiring.
2.1.2018 — Change Log was originally published in Discord Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
IT’S HIGH NEWN
- While subscribed to Nitro, you can choose any available Discord Tag for your account. Be the four digit integer you always wanted to be (unless someone else already has it).
- We’ve updated our codec to Opus 1.2! Experience the audio experience better than you’ve ever experienced it before.
- Fixed an audit log crash when viewing entries that referenced a deleted channel. Mods across the world rejoice.
- Tidied up some translation issues with certain characters being weird. Weirdness removed.
BUG FIX O’CLOCK
- Animated Emoji are now supported on your phone! Move and groove to your emotional mood.
- You can now set a GIF avatar on Android. Weeewooooweeeewoooooooo.
- We broke out the Mecha-Bug-Swatter-90010 and squashed a whole bunch of bugs on both iOS and Android. Expect more better and less bad!
ALSO
- Love Discord? Support us with Discord Nitro and get some benefits for your account.
- Hype for Discord? Join our HypeSquad and support Discord!
- Send help. And by that, I mean send yourself. And by that, I mean we’re hiring.
1.25.2018 — Change Log was originally published in Discord Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
PEDAL TO THE METAL
For those that don’t know, you can support Discord’s development and get sweet features with a Nitro subscription. Nitro gives you animated avatars, larger file uploads, nitro profile badge, and you can use your custom emoji anywhere.
You guys are so awesome and have shown us so much support. So, we’re adding two more features for Nitro subscribers at no extra cost:
- Animated emoji! With the power of time (and some code), your emotes can now shake their booties.
- 720/60fps and 1080p/30fps options for liquid smoove Screen Share. 1080p is pretty hard on older rigs, so tread carefully!
- Furthermore, PayPal is now supported! This was requested by you guys.
THE TALE OF TWO BUFFS
- The owner of a Group DM is now labeled and treated like a king on the member list. Bow before your mighty group creators.
- Japan servers are live! 日本が大好き.
ANDROID GOT THREE BUFFS
- Increased stability for voice and video calls during poor network connections. The rawest of buffs.
- Jumping from search or pins now works. Zoom around chat to points of interest. It’s like fast warps in games.
- Light and Dark theme is now respected on many more screens than before. About time they got some respect.
2017 IS GOING AWAAAAY
- If you missed it, we talked about our plans for 2018 here.
- We just relaunched our merch store! There’s some sweet cozy goodness.
- This is likely the last change log until next year. I hope your metaphorical dice roll critical hits for the remainder of the year. See you on the other side!
21.12.2017 — Change Log was originally published in Discord Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
HEY! HEY! OVERLAY!
- We’ve overhauled our Overlay tech! It’s more robust than a beaver on a Tuesday (it will work more consistently for more games). The icon will also now fade away after a short time so we don’t disrupt your game space.
- Invite embeds received glamorification. They’re gorgeous and more informative.
- Profile popouts are now themed. Our UX/UI team was having a spa day apparently.
- The Discord system tray just came out of the hyperbolic time chamber. It’s context menu now has shortcuts to quickly mute, deafen, and open voice/video settings.
- FURTHERMORE, the system tray icon will now change based on whether you’re talking, muted, deafened, or idling. This was requested on our feedback site.
- Added option to make Discord scared of you and hide minimized on startup. This was also requested by you guys!
- The app icon in the taskbar now proudly displays unread messages as a badge.
- Annoyed by unread messages displayed as a badge? There’s new notification options to toggle the unread indicator on the app taskbar.
- You can now have Discord close when you click dat X button. Another request from you guys!
THESE BUGS ARE DEAD
- Changing your input device will now properly change your input device, 100% of the time, because we decided the 80% RNG was providing a poor experience >.>
- Discord now respects your PC’s default device. Change your default device? Discord changes too. Follow the leader!
- TTS now says roles and nicknames correctly wwwwwwwwwwwwwww
- We’ve tucked away a few discriminators that were still showing during streamer mode.
- Font scaling now properly scales code blocks. Block scaling initiated.
- Emoji picker didn’t want to be picked in DMs. We employed some conflict resolution tactics, and you can now properly send emoji again.
- Do Not Disturb now actually doesn’t disturb you with friend requests and suggestions.
- CTRL+SHIFT+T hotkey should no longer crash the app lol that’s a good fix, thanks engineers 10/10
- Category notification settings now properly apply directly to the forehead.
- Our search feature now understands that two channels can have the same name. #whytho #whytho #whytho
IOS STUFF
- User popout and profiles have been themed. Consistency ahoy!
- There’s a new screen for creating an instant invite because we’re constantly trying to improve the user experience.
- Auth screens, which are now themed, prefill email and 2FA so we can expedite your boarding process.
ANDROID STUFF
- Significant data reduction for loading images because we now use Webp format for image previews.
- Now support media keyboard for all your visually communicated emotions.
OTHER STUFF
- Want to support Discord’s development? Get Discord Nitro and unlock bonus features for your account.
- We’re hiring! Come join the Discord T.E.A.M. (Talented, Entrepreneurial, Acronym, Makers). https://discordapp.com/jobs
12.11.2017 — Change Log was originally published in Discord Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
Ahoy friends! As 2017 comes to a close, we do believe a moment of humble reflection is in order.
At the end of 2016, we wrote a blog post promising that we would build out a variety of features including Search, Audit Logs, Channel Categories, Video Chat, and Screen Share.
Well… we shipped all of it! And much, much more! Even T.A.Y.N.E! We would like to thank each and every one of you for your patience and absence of ‘screensharewhen’ posts as we built and polished these features ahem.
Furthermore, we’ve recently launched some super awesome game related features including Rich Presence and Verified Servers so devs can make your experience as a player even better. We’ve got a lot in store for developers next year, so literally wait.
https://medium.com/media/4d1fb3a0f5ae0f0af3b5a1c5c5525f1d/hrefSo Much F***king Support
It’s insane how much support you guys have given us since Discord began 2.5 years ago. Our minds continue to literally be unable to fathom the amount of support and people who use Discord today.
In the six months since we last announced how Discord is doing, we’ve gone from 45 million to 87 million registered players, which we expect to hit 90 million by the end of the year. That’s a whole lotta growing. We’re gonna need new sneakers to fit these big feet.
Check out our growth with this stylish and easily-digestible infographic:

We were also trying to figure out how many times you guys said ‘screensharewhen’ on Twitter but realized counting grains of sand is faster. 1,240,504…
Wait, there’s another year after this?
Next year is gonna be pretty awesome too. We have a banana bunch of stuff hanging from ripe Discord trees — soon to be picked and sent to your delicious mouth.
- Uptime—Discord is usually up, kicking ass, and chewing bubble gum. Our mission is to keep it that way. Our engineers wrote a technical postmortem of the service interruption a couple weeks ago and how we plan to take action and improve our system.
- Voice Connection Quality and Stability — some say, “Is Discord Really The Best?” We will continue to make sure we are. No more no routes (or at least, way less).
- Overlay Improvements — making it more robust overall and adding some dope features to make it an awesome extension of Discord while you’re in game.
- Rich Presence — we will continue to support game developers as they integrate with Discord. Expect tons more games — from the indiest of indies to the biggiest of biggies.
- Community Requested Features — We love building stuff you ask for, so Priority Speaker is being sautéed right now. We’re throwing Screen Share back into the oven, cooking up some audio with it this time. Thanks for letting us know it needed a little spice.
- And more! There’s some stuff we can’t reveal quite yet and there’s stuff we don’t even know about yet. The future is crazy, man.
Finally, our mission here at Discord is to bring people together around games. Diversity and inclusiveness are a critical part of how we get there. We’ve created some internal goals for 2018 to make Discord a more diverse company. And yes, we’re hiring!
Basically, 2018 is gonna be awesome. We can’t wait to be there with you guys. Thanks for all the constant love and support ❤
Did I mention we’re hiring? Check out our jobs page here!
Discord Did Things in 2017 was originally published in Discord Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.