Documentation

How to set up Swivel, what each dashboard module does, and every command the bot supports.

Getting started

Add Swivel to your serverUse Invite and pick a server where you have Manage Server permission.
Log in to the dashboardLog in with Discord. Every server where you have Manage Server permission is listed on the Servers page.
Open your serverThe overview shows the server's modules. Modules start switched off, so turn on the ones you want.
Set each module upPick channels and roles on each module page and save. Changes reach the bot straight away.
Swivel needs these permissions to work fully: Manage Messages, Manage Roles, Manage Channels, Kick Members, Ban Members, Moderate Members and Send Messages. Its role must also sit above any role it hands out.

Permissions

Who can use moderation commands, from most to least access:

Server ownerFull access. Never blocked by filters or permission checks.
AdministratorMembers with Discord's Administrator permission get full moderation access automatically.
Moderator rolesRoles you add under Moderation. You choose which commands each role may use, for example allow warn but not ban.
Discord permissionsMembers with the matching Discord permission, such as Ban Members for ban, can use that command without a moderator role.

Moderation

Every action creates a numbered case with the reason and the moderator. Cases can be looked up, edited or voided later.

CasesWarns, mutes, kicks and bans are all logged as cases and posted to your mod log channel.
PointsEach action can add points. Set thresholds so Swivel mutes, kicks or bans automatically when a member reaches them.
Moderator rolesChoose which roles count as moderators and which commands each one may use.
DMs on actionOptionally tell members by DM when they are warned, muted, kicked or banned, with an appeal link for bans.

AutoMod

Filters that run on every message. Each filter has its own action (warn, mute, kick or ban), roles that are immune, and channels it ignores.

Bad wordsYour own word list, plus an optional built-in list. Add words to the allow list if the built-in list catches something you want to keep.
SpamActs when someone sends too many messages in a short time. You set both numbers.
Links and invitesBlock links, allow specific domains, or only block Discord invites.
Mass mentionsLimit how many people one message can mention.

Logging

Send server events to channels you choose. Each category can go to its own channel.

MessagesEdits, deletes, bulk deletes and pins.
MembersJoins, leaves, nickname changes and role changes.
ServerChannels, threads, roles, emojis, stickers, invites and webhooks.
Voice and moderationVoice joins, moves and leaves, plus bans and unbans.

Welcome

Greet new members in a channel or by DM, say goodbye when they leave, and give roles on join. Messages can be plain text or embeds, and can use message variables.

Reaction roles

Post a message with buttons or reactions that give roles. Members click again to remove the role, unless you set the panel to add only.

Swivel's role must be above the roles it gives out. Otherwise Discord blocks the change.

Applications

Create a formGive it a name and add questions: short answer, long answer, multiple choice or yes/no.
Choose where answers goPick a review channel and, optionally, a role to give when someone is accepted.
Share and reviewMembers fill the form in from its link. Accept or deny from the dashboard or the review channel.

Giveaways

Start a giveaway with a prize, a duration and a number of winners. Swivel picks winners when it ends. Use reroll or the dashboard to pick again.

Sticky messages

Keep a message at the bottom of a channel. Swivel reposts it after new messages so it stays in view.

Auto responder

Reply automatically when a message matches a trigger. Match the whole message, part of it, or its start. Replies can be text, an embed or a reaction.

Roblox verification

Members link their Roblox account through Roblox's official login, so Swivel never sees a password. Once linked, Swivel can give a verified role, remove an unverified role, and set nicknames to Roblox names. Members start with verify, and update syncs roles again later.

Commands

Every command works as a slash command and with the prefix (! by default, changeable in server settings), except those marked prefix only. Options in <angle brackets> are required and [square brackets] are optional.

Moderation

CommandWhat it doesNeeds
/warn<user> <reason> Also: caution, notice, masswarn Warn a member. Adds points and creates a case. Manage Messages
/mute<user> [duration] [reason] Also: silence, timeout, massmute Time a member out using Discord's timeout. Moderate Members
/unmute<user> [reason] Also: unsilence, remove-timeout Remove a timeout. Moderate Members
/kick<user> [reason] Also: remove Kick a member from the server. Kick Members
/ban<user> [reason] [duration] Also: forceban Ban a member, permanently or for a set time. Ban Members
/softban<user> [reason] Also: tempban, lightban Ban and immediately unban to clear recent messages. Ban Members
/unban<user> [reason] Also: pardon, revoke, massunban Lift a ban. Ban Members
/purge<amount> Also: clear, bulkdelete Delete recent messages in a channel. Pinned messages are kept. Manage Messages
/purgeuser<user> Also: clearuser, userpurge Delete up to 100 of one member's recent messages in this channel. Manage Messages
/lock[channel] [duration] [reason] Also: lockchannel Stop members from sending messages in a channel. Manage Channels
/unlock[channel] [reason] Also: openchannel Reopen a locked channel. Manage Channels
/slowmode<duration> [channel] Also: setslowmode, rate Set slowmode on a channel. Manage Channels
/role<user> <role> Also: giverole, addrole Give or remove a role. Manage Roles
/temprole<user> <role> <duration> Also: temporaryrole Give a role that is removed automatically later. Manage Roles

Cases & points

CommandWhat it doesNeeds
/case<case_id> Show one moderation case. Moderate Members
/editcase<case_id> <new_reason> Also: updatecase, modifycase Change a case's reason. Manage Messages
/void<case_ids> Also: invalidate, strikeout Mark cases as void. They stay in history but no longer count. Manage Messages
/modlogs<user> Also: cases, moderations List a member's moderation history. Moderate Members
/modstats[moderator]Prefix only Also: moderatorstats, mstats Show how many actions a moderator has taken. Moderate Members
/points[user] Show a member's moderation points. Moderate Members
/managepoints<user> <action> [amount] [reason] Add, remove or reset points. Administrator

Roblox

CommandWhat it doesNeeds
/verify Also: robloxverify, link Get a link to connect your Roblox account. Anyone
/update[user] Also: sync, refresh Sync nickname and roles with the linked Roblox account. Manage Roles (for others)
/roblox[user] [discord_id] Also: robloxinfo Look up someone's linked Roblox account. Anyone

Giveaways

CommandWhat it doesNeeds
/reroll<giveaway> [count] Also: greroll, giveawayreroll Pick new winners for an ended giveaway. Manage Server

Utility

CommandWhat it doesNeeds
/helpPrefix only Also: commands, h List commands. Anyone
/ping Check the bot is responding. Anyone
/serverinfo Show information about the server. Anyone
/whois[user] Also: w, userinfo Show information about a member. Anyone
/roleinfo<role> Show information about a role. Anyone
/rolesPrefix only Also: serverroles, listroles List every role in the server. Anyone
/membercount[role] Also: members, usercount Show member counts, or who has a role. Anyone
/nick[user] [nickname] Also: nickname, setnick Change a nickname. Manage Nicknames
/remind<time> <message>Prefix only Also: reminder, remindme Get a DM reminder after a set time, e.g. 1h. Anyone
/inviteinfo<invite> Also: invite-info, invinfo Show details about an invite link. Anyone
/vote Get the link to vote for Swivel. Anyone
/flipPrefix only Also: coinflip, coin Flip a coin. Anyone

Fun

CommandWhat it doesNeeds
/avatar[user] Also: av Show someone's avatar at full size. Anyone
/banner[user] Show someone's profile banner. Anyone
/enlarge<emoji> Show custom emojis at full size. Anyone
/say<message> Make the bot repeat a message. Anyone

Message variables

Use these in welcome, leave and auto responder messages. Swivel swaps them for the real value when it sends the message.

VariableBecomes
{user}A mention of the member
{username}Their username
{displayname}Their name in this server
{tag}Their Discord tag
{id}Their user ID
{server}The server's name
{memberCount}How many members the server has
{createdAt}How long ago their account was made
{joinedAt}When they joined

Getting help

Stuck, or found a bug? Ask in the Swivel support server.