How to ban someone from Discord


Other: Developer Diary - The way to your own Switch game

Michael Grönert, on December 26th, 2016, page 20 of 25

BadToxic Discord Server | GameMaster Discord Server | BadToxic on Twitter
BadToxic on Instagram | BadToxics Developer Instagram | BadToxic on YouTube

Part 20: Creating a Community
After we started with the last two diary entries Fizhy have completed, we now come to a completely different topic. There is a community behind every known game. Be it on Facebook, Reddit, fan wikis or other social platforms. As soon as a game makes a name for itself, games emerge all by themselves. Sometimes there are also communities within the games themselves or on special websites that are made available by the developers. If you read about the process of game development, you will often find building a community right at the beginning. They say you can never start early enough. Today we want to take a look at what such a community is good for and take the first steps to create one.

Purpose of a community
There can be a number of reasons for starting a community. The basis is society among like-minded people who are interested in the same thing and want to be able to talk about it. Perhaps the most frequent questions are questions to which you are looking for an answer when you join a game community - "How do I get through this level?" So often whole fan wikis (encyclopedias) are formed, which specialize in questions about answer that have not even been asked. Another reason can be bragging or looking for criticism and opinions from others - “What do you think of my new equipment and my status values?” So you may be looking for recognition and want to show what you have achieved. Or you want to improve yourself, compare yourself with others and learn from them. In principle, you can use reasons for any kind of interpersonal conversation here. Of course, there can also be practical benefits that result specifically from features of the game. For example, you can arrange a guild raid or find a trading or exchange partner for items.

From the point of view of publishers and developers, there are also advantages from a community. Often this is an easier way to provide cost-effective and efficient support. Instead of having to answer e-mails and calls, they can do this in a place where they can already refer to and fall back on an accumulated knowledge. Help requests can often be answered by other users without your own team having to intervene. Furthermore, a community provides extensive feedback. In this way, the developers can react early and change something or find out what is well received and in which direction they should continue. Perhaps most importantly, however, is the free advertising effect. In this way, knowledge and impressions about the game spread without high costs.

The agony of choice
But where do you start? Which social platforms are good, what are the advantages and disadvantages? Should one be represented as everywhere as possible or should it be better to concentrate on one network? These questions are not easy to answer and depend on the one hand on the game that is to be represented and on the other hand on whether you can muster enough capacity to moderate all of these. One can first focus on the advantages mentioned above in order to make a better decision. First of all, I want to create a central point of contact where people can contact me and get involved in the development process if they want. Facebook, Twitter and Co. are better suited for spreading news and giving constant feedback in development. Such platforms live from a regularity and users quickly drop out if they are not presented with enough material. Instead, I would prefer a place where I can store all information persistently and where a certain degree of clarity is guaranteed. So after a lot of research and attempts I decided to focus on Discord. "Discord is a free instant messaging, chat, voice conferencing, and video conferencing program designed for computers and mobile devices to 'bring gamers together'. The service can be used as a web application in the browser or with proprietary client software on all common operating systems. In May 2018, the service had 130 million users. "[Wikipedia]

You should distinguish whether the web presence you want to create presents the game, the company or the developer himself. This is how I have a Discord server for my game GameMaster as well as one created for my person and company. As a person, developer or one-person business, I am still represented on a number of other platforms. I am currently putting a lot of work into my Instagram account, on which I mainly post news about my development, but also personal things. More focused on the development, I post on Twitter, but much more cautious. As a pure developer business, I am also represented on Facebook. This covers a few of the largest social networks and the content is prioritized differently, according to my personal judgment for typical target groups on the respective platforms. I can also be found on significantly more platforms that I won't list all of them. Most of them are mainly used for discoverability and then refer to others, such as Discord. I would of course be very happy if one or two readers find their way into my communities and support me.

Set up Discord
First of all, of course, we need an account, which we can create on, if not already done. As the Wikipedia description has already revealed, we can do this directly in the browser, but also in applications or apps for different platforms. As soon as you are logged in, you can safely create your own server by clicking on the plus in the server list on the left.

The button for adding a new server, just below the GameMaster and BadToxic-Servers

Then you can create your own text and voice channels (channels) as you like and invite the first users. But I would hardly write in the style of a manual if everything were as trivial as these first steps. ;) It would be best if I deal with a critical topic right away - spam and protection against it. When you make a server public, you run the risk of people with bad intentions coming in and doing mischief. This can take various forms. Users can spread spam, advertisements or indecent comments on any channel. You can post links to malicious content or phishing attempts. You can also see all other users who are on the server and also write to them privately and annoy them with the same. You can also use bots to automate these attacks. So it can happen that whole user groups enjoy visiting one server after the other in order to spam them with many messages per second and thus make them unbearable. Of course, as an admin you can block and kick such users, but that does not protect against these attackers creating new accounts and starting over or others coming and doing the same. It is difficult to do something about such things without depriving good users of all their freedoms. But there are means and I will briefly explain them to you.

Discord bouncers and roles
I used different bots and roles to create a kind of "gatekeeper" who should only let peaceful people on the server if possible. It works like this: there is a channel called “Welcome”, which is initially the only one visible to everyone. There you have to perform a certain action before you can access the other channels. In my case you have to "react" to a text with a certain emoji. These so-called "reactions" are a Discord function that allows symbols to be placed directly under a post. You may already know this from Facebook if you are new to Discord. So I wrote down a small list of rules that you have to agree to with a tick symbol so that the rest of the server is unlocked.

The welcome channel on the BadToxic-Server acts as a "doorman"

The advantage of using this symbol is that you can completely forbid writing in this welcome channel. So nobody can spam here either. Alternatively, it could have been implemented in such a way that the user would have to write a certain text, such as "agree" (I agree). Then you could have all messages automatically deleted there immediately in order to avoid spam. But I decided on the first variant because in my opinion it is nicer and easier.

In order to implement this technically, we first need roles. Each user can belong to different roles and specific rules can be defined for each channel for each role. So we forbid everyone ("@everyone") to write messages in the welcome channel, but create another role "@Member", which should be able to write in all channels provided.

The welcome channel only allows newcomers to read and "react" via emojis

So that a role is automatically assigned, for example if you agree as described above, we need a bot. I use this Zirathat exists precisely for this purpose. If you have implemented all of this, you are almost safe from automated attacks - so far I have not seen a bot that tries out all the reactions in order to possibly get roles. Of course, people can still read the text, consent, and spam themselves, or even teach a bot to do just that. But the hurdle and the effort involved is already much higher and makes this much less likely. But you shouldn't leave it at that, but take additional safety precautions. Discord offers some things out of the box under the server setting "Moderation". Here you can set a verification level - how long a user has to be on a server before he can write. In addition, a message filter, which should find inappropriate content. And last but not least, a 2-factor authentication, so that, for example, you can only log in using a code that you receive on your mobile phone.

Moderation help from Discord

Content design
Now we come to the content of our Discord servers. We want to provide news, offer a place to discuss various relevant topics and be able to provide support. As our game is still in the early stages of development, news weighs the most, as there is not much to discuss or need help. So it makes sense to create a “news” channel in which we regularly report on innovations.

The first channels on the GameMaster-Server

Wouldn't it be great if things like this went by themselves? We may already (or additionally) post our news in other places, such as Twitter, Instagram or Facebook. Can't we automate this process so that we just have to post in one place and it ends up everywhere? There is probably no perfect all-in-one solution, but there are some widgets that do some of this work for you. For this I want you IFTTT ("If This Then That" = "If This Then That") and zapier imagine two platforms that make it possible to link all kinds of services with one another. zapier can only be used to a limited extent free of charge. I used this to connect various social networks to Discord. For example, my new Twitter, Instagram or Facebook posts automatically end up in different channels of mine BadToxic-Server.

My "applets" open IFTTT

So-called "webhooks" are used in Discord to receive the data. Some services already offer to connect to such webhooks by default. The version management of GameMaster finds on GitLab instead, which already offers such an integration. But since I don't want to make my source code publicly available to everyone in this project, the “Repository” is set to private. If I were to use the native integration, I would get messages sent to Discord, but they would be without content. The users on my server would only see that there was an update to the game, but not what was updated. To solve this problem, I use zapierwhich is on my behalf at GitLab log in and read out the updates and send them to Discord.

Left:GitLab "Zap" in zapier; Right: the receiver channel in Discord

The maintenance
Finally, I would like to briefly discuss the maintenance of the server. Large communities usually have several moderators who take care of law and order and help people. At first I would have to take on this job alone if there weren't any digital friends - bots. Support me in this task Dyno a free bot for automatic moderation, logging of actions, streaming music in voice chat and much more. For example, he can react to predefined forbidden words, delete the relevant message and warn or even ban the user. Or you can set “cooldowns” for certain actions - a user is warned if he sends links several times within a few seconds.

Automatic moderation settings in Dyno

So far, I have found the logging functions to be particularly useful. Different actions can be logged in different channels. For example, I can have it displayed there when someone has left my server, which would not be possible without extra tools or manual observation.

So we should have discussed the topic of communities enough for now. Next time we will deal with shaders with which we want to polish up our graphics and achieve special effects. In fact, these become an important part of the game mechanics itself.

Would you prefer to read excerpts from the life of a developer in English? You can find the German version of this diary entry under this link!

Previous page | Next page