More
Badges and guidelines
Badges show your work, and a few good habits make your bot one people want to keep.
Badges
Bot Developer
On your own profile, from the moment you make your first bot. It's earned automatically.
Verified Bot
A checkmark on the bot's profile: Roar staff have looked at it and trust it. Staff give it by hand.
To ask for Verified Bot, message a staff member on the official Roar server once your bot has been running for a while. Tell them what it does and which servers use it. Staff look for bots that follow the guidelines below.
Built-in bots
Every node has two verified bots run by the node itself, so they never go offline. Add them from Server Settings → Bots:
- Welcomer greets new members in a channel, or by DM, and can give them a role. The message can use
{user}and{server}. - Levels gives 15–25 XP a minute to people who chat, announces level-ups (
{user},{level}), and answers/rankand/leaderboard.
If one of these does what you need, you may not need your own bot at all.
Good bot guidelines
Keep it safe
- Keep the token secret. Load it from an environment variable or a file you never share. Don't put it in code you upload. Reset it at once if it leaks.
- Give it only the permissions it needs. A dice bot doesn't need Administrator. Server admins are more likely to add a bot that asks for little.
- Check who's asking. Before a command kicks, bans, deletes or changes roles, check the person using it is allowed to (for example, that they have a moderator role). The bot's own permissions say what the bot can do, not what the person should be able to make it do.
Be a good guest
- Answer when asked. Reply to commands and mentions. Don't post on your own in busy channels, except for things a server asked for, like welcome messages or reminders.
- Don't DM people out of the blue. Only send a DM when someone asked for it (a reminder they set, a reply to their command). Never send DMs in bulk.
- Ignore other bots (
msg.author.isBot), so two bots can't answer each other forever. - Use answers only the person sees (
ephemeral: true) for errors, settings and anything private. - Say what it does. Give the bot a description and a
/helpcommand.
Respect people
- Store as little as you can. Don't keep people's messages unless the bot needs them to work, and tell people what it keeps. Delete their data if they ask.
- Don't pretend to be someone else: not Roar staff, not another bot, not a real person.
- Follow the server's rules, and keep 18+ content to 18+ channels.
Run it well
- Handle errors. When something fails, tell the person what happened instead of going quiet.
- Don't hammer the API. Roar.js waits out rate limits for you. In other languages, honour
retry_after. - Run one copy. Two programs with the same token both get every event, so they'd answer everything twice.
Node staff can remove a bot from their node that harms people or the node, just like a person's account.