Emojis play a crucial role in Discord, enhancing the appearance and uniqueness of Discord content. We aim to utilize emojis to make our Bot better than others.
However, managing emojis is not as simple as it may seem. Along our journey, we’ve encountered some important considerations.
As engineers, we don’t make decisions about designs or changes to components. Initially, we hardcoded the emoji ID directly into our Discord bot’s source code. But over time, we found ourselves needing to update it frequently. To streamline this process, we decided to store the emoji IDs in a separate database. This database is distinct from our main business logic database, and we’ve granted permission for our product team to access it using a database tool like Retool.
While streamlining emojis is one thing, keeping them up to date is another challenge. Initially, Discord provided us with around 40 free emojis to use. With boosts, we could have up to 200 emojis. Seemed like plenty, right? That’s what we thought at first.
But over the course of several years, we encountered a frustrating issue with boosts. We would often lose emojis when we forgot to renew our boost, even though we had already paid for it. To overcome this problem, we decided to create 10 different servers to store our emojis. This simple solution resolved our issues.
To make sure our emojis stay in check, we’ve taken an extra precautionary step. We run a periodic job at intervals to ensure that all emojis remain accessible to our bot.
While emojis may be a Discord-specific feature, we also have to consider other platforms like Telegram or web-based applications. On these platforms, we can use Unicode emojis or images.
By making a simple update to our database, we can ensure that the entire system remains consistent, at least in terms of emojis, across different platforms.