Firewall

Firewall is a Discord moderation, antispam, and antinuke bot.

Details
  • Prefix: f.
  • Library: discord.py
  • Category: Moderation
About Firewall

Welcome to Firewall, the Discord moderation, anti-spam and anti-nuke bot.

Bot prefix: f.

Categories: Type f.info CATEGORY for command help.

setup: Setup commands for the bot. antinuke: Setting up bot anti-nuke parameters. moderation: Member moderation settings. whitelist: Server whitelist settings. history: Server history settings. antispam: Server anti-spam settings. verify: Server verification settings. reactionroles: Simple reaction role commands.

SETUP COMMANDS

f.listsettings: Show the current server settings. f.setdefault: Set the server's parameters to bot default. Can only be run by the server owner. f.setlogchannel #LOG_CHANNEL_MENTION: Set the logging channel for the bot. f.setmemberlogchannel #CHANNEL_MENTION: Set the channel for member status updates. f.serverstats: Show server statistics. f.support: Show the bot support server link. f.invite: Show the bot invite link.

The bot's antinuke features include monitoring bans, channel deletions, role deletions, and emoji changes for large spikes in activity. If a user does too many of these changes in the specified time, they are automatically quarantined, which stirps all roles and assigns a custom role with zero permissions, neutralizing them until it can be ascertained that it was a valid change. Whitelisted users are exempt from the anti-nuke detection.

ANTI-NUKE COMMANDS

f.setbanq NUMBER_OF_BANS TIME_IN_SECONDS: Quarantine a user after too many bans in a specified period of time. f.setroleq NUMBER_OF_ROLE_DELETES TIME_IN_SECONDS: Quarantine a user after too many role deletions in the specified period of time. f.setemojiq NUMBER_OF_EMOJI_CHANGES TIME_IN_SECONDS: Quarantine a user after too many emoji deletions or changes in a specified period of time. f.setchannelq NUMBER_OF_CHANNEL_DELETES TIME_IN_SECONDS: Quarantine a user after too many channel deletions in a specified period of time.f.lockdown: Last resort. Quarantine ALL users not in the whitelist to stop further spam or damage. f.resume: Clear the lockdown and restore everyone's permissions.

WHITELIST COMMANDS

The server whitelist is a list of users that have permission to run most of the bot's commands and whose actions are ignored by the automatic quarantine parameters. Only the server owner may modify the whitelist.

f.addtowhitelist @USER_MENTION: Add a user to the administrator whitelist. f.deletefromwhitelist @USER_MENTION: Delete a user from the whitelist. f.showwhitelist: Show the user whitelist.

HISTORY COMMANDS

f.showchannelhistory: Show the channel deletion history. f.showemojihistory: Show the emoji change history. f.showrolehistory: Show the role deletion history. f.showbanhistory: Show the ban history. f.purgehistory: Delete all history entries in the bot for this server.

HISTORY COMMANDS

f.showchannelhistory: Show the channel deletion history. f.showemojihistory: Show the emoji change history. f.showrolehistory: Show the role deletion history. f.showbanhistory: Show the ban history. f.purgehistory: Delete all history entries in the bot for this server.

ANTI-SPAM COMMANDS

Anti-spam features include a mention limit per message and quarantining accounts that aren't a certain age on Discord.

f.setminage ACCOUNT_AGE_IN_DAYS: Set the minimum age of an account in days required to not be quarantined upon joining. f.setmentionlimit NUMBER_OF_MENTIONS: Set the maximum number of mentions per message before a user is quarantined. Whitelisted users are exempt.

VERIFICATION COMMANDS

f.verifyon: Turn on verification. f.verifyoff: Turn off verification. Deletes the verify message but doesn't clear the settings. f.setverifymessage TEXT: Set the verification message. (Suggested to set to server rules). f.setverifyemoji EMOJI: Set the verification emoji to react to for access. f.clearverifymessage: Clear the verify text, but do not modify the current message. f.setupgateway #CHANNEL_MENTION: Set up the verification message and emoji. f.setverifytimeout MINUTES ACTION: Set the time in minutes before ACTION (none, kick,