Skip to content

Instantly share code, notes, and snippets.

@Roadcrosser
Last active February 25, 2023 20:50
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save Roadcrosser/7b0bc2fbc83c4196e55d9c3675f6dfca to your computer and use it in GitHub Desktop.
Save Roadcrosser/7b0bc2fbc83c4196e55d9c3675f6dfca to your computer and use it in GitHub Desktop.
Kitchen Sink Feature List

Feature List (not a command list)

Looking for the Roleban Docs?

Looking for the Reaction Role setup menu?

Kitchen Sink is a decent bot with many useful features, such as

.

Adds the . prefix for the server.

auto_dehoist

Automatically dehoists users with the following characters at the start of their display name: !"#$%&'()*+,-./

The characters detected can be changed on request.

Requirements: MANAGE_NICKNAMES

anti_self_star

Deletes star reactions people put on their own message. If the message has not been self-starred before, a message is sent confirming that the self-star was prevented. Stars from said message are also deleted.

You can also optionally choose a custom star emote (only one), and a list of whitelisted channels this will work in.

Requirements: MANAGE_MESSAGES, custom_star_emote (optional), star_channel_whitelist (optional)

custom_staff_list

Allows the staff command to be customised with specific roles and role groups.

If you just want the staff command to list your mods, it should already work as-is.

Requirements: staff_list_name, staff_role or staff_lists and a staff_argument_map ok you have no idea what I'm talking about why did I bother mentioning any of this.

invite_police

Reports valid invites leading to another guild posted with info about the destination guild to mod_channel.

Requirements: mod_channel access

snipe

Allows staff to call snipe to repost the last quick-delete/edit in the channel. A less forceful version of the above.

Requirements: VIEW_AUDIT_LOG, staff_role

snipe_staff_unlock

Unlocks snipe for all users.

Requirements: None

role_timegate

Automatically grant roles to members after they have been on the server for a specific amount of time.

The role will be applied when the member sends a message for the first time after exceeding the time threshold.

Requirements: MANAGE_ROLES, role_timegates (A list of seconds, role id tuples)

voice_channel

Detects when users join a voice channel, and edits their permissions to allow them into a specified text channel.

If a staff member joins or leaves the voice channel, the channel limit (if any) is offset to allow other users to join past the regular limit, effectively making staff members not take up a slot.

If the corresponding text channel is set to prevent everyone from viewing its contents by default, all contents of the channel are wiped when the voice channel is vacated.

An optional role can be specified to "block" specific users from getting added to the channel.

Requirements: MANAGE_CHANNELS, MANAGE_MESSAGES, voice_blacklist if used, voice_to_text, access to all channels involved

voice_channel_roles

If you distrust uptime like I do, permissions can be proxied off to roles instead of direct channel permissions, with a role per voice channel.

Requirements: voice_channel enabled, MANAGE_ROLES, voice_to_roles

voice_purge_override

This will override the channel wipe behavior and will instead only wipe the channel if the (text) channel ID is in the voice_channel_purge list.

Requirements: voice_channel enabled, voice_channel_purge

spoiler_ban

Deletes any messages sent (or edited) if it contains Discord's spoiler tags. Also deletes spoilered attachments. Only affects channels in the voice_channel_purge list.

Users with manage messages are immune.

Requirements: MANAGE_MESSAGES, spoiler_banned_channels

eye_tracking

Sends how many times the eyes emoji is used to eye_tracking_channel with who used it how many times and where (ignoring eye_tracking_channel).

Why does this even exist.

Requirements: eye_tracking_channel and access to it.

disable_reaction_translate

Disables the reaction translate feature.

Requirements: None.

disable_snowball

Disables snowball.

Requirements: None.

disable_preview_message_links

Disables posting a preview of the linked message when a user links it.

cotd

Changes the color of a role named COTD (or the custom_cotd_name) into a different one daily (at midnight UTC). One can use the cotd command to see the current color.

Requirements: MANAGE_ROLES, custom_cotd_name (if used)

gallery

Automatically deletes messages without attachments or URLs in specified channels. People with staff_role are immune.

Requirements: gallery_channels

DAMMERUNG

You do not recognize the bodies in the water.

Requirements: ███████, █████████

server_log

Log member joins, leaves, and name changes.

Requirements: server_log_channel

Deprecated features

These features have been deprecated. Existing guilds can keep this feature active, but it will not be added to any new guilds.

raid_mode

Raid mode notifies mod_channel if a user joins if any of the following are met:

  • Raid mode is enabled (Toggled with the raid command, or on and off as arguments to force a specific state)
  • Account is younger than 2 days
  • User was immediately rolestated with a roleban upon joining

The notification will include which invite the user joined with (An invite of Unknown is likely the guild's Vanity URL).

The invites [amount=5] [offset=0] command will post cached invite uses.

In addition, raid mode also notifies mod_channel if a user is banned, with who did the ban and with what reason. All invites created by the banned user are revoked.

Requirements: MANAGE_GUILD, VIEW_AUDIT_LOG, mod_channel access, staff_role

delete_police

Reposts a message if it was deleted too quickly.

How fast this is is (optionally) defined in delete_interval.

The message is not reposted if any if the following conditions are met:

  • The message was posted by a bot
  • Another user deleted the message
  • The messages were automatically deleted following a ban of the user
  • The messages were deleted in bulk by a bot

Invite links in the reposted message are redacted.

Channels can be added to a whitelist/blacklist with delete_police_whitelist and delete_police_blacklist.

Requirements: VIEW_AUDIT_LOG, delete_interval; delete_police_whitelist; delete_police_blacklist if definition is required.

edit_police

Reposts a message if it was edited too heavily and quickly.

How fast this is is (optionally) defined in delete_interval.

The message is reposted if all the following conditions are met:

  • The edited message is shorter than the unedited message (ignoring counting mentions, emotes and whitespaces)
  • The edit has a Levenshtein distance of at least 10.
  • The message was not sent by a bot

Channels can be added to a whitelist/blacklist with delete_police_whitelist and delete_police_blacklist.

Requirements: delete_interval; delete_police_whitelist; delete_police_blacklist if definition is required.

ignore_invites

This makes delete police ignore messages deleted with invites. This should be used if the server already has invite surveillance, such as Vortex.

Requirements: delete_police enabled.

archive

When enabled, if the archive command is used in the roleban channel, the archive of the chat will be uploaded to Google Drive, with the link to the log posted to mod_channel. If used outside roleban channel, the Google Drive archive folder will be searched given the argument as search parameters.

Kitchen Sink's email is everything-but-the@kitchen-sink-55555.iam.gserviceaccount.com, to be added to the archive folder.

Requirements: mod_channel access, staff_role, archive_folder, archive folder access

warning

This feature allows staff to add warnings to users on a Google Drive Spreadsheet with the warnings command.

warnings help will display documentation for this command.

If warning_expiry is defined, warnings will be marked as expired when its age exceeds the defined number of days.

A warning with its comment containing the infinity symbol () will be marked as permanent, while comments containing the empty set symbol () will be set as null.

Using this command without arguments will display the last 5 warnings if used by Staff, or the user's own warnings otherwise.

Requirements: staff_role, warning_sheet, warning_expiry (if applicable, defined in number of days), warning sheet access

pingmod

This feature enables the pingmod command, which when used by a user, pings the first online mod in a predetermined priority list, with any extra arguments specified.

If the mod responds by kicking, banning, muting or rolebanning a user within the cooldown period, a confirmation message will be posted to the channel.

Requirements: VIEW_AUDIT_LOG, staff_role, priority, mute_roles if any

@Ensign0
Copy link

Ensign0 commented Dec 16, 2021

This is my type of explanation.

@Sylveondev
Copy link

@Ensign0 Same but for mine, each sentence in different languages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment