Skip to content

Guide

Get SfwBot running on your server

Adding the bot and running `/setup` takes a few minutes. The wizard sets the log channel and the nudity level. Nudity detection runs from the moment the bot joins, and the other modules stay off until you switch them on in the dashboard.

Before you start

You need the Manage Server permission in the Discord server you want to protect. The same permission decides who can open the server in the dashboard and who can run /setup.

SfwBot asks for a set of permissions when you add it. In general terms it needs to:

  • see channels and read the messages posted in them, so it can check them
  • delete messages (Manage Messages), so it can remove what breaks your rules
  • send messages, so it can post in your log channel
  • time out, kick and ban members, but only if you use timeouts or strike actions
  • manage the server, but only if you let it maintain AutoMod rules

If you remove one of these later, the modules that depend on it stop working. /status shows which permission is missing.

Bot and dashboard are available in English, German, Spanish, Brazilian Portuguese, French, Simplified Chinese and Japanese. The bot answers each member in their own Discord language.

Add the bot and run the wizard

You can do all of this in the dashboard instead. The wizard is the quickest way to the two settings most servers want first.

  1. Add SfwBot to your server

    Open the dashboard and sign in with Discord. You see the servers you own or manage. Choose Add SfwBot next to the server and confirm the permissions in Discord.

  2. Run `/setup`

    In any channel of your server, type /setup. You can run it again at any time.

  3. Choose a log channel

    Pick the channel where SfwBot reports what it removed. The bot needs View Channel and Send Messages there. You can skip this step, but without a log channel your moderators are not told about removals. See logging.

  4. Read about exemptions and lists

    The second step explains how to exempt channels and roles from nudity detection and how the allow list and block list for images work. Nothing is changed here; you manage all of it later with /settings or in the dashboard.

  5. Choose what is blocked

    Pick the lowest nudity level that is removed: 1 revealing, 2 implied nudity or 3 explicit. If you skip the step, the default stays: explicit only. See nudity detection.

  6. Finish

    The last screen lists the most useful commands. Nudity detection has been running since the bot joined. The wizard changed its level and set the log channel.

What is on from the start

Two modules are on when the bot joins. The other five are off until you switch them on.

  • Nudity detection: on

    Images, GIFs and videos are scanned, and explicit content is deleted. Age-restricted channels are skipped.

  • Logging: on, once you choose a channel

    Logging is switched on, but nothing can be posted until a log channel is set.

  • Invite filter: off

    Removes invites to other Discord servers. See the invite filter guide.

  • Spam filter: off

    Checks for message flooding, emoji, newline, caps and attachment spam. See the spam filter guide.

  • Link protection: off

    Blocks links to known adult and scam websites. See the link protection guide.

  • AutoMod: off

    Lets SfwBot maintain Discord's own AutoMod rules for you. See the AutoMod guide.

  • Trust and strikes: off

    Gives repeated violations a consequence. See the trust and strikes guide.

Find your way around the dashboard

Every setting lives in the dashboard. The [settings reference](/docs/settings) lists each one with its default and allowed values.

  1. Open your server

    Go to the dashboard and choose Open next to your server. The overview shows warnings such as a missing log channel, missing permissions or an empty credit balance.

  2. Switch on what you need

    The navigation lists AI detection, Link protection, Spam protection, AutoMod, Trust and strikes, Logging and Credits. Each page has its own switch and its own settings.

  3. Set the server language

    Under General you choose the language of log messages and channel notices. By default it follows your server's Discord language.

Commands worth knowing

CommandWhat it does
/setupRuns the wizard again
/settingsOpens the settings, one page for each part of the bot
/statusChecks permissions, detection, logging and credits of your server
/helpSays what the bot does and lists the commands
/creditsShows your server's credit balance
/dmsLets a member turn direct messages from SfwBot on or off

The full list is in the command reference.

How members are told

SfwBot sends direct messages only to members who opted in with /dms. A member can run /dms in your server or in a direct message with the bot, and can switch it off again the same way.

Everyone else gets a short notice in the channel when one of their messages is removed. The notice deletes itself after a few seconds and never says what was removed. If you do not want it, switch it off under General in the dashboard.

Troubleshooting

  • /setup says you lack permission. You need Manage Server in that server.
  • The wizard rejects the log channel. Give SfwBot View Channel and Send Messages in that channel, or pick another one.
  • Nothing is removed. Run /status. It shows whether the bot can delete messages in the channel, whether the channel is exempt and whether detection is on.
  • Media in one channel is never checked. The channel is probably age-restricted or exempt. See nudity detection.
  • Scanning stopped. Check the balance with /credits. See credits.

Common questions

Do I have to use the dashboard?

No. /setup and the other commands cover the common settings. Some options, such as the spam checks and AutoMod, exist only in the dashboard.

Does SfwBot message my members when it joins?

No. The bot sends direct messages only to members who turned them on with /dms.

What does SfwBot cost?

Nudity scans use credits, and every server gets credits each month on the free plan. The text filters use no credits. Plus and Pro add credits and options. See pricing.

Articles on this topic