├── CNAME ├── README.md └── docs ├── .nojekyll ├── CNAME ├── _coverpage.md ├── _footer.md ├── _images ├── automod.png ├── autoroles.png ├── bot_settings.png ├── create_autofeed.png ├── create_rr.png ├── dump.png ├── dump_slash.png ├── embed_builder.png ├── faq_discordid.png ├── faq_drama.png ├── free_game_alerts.png ├── gif.png ├── import_tags.png ├── level_card.png ├── level_config.png ├── level_rewards.png ├── patron_button.png ├── starboard_settings.png ├── sticky_roles.png ├── suggestions.png ├── tag_create.png ├── toproll.png ├── trigger_create.png ├── twitch.png ├── verify_tag.png ├── welcome_channel.png └── welcome_settings.png ├── _media ├── googleturtle.ico ├── googleturtle.png └── googleturtle.svg ├── _navbar.md ├── _sidebar.md ├── automod.md ├── config.md ├── embeds.md ├── feeds.md ├── fun.md ├── games.md ├── getting-started.md ├── index.html ├── index.md ├── levels.md ├── logging.md ├── misc.md ├── moderation.md ├── notifications.md ├── premium.md ├── roles.md ├── starboard.md ├── suggestions.md ├── tagstriggers.md ├── utilities.md └── welcome.md /CNAME: -------------------------------------------------------------------------------- 1 | docs.carl.gg 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Carl-bot Documentation 2 | 3 | This is the documentation for Carl-bot (https://carl.gg). 4 | 5 | This is still a work in progress, and is constantly updated, in-case you find something incorrect/missing, 6 | feel free to raise a Pull request as per Contributing Guidelines below. 7 | 8 | # Support 9 | If you don't find the information you're looking for, please inform the [support server.](https://discord.gg/S2ZkBTnd8X) 10 | 11 | 12 | It is hosted on https://docs.carl.gg. 13 | 14 | ## How to run the documentation locally 15 | 16 | - Clone the repository on your system. 17 | - Install docsify-cli `npm i docsify-cli -g` 18 | - Then do `docsify serve ./docs` to host the documentation on `https://localhost:3000` 19 | 20 | ## Contributing Guidelines 21 | 22 | - You can fork this repository, and make changes and raise a pull-request. 23 | - All pull requests must be raised to the `dev` branch. 24 | - Once your contribution has been reviewed, it will be merged to the `dev` branch. 25 | - Periodically, the `dev` branch will be merged to `master` branch, and your changes will be auto-deployed. 26 | - All changes must be only factually corrective or additive to about the usage of bot. Stylistic changes won't be considered unless they are critical to the functioning of the documentation. 27 | - you can also raise a github issue for correction to the documention. 28 | -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/.nojekyll -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | docs.carl.gg -------------------------------------------------------------------------------- /docs/_coverpage.md: -------------------------------------------------------------------------------- 1 | ![logo](_media/googleturtle.svg ':size=100') 2 | 3 | # Carl-bot 4 | 5 | > Welcome to the Documentation 6 | 7 | Don't be shy, we are open source so feel free to improve the docs 8 | 9 | [Get Started](#Documentation) -------------------------------------------------------------------------------- /docs/_footer.md: -------------------------------------------------------------------------------- 1 | Copyright © 2025 [BotLabs](mailto:support@botlabs.gg) 2 | -------------------------------------------------------------------------------- /docs/_images/automod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/automod.png -------------------------------------------------------------------------------- /docs/_images/autoroles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/autoroles.png -------------------------------------------------------------------------------- /docs/_images/bot_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/bot_settings.png -------------------------------------------------------------------------------- /docs/_images/create_autofeed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/create_autofeed.png -------------------------------------------------------------------------------- /docs/_images/create_rr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/create_rr.png -------------------------------------------------------------------------------- /docs/_images/dump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/dump.png -------------------------------------------------------------------------------- /docs/_images/dump_slash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/dump_slash.png -------------------------------------------------------------------------------- /docs/_images/embed_builder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/embed_builder.png -------------------------------------------------------------------------------- /docs/_images/faq_discordid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/faq_discordid.png -------------------------------------------------------------------------------- /docs/_images/faq_drama.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/faq_drama.png -------------------------------------------------------------------------------- /docs/_images/free_game_alerts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/free_game_alerts.png -------------------------------------------------------------------------------- /docs/_images/gif.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/gif.png -------------------------------------------------------------------------------- /docs/_images/import_tags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/import_tags.png -------------------------------------------------------------------------------- /docs/_images/level_card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/level_card.png -------------------------------------------------------------------------------- /docs/_images/level_config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/level_config.png -------------------------------------------------------------------------------- /docs/_images/level_rewards.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/level_rewards.png -------------------------------------------------------------------------------- /docs/_images/patron_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/patron_button.png -------------------------------------------------------------------------------- /docs/_images/starboard_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/starboard_settings.png -------------------------------------------------------------------------------- /docs/_images/sticky_roles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/sticky_roles.png -------------------------------------------------------------------------------- /docs/_images/suggestions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/suggestions.png -------------------------------------------------------------------------------- /docs/_images/tag_create.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/tag_create.png -------------------------------------------------------------------------------- /docs/_images/toproll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/toproll.png -------------------------------------------------------------------------------- /docs/_images/trigger_create.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/trigger_create.png -------------------------------------------------------------------------------- /docs/_images/twitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/twitch.png -------------------------------------------------------------------------------- /docs/_images/verify_tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/verify_tag.png -------------------------------------------------------------------------------- /docs/_images/welcome_channel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/welcome_channel.png -------------------------------------------------------------------------------- /docs/_images/welcome_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_images/welcome_settings.png -------------------------------------------------------------------------------- /docs/_media/googleturtle.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_media/googleturtle.ico -------------------------------------------------------------------------------- /docs/_media/googleturtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botlabs-gg/carlbot-docs/9813815f5686d7726be04c5b837e89f334ff18d6/docs/_media/googleturtle.png -------------------------------------------------------------------------------- /docs/_media/googleturtle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | 11 | 13 | 14 | 15 | 17 | 19 | 21 | 29 | 30 | 31 | 34 | 35 | 40 | 43 | 44 | 45 | 48 | 50 | 52 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /docs/_navbar.md: -------------------------------------------------------------------------------- 1 | * [Invite](https://discord.com/oauth2/authorize?&client_id=235148962103951360&scope=applications.commands+bot&permissions=2088234230&response_type=code&redirect_uri=https://carl.gg/api/server_auth) 2 | * [Dashboard](https://carl.gg) 3 | * [Premium](https://www.patreon.com/carlbot) 4 | * Support 5 | * [Discord](https://discord.gg/S2ZkBTnd8X) 6 | * [Twitter](https://twitter.com/carl_discord) 7 | * [Status](https://carl.gg/status) -------------------------------------------------------------------------------- /docs/_sidebar.md: -------------------------------------------------------------------------------- 1 | - [**Getting Started**](getting-started.md "Getting Started") 2 | - [**Config**](config.md "Configuration") 3 | - [**Automod**](automod.md "Automod") 4 | - [**Embeds**](embeds.md "Embeds") 5 | - [**Feeds**](feeds.md "Feeds") 6 | - [**Fun**](fun.md "Fun") 7 | - [**Games**](games.md "Games") 8 | - [**Welcome & Leave**](welcome.md "Welcome & Leave") 9 | - [**Levels** :star:](levels.md "Levels") 10 | - [**Logging**](logging.md "Logging") 11 | - [**Misc**](misc.md "Misc") 12 | - [**Moderation**](moderation.md "Moderation") 13 | - [**Notifications**](notifications.md "Notifications") 14 | - [**Premium** :star:](premium.md "Premium") 15 | - [**Roles**](roles.md "Roles") 16 | - [**Starboard**](starboard.md "Starboard") 17 | - [**Suggestions**](suggestions.md "Suggestions") 18 | - [**Tags & Triggers**](tagstriggers.md "Tags & Triggers") 19 | - [**Utilities**](utilities.md "Utilities") 20 | 21 | -------------------------------------------------------------------------------- /docs/automod.md: -------------------------------------------------------------------------------- 1 | ?> It is highly recommended to use the **[Dashboard](https://carl.gg)** for setting up automod. 2 | 3 | ![Automod](_images/automod.png ':size=75%') 4 | 5 | ## General Settings 6 | 7 | 8 | 9 | 10 | Name | Example | Usage 11 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 12 | [**am**\|**automod**]
Manage Server | `!am` | Shows an overview of the current automod settings. 13 | **automod drama** \
Manage Server | `!automod drama #drama` | This is a [Premium](https://www.patreon.com/carlbot) command.
Set the channel where mods can make decisions on rule breakers through reactions. 14 | **automod log** \
Manage Server | `!automod log #automod` | Set the channel where the logs for automatic moderation actions go. 15 | **automod** [media\|mo]
Manage Server | `!am mo #show-off` | Set the channel(s) where only posting images/links is allowed. 16 | **automod** [unmedia\|umo\|unmo]
Manage Server | `!am umo #show-off` | Removes the media-only restriction from one or more channels. 17 | **automod** [whitelist\|wl]
Manage Server | `!am wl mods #admin-chat` | Whitelists roles and/or channels so that the automod ignores messages posted in/by them. 18 | **automod** [unwhitelist\|unwl]
Manage Server | `!automod unwl mods #admin-chat` | Removes roles and/or channels from the automod whitelist. 19 | **deletefiles**
Manage Server | `!deletefiles` | Toggles deleting unsafe files. Safe formats include png, jpg, jpeg, gif, svg, bmp, tif, webp, webm, mp4, mov, pdf, txt, mp3, flac and wav. 20 | 21 | 22 | Name | Example | Usage 23 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 24 | **automod server**
Manage Server | `/automod server` | Shows an overview of the current automod settings. 25 | **automod drama** \
Manage Server | `/automod drama #drama` | This is a [Premium](https://www.patreon.com/carlbot) command.
Set the channel where mods can make decisions on rule breakers through reactions. 26 | **automod log** \
Manage Server | `/automod log #automod` | Set the channel where the logs for automatic moderation actions go. 27 | **automod media**
Manage Server | `/automod mo #show-off` | Set the channel(s) where only posting images/links is allowed. 28 | **automod unmedia**
Manage Server | `/automod umo #show-off` | Removes the media-only restriction from one or more channels. 29 | **automod whitelist** [add\|remove]
Manage Server | `!automod whitelist add mods #admin-chat` | Add or remove roles and/or channels from the automod whitelist. 30 | **deletefiles**
Manage Server | `/deletefiles` | Toggles deleting unsafe files. Safe formats include png, jpg, jpeg, gif, svg, bmp, tif, webp, webm, mp4, mov, pdf, txt, mp3, flac and wav. 31 | 32 | 33 | 34 | 35 | ### Punishments 36 | The punishments available are: 37 | - **delete** - Deletes the message. 38 | - **warn** - Warns the offender. 39 | - **tempmute ** - Temporarily mutes for the duration specified. 40 | - **mute** - Mute for indefinite duration. 41 | - **timeout** - Timeout the offender. 42 | - **kick** - Kicks the offender. 43 | - **tempban ** - Temporarily bans the offender for the duration specified. 44 | - **ban** - Bans the offender. 45 | - **defer** - Sends the context to the drama channel and lets the mods vote on it. 46 | - **message** - Sends a message to the channel warning the member. 47 | - **dm/pm** - Sends a private message to the offender. 48 | 49 | ?> Input the duration in this format `3h42m`. 50 | 51 | ?>You can add more than one punishment by separating them with commas. 52 | 53 | 54 | ## Warn Threshold 55 | Warns do not automatically expire. Managing warns is detailed on the [Moderation](moderation) page. The warn threshold determines how Carl-bot reacts when a user receives a new warning and their total number of warnings exceeds a limit. Unless a user's warnings are reset or reduced manually, this punishment will trigger each time a user receives new warning while their total number of warnings is above your server's set limit. Set it to 0 to turn it off. 56 | 57 | 58 | 59 | 60 | Name | Example | Usage 61 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 62 | **automod** [warn\|threshold] \
Manage Server | `!am warn 5` | Sets the warn threshold for a punishment to be made. 63 | **automod** [warnpunish\|wp]
Manage Server | `!am wp kick` | Sets the punishment for hitting the threshold. 64 | 65 | 66 | Name | Example | Usage 67 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 68 | **automod threshold** \
Manage Server | `/automod threshold 5` | Sets the warn threshold for a punishment to be made. 69 | **automod warnpunish**
Manage Server | `/automod warnpunish kick` | Sets the punishment for hitting the threshold. 70 | 71 | 72 | 73 | 74 | ## Spam Settings 75 | 76 | 77 | 78 | 79 | Message spam will not be active without setting a rate limit of at least 1+ messages in 1+ seconds first. 80 | 81 | 82 | 83 | 84 | Name | Example | Usage 85 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 86 | [**slowmode**\|**sm**] [rate] [per]
Manage Server | `!slowmode 5 25` | Rate is the number of messages you can send per timeframe. Per is the timeframe. If you only supply one value, it sets that value as the per. (1/x) 87 | **slowmode** [punishment\|punish\|p]
Manage Server | `!sm p delete, tempmute 20m` | Sets the punishment(s) for hitting the rate limit. 88 | 89 | 90 | Name | Example | Usage 91 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 92 | **slowmode set** \
Manage Server | `/slowmode set 5 25` | Sets slowmode in the current channel. If you want the rate to be X messages in Y time then input `x y`. If only one value is supplied then it sets it as 1 message every supplied value. 93 | **slowmode disable**
Manage Server | `/slowmode disable` | Disables slowmode in the current channel. 94 | **slowmode punishment**
Manage Server | `/slowmode punishment delete, tempmute 20m` | Sets the punishment(s) for hitting the rate limit. 95 | 96 | 97 | 98 | 99 | Attachmentspam will not be active without setting a rate limit of at least 1+ files in 1+ seconds first. 100 | 101 | 102 | 103 | 104 | Name | Example | Usage 105 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 106 | **attachmentspam** [rate] [per=1]
Manage Server | `!attachmentspam 3 5` | Rate limits the number of attachments a member can post in a specific timeframe. Leave blank to disable. 107 | **attachmentspam punishment**
Manage Server | `!attachmentspam p mute, defer` | Sets the punishment(s) for hitting the rate limit. 108 | 109 | 110 | Name | Example | Usage 111 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 112 | **attachmentspam set** \
Manage Server | `/attachmentspam set 3 5` | Rate limits the number of attachments a member can post in a specific timeframe. 113 | **attachmentspam disable**
Manage Server | `/attachmentspam disable` | Disables attachmentspam in the current channel. 114 | **attachmentspam punishment**
Manage Server | `/attachmentspam punishment mute, defer` | Sets the punishment(s) for hitting the rate limit. 115 | 116 | 117 | 118 | 119 | Mentionspam will not be active without setting a rate limit of at least 1+ mentions in 1+ seconds first. 120 | 121 | 122 | 123 | 124 | Name | Example | Usage 125 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 126 | **mentionspam** [rate] [per=1]
Manage Server | `!mentionspam 25 5` | Enables the bot to automatically punish the mentionspammers. 127 | **mentionspam punishment**
Manage Server | `!mentionspam p tempban 24h` | Sets the punishment(s) for hitting the rate limit. 128 | 129 | 130 | Name | Example | Usage 131 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 132 | **mentionspam set** \
Manage Server | `/mentionspam set 25 5` | Enables the bot to automatically punish the mentionspammers. 133 | **mentionspam disable**
Manage Server | `/mentionspam disable` | Disables mentionspam in the current channel. 134 | **mentionspam punishment**
Manage Server | `/mentionspam punishment tempban 24h` | Sets the punishment(s) for hitting the rate limit. 135 | 136 | 137 | 138 | 139 | Linkspam will not be active without setting a rate limit of at least 1+ links in 1+ seconds first. 140 | 141 | 142 | 143 | 144 | Name | Example | Usage 145 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 146 | **linkspam**
Manage Server | `!linkspam` | Shows the current settings. 147 | **linkspam** \ [per=1]
Manage Server | `!linkspam 1 1` | Sets the link rate limit. Use the example command to block all links. 148 | **linkspam punishment**
Manage Server | `!linkspam p delte, mute, defer` | Sets the punishment(s) for hitting the rate limit. 149 | **linkspam bl**
Manage Server | `!linkspam bl reddit.com twitter.com` | Blacklists one or more links. 150 | **linkspam wl**
Manage Server | `!linkspam wl reddit.com twitter.com` | Whitelists one or more links. 151 | **linkspam unbl**
Manage Server | `!linkspam unbl reddit.com twitter.com` | Removes one or more links from the blacklist. 152 | **linkspam unwl**
Manage Server | `!linkspam unwl reddit.com twitter.com` | Removes one or more links from the whitelist. 153 | **linkspam clearbl**
Manage Server | `!linkspam clearbl` | Clears the blacklist. 154 | **linkspam clearwl**
Manage Server | `!linkspam clearwl` | Clears the whitelist. 155 | **linkspam block**
Manage Server | `!linkspam block` | Punish all non-whitelisted links. 156 | **linkspam off**
Manage Server | `!linkspam off` | Punish only blacklisted links. 157 | **linkspam norole**
Manage Server | `!linkspam norole` | Punish only those without roles. 158 | 159 | 160 | 161 | 162 | Name | Example | Usage 163 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 164 | **linkspam server**
Manage Server | `/linkspam server` | Shows the linkspam settings. 165 | **linkspam rate** \
Manage Server | `/linkspam rate 1 1` | Sets the link rate limit. Use the example command to block all links. 166 | **linkspam punishment**
Manage Server | `/linkspam punishment delte, mute, defer` | Sets the punishment(s) for hitting the rate limit. 167 | **linkspam blacklist** [add\|remove]
Manage Server | `/linkspam blacklist add reddit.com twitter.com` | Adds or removes link(s) to/from the linkspam blacklist. 168 | **linkspam whitelist** [add\|remove]
Manage Server | `/linkspam whitelist remove reddit.com twitter.com` | Adds or removes link(s) to/from the linkspam whitelist. 169 | **linkspam clear** [blacklist\|whitelist]
Manage Server | `/linkspam clear blacklist` | Clears the blacklist or the whitelist. 170 | **linkspam block**
Manage Server | `/linkspam block` | Punish all non-whitelisted links. 171 | **linkspam off**
Manage Server | `/linkspam off` | Punish only blacklisted links. 172 | **linkspam norole**
Manage Server | `/linkspam norole` | Punish only those without roles. 173 | 174 | 175 | 176 | 177 | You can enable and disable this feature through the dashboard. 178 | 179 | 180 | 181 | 182 | Name | Example | Usage 183 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 184 | **invitespam**
Manage Server | `!invitespam` | Shows the invitespam settings. 185 | **invitespam punishment**
Manage Server | `!invitespam p delete, mute, defer, message` | Sets the punishment(s) for hitting the rate limit. 186 | **invitespam norole**
Manage Server | `!invitespam norole` | Punish only those without roles. 187 | 188 | 189 | Name | Example | Usage 190 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 191 | **invitespam server**
Manage Server | `/invitespam server` | Shows the invitespam settings. 192 | **invitespam punishment**
Manage Server | `/invitespam punishment delte, mute, defer, message` | Sets the punishment(s) for hitting the rate limit. 193 | **invitespam norole**
Manage Server | `/invitespam norole` | Punish only those without roles. 194 | 195 | 196 | 197 | 198 | Bad words detection is case insensitive, looks for substrings and ignores punctuation. Censoring `boat` would cause Carl-bot to punish any user that said `fredboat`. 199 | 200 | ?> **Limit**
50 Entries 201 | 202 | 203 | 204 | 205 | Name | Example | Usage 206 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 207 | **censor**
Manage Server | `!censor boat`| Adds one or more words to the list of blacklisted words. 208 | **censor add**
Manage Server | `!censor add boat` | Same as above. 209 | **censor remove**
Manage Server | `!censor remove boat` | Removes a word from the blacklist. 210 | **censor list**
Manage Server | `!censor list` | Lists all censored words. 211 | **censor clear**
Manage Server | `!censor clear` | Clears all censored words. 212 | **censor punishment**
Manage Server | `!censor p mute, delete, defer` | Sets the punishment(s) for bad words. 213 | 214 | 215 | Name | Example | Usage 216 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 217 | **censor server**
Manage Server | `/censor server` | View censor settings for server. 218 | **censor words** [add\|remove]
Manage Server | `/censor words add boat`| Adds or removes one or more words to/from the list of blacklisted words. 219 | **censor display**
Manage Server | `/censor display` | Lists all censored words. 220 | **censor clear**
Manage Server | `/censor clear` | Clears all censored words. 221 | **censor punishment**
Manage Server | `/censor punishment mute, delete, defer` | Sets the punishment(s) for bad words. 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | Name | Example | Usage 231 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 232 | **capslimit** \
Manage Server | `!capslimit 70` | Punishes messages with the % of its characters being uppercase. The message has to be at least 6 characters long. 233 | [**capspunish**\|**capsp**\|**capspunishment**]
Manage Server | `!capsp delete, warn` | Sets the punishment(s) for sending a message which hits the threshold. 234 | 235 | 236 | Name | Example | Usage 237 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 238 | **caps limit** \
Manage Server | `/caps limit 70` | Punishes messages with the % of its characters being uppercase. The message has to be at least 6 characters long. 239 | **caps punishment**
Manage Server | `/caps punishment delete, warn` | Sets the punishment(s) for sending a message which hits the threshold. 240 | 241 | 242 | 243 | -------------------------------------------------------------------------------- /docs/config.md: -------------------------------------------------------------------------------- 1 | ## Prefix 2 | 3 | ?> Carl-bot's default prefixes are `@Carl-bot`, `/`, `!` & `?`. 4 | 5 | !> If you use `!prefix clear` then you would be left with no prefix and you will either have to mention the bot to set a new one or use `/` slash commands. Better choice would be `!prefix set` in most of the cases. 6 | 7 | 8 | 9 | 10 | 11 | | Name | Example | Usage | 12 | | ---------------------------------------------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 13 | | **prefix** | `!prefix` | Lists the prefixes currently in use by the server. | 14 | | **prefix add** \
Manage Server | `!prefix add -` | Adds a prefix to be used by the bot (Limited to 15).
**NOTE**: If you want a two word prefix or a prefix with a space after it or an emoji, you must use quotes. | 15 | | **prefix set** \
Manage Server | `!prefix set -` | Sets the specified prefix to be the only prefix in the server. | 16 | | **prefix remove** \
Manage Server | `!prefix remove -` | Removes a prefix. Can't remove mentioning the bot or `/` slash commands. | 17 | | **prefix clear**
Manage Server | `!prefix clear` | Removes all prefixes except mentioning the bot or `/` slash commands. This _obviously_ means that you need to mention the bot to register more prefixes. | 18 | 19 | 20 | 21 | | Name | Example | Usage | 22 | | ---------------------------------------------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 23 | | **prefix list** | `/prefix list` | Lists the prefixes currently in use by the server | 24 | | **prefix add** \
Manage Server | `/prefix add -` | Adds a prefix to be used by the bot (Limited to 15).
**NOTE**: If you want a two word prefix or a prefix with a space after it or an emoji, you must use quotes. | 25 | | **prefix set** \
Manage Server | `/prefix set -` | Sets the specified prefix to be the only prefix in the server. | 26 | | **prefix remove** \
Manage Server | `/prefix remove -` | Removes a prefix. Can't remove mentioning the bot or `/` slash commands. | 27 | | **prefix clear**
Manage Server | `/prefix clear` | Removes all prefixes except mentioning the bot or `/` slash commands. This _obviously_ means that you need to mention the bot to register more prefixes. | 28 | 29 | 30 | 31 | ## Server 32 | 33 | ?> Consider using the **[Dashboard](https://carl.gg)**. It is much, much easier to manage commands through the Dashboard as it allows per-command customization _far_ beyond what these commands offer. 34 | 35 | !> Restricted commands require a bot channel to be set up. 36 | 37 | 38 | 39 | 40 | 41 | | Name | Example | Usage | 42 | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | 43 | | **ignore** [channels...]
Manage Server | `!ignore #general #log` | If no channel is specified, the current channel is ignored. Manage Server bypasses this. | 44 | | **ignore server**
Manage Server | `!ignore server` | This will make the bot mod-only. | 45 | | **ignore all**
Manage Server | `!ignore all` | This will ignore all commands in all current channels of the server that the bot can see. | 46 | | **unignore** [channels...]
Manage Server | `!unignore #general #log` | Reverses what `!ignore` does | 47 | | **unignore all**
Manage Server | `!unignore all` | Unignores all channels. | 48 | | **disable** \
Manage Server | `!disable ping about` | This disables the command in the entire server and no permission can bypass this. | 49 | | **disable mod**
Manage Server | `!disable mod` | Disables all moderation commands. | 50 | | **disable all**
Manage Server | `!disable all` | Disables all the commands. | 51 | | **enable** \
Manage Server | `!enable ping about` | This enables a previously disabled command. | 52 | | **enable mod**
Manage Server | `!enable mod` | Enables all moderation commands. | 53 | | **enable all**
Manage Server | `!enable all` | Enables all the commands. | 54 | | **enable list**
Manage Server | `!enable list` | Shows all enabled and disabled commands. | 55 | | **restrict** \
Manage Server | `!restrict ping` | Restricts the response of the command to the specified bot channel. | 56 | | **unrestrict** \
Manage Server | `!unrestrict ping` | Unrestricts the response of the command. | 57 | | **modonly** \
Manage Server | `!modonly ping` | Makes the command usable only by the role set in `modrole`. | 58 | | **modonly all**
Manage Server | `!modonly all` | Makes all commands modonly. | 59 | | **unmodonly** \
Manage Server | `!unmodonly ping` | Removes a command from the modonly list. | 60 | | **unmodonly all**
Manage Server | `!unmodonly all` | Removes all commands from the modonly list. | 61 | | **set welcome** [channel]
Manage Server | `!set welcome #welcome` | Sets the channel to send the welcome, farewell and ban messages. If no channel is specified, this will remove the welcome channel. | 62 | | **set twitch** [channel]
Manage Server | `!set twitch #welcome` | Sets the channel to send twitch notifications to. If no channel is specified, this will remove the twitch channel. | 63 | | **modrole** \
Manage Server | `!modrole mod` | Any user with the specified role will be seen as a Moderator by the bot. This command gives the users power to kick, ban, mute, warn, etc. | 64 | | **modrole clear**
Manage Server | `!modrole clear` | Removes the modrole. | 65 | | **muterole create** [role_name=Muted]
Manage Server
Manage Channels
Manage Roles | `!muterole create prison` | Creates a role with the specified name or default name **Muted**, and changes permission for that role in all current channels. | 66 | | **muterole** \
Manage Roles | `!muterole prison` | Sets an already created role as the muterole. | 67 | | **muterole update**
Manage Server
Manage Channels
Manage Roles | `!muterole update` | Updates the muterole settings for the server. | 68 | | **cleanconfig**
Manage Server | `!cleanconfig` | Cleans up dead channels and roles. | 69 | 70 | 71 | 72 | ?> Slash commands can be managed according to your needs in your server's settings:
73 | **Server Settings** > **Integrations** > **Carl-bot** > **Manage** 74 | 75 | | Name | Example | Usage | 76 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | 77 | | **config ignore** \ [channel]
Manage Server | `/config ignore channel #general` | If you select channel and no channel is specified, the current channel is ignored. Manage Server bypasses this. | 78 | | **config unignore** \ [channel]
Manage Server | `/config unignore all` | Reverses what `!ignore` does | 79 | | **config disable** \ [command]
Manage Server | `/config disable all` | This disables the command in the entire server and no permission can bypass this. | 80 | | **config enable** \ [command]
Manage Server | `/config enable command about` | This enables a previously disabled command. | 81 | | **config restrict** \ [command]
Manage Server | `/config restrict all` | Restricts the response of the command to the specified bot channel. | 82 | | **config unrestrict** \ [command]
Manage Server | `/config unrestrict command ping` | Unrestricts the response of the command. | 83 | | **config modrole** [set]
Manage Server | `/config modrole` | Any user with the specified role will be seen as a Moderator by the bot. This command gives the users power to kick, ban, mute, warn, etc. | 84 | | **config clearmodrole**
Manage Server | `/config clearmodrole` | Removes the modrole. | 85 | | **muterole create** [name]
Manage Server
Manage Channels
Manage Roles | `/muterole create @prison` | Creates a role with the specified name or default name **Muted**, and changes permission for that role in all current channels. | 86 | | **muterole set** \
Manage Roles | `/muterole set @prison` | Sets an already created role as the muterole. | 87 | | **muterole update**
Manage Server
Manage Channels
Manage Roles | `/muterole update` | Updates the muterole settings for the server. | 88 | | **config cleanconfig**
Manage Server | `/config cleanconfig` | Cleans up dead channels and roles. | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/embeds.md: -------------------------------------------------------------------------------- 1 | ?> The commands `cembed` and `ecembed` take raw JSON as their arguments. If you are new to embeds, using the **[Dashboard](https://carl.gg)** would be helpful as the **Embed** section lets you fill in an embed template and shows you how it will end up looking instantly. 2 | 3 | ## Embed Commands 4 | 5 | 6 | 7 | 8 | Name | Example | Usage 9 | ----------------- | ----------------- | ----------------------------------------------------------------------------- 10 | **embed** [channel] \ \ \| \<description><br><span class="user-permissions">Manage Server</span> | `!embed #welcome FF0000 Title \| Description` | Creates a simple embed with color, title and description. 11 | **editembed** \<message id> \<title> \| \<description><br><span class="user-permissions">Manage Server</span> | `!editembed 32538901190123 Title \| Description` | Edits an embed sent by the bot in a message. 12 | **cembed** [channel] \<JSON><br><span class="user-permissions">Manage Server</span> | `!cembed #welcome` | Creates a fully customized embed. Also accepts a Pastebin link. 13 | **ecembed** \<message id> \<channel> \<JSON><br><span class="user-permissions">Manage Server</span> | `!ecembed 31203123191 #welcome` | Edits any embed the bot has posted using the JSON or JSON source that follows the message ID and channel. 14 | **embedsource** \<message id> [channel] | `!embedsource 9312838121123 #welcome` | Gets the raw JSON from an embed. 15 | **embedunhide** \<message_id> [channel]<br><span class="user-permissions">Manage Server</span> | `!embedunhide 123456789` | Unhides a previously closed embed. 16 | 17 | <!-- tab:Slash Commands --> 18 | Name | Example | Usage 19 | ----------------- | ----------------- | ----------------------------------------------------------------------------- 20 | **embed create** \<color> \<text> [channel]<br><span class="user-permissions">Manage Server</span> | `/embed create FF0000 Title \| Description #welcome` | Creates a simple embed with color, title and description. 21 | **embed edit** \<message id> \<text><br><span class="user-permissions">Manage Server</span> | `/embed edit 32538901190123 Title \| Description` | Edits an embed sent by the bot in a message. 22 | **embed custom** \<JSON> [channel]<br><span class="user-permissions">Manage Server</span> | `/embed custom #welcome` | Creates a fully customized embed. Also accepts a Pastebin link. 23 | **embed editcustom** \<message id> \<JSON> \<channel><br><span class="user-permissions">Manage Server</span> | `/embed editcustom 31203123191 #welcome` | Edits any embed the bot has posted using the JSON or JSON source that follows the message ID and channel. 24 | **embed source** \<message id> [channel] | `/embed source 9312838121123 #welcome` | Gets the raw JSON from an embed. 25 | **embed unhide** \<message_id> [channel]<br><span class="user-permissions">Manage Server</span> | `/embed unhide 123456789` | Unhides a previously closed embed. 26 | 27 | <!-- tabs:end --> 28 | 29 | 30 | ## Embed Builder 31 | 32 | !["Embed Builder"](_images/embed_builder.png ':size=75%') 33 | 34 | > `I` = Icon URL 35 | `T` = Thumbnail URL 36 | `Image` = Image URL 37 | `F` = Footer Icon 38 | 39 | *Image URLs must be direct image links. This means the URL should contain the image's file extension, like `.jpg`, `.jpeg`, `.png`, or `.gif`.* 40 | 41 | 42 | ## Rules and Limits 43 | 44 | - URL fields must be an HTTP/HTTPS formatted URL (begins with http:// or https://). 45 | - All Title fields, the (Author's) Name field, and the Footer cannot properly display Discord mentions or named links, and have limited support of markdown formatting. 46 | - If an additional field exists, neither the title nor the description can be empty. 47 | - **Name** must have a value for **Name URL** to work. 48 | - **Title** must have a value for **Title URL** to work. 49 | - **Name** must have a value for **Icon URL** to display. 50 | - **Footer** must have a value for the **Footer Icon** to display. 51 | - In addition to the stated character limits for each field provided below the embed builder's text boxes, the sum of all characters in an embed must not exceed 6000 characters. 52 | - Do not put values in the JSON "timestamp": field if you don't know the correct format for them. The correct format is ISO 8601: `yyyy-mm-ddTHH:MM:SS.000Z`. 53 | 54 | 55 | ## Editing an Embed 56 | ?> You can now edit embeds through the **[Dashboard](https://carl.gg)**. 57 | 58 | Editing complex embeds can be daunting to users unfamiliar with JSON. Follow these steps: 59 | 60 | 1. Use the `embedsource` command to obtain your embed's content and layout. Copy the JSON Carl-bot outputs. 61 | 2. Paste the JSON into the embed builder on the [Dashboard](https://carl.gg) (on the top-right where it says **Raw JSON**) then click **Apply**. 62 | 3. Make your edits in the embed builder. 63 | 4. Click the **Copy to clipboard** button on the right side of the builder to copy the JSON for your edited embed. 64 | 5. If the JSON is longer than what Discord allows you to put into the text box, paste the raw JSON into a site like [Pastebin](https://pastebin.com) or [Starbin](https://starb.in). 65 | 6. Use the `ecembed` command to update your embed by using the JSON, or Pastebin/Starb.in link. -------------------------------------------------------------------------------- /docs/feeds.md: -------------------------------------------------------------------------------- 1 | Feeds are a way for you to make announcements and ping a specific role without having to deal with the annoyances and potential abuse from having a mentionable role or manually toggling a role inbetween mentionable and not. 2 | 3 | A feed is an association between a role and a channel. When you use the feed announce command, the role will be set to mentionable very briefly, the role will be pinged and your message will be sent in the channel with which the feed is associated, and the role will subsequently be set back to unmentionable. 4 | 5 | ## Feed Commands 6 | 7 | <!-- tabs:start --> 8 | 9 | <!-- tab:Prefix Commands --> 10 | Name | Example | Usage 11 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 12 | [**feed**\|**feeds**]<br><span class="user-permissions">Manage Server</span> | `!feeds` | Lists all the feeds that have been set up in the server. 13 | **feeds create** \<name> \<role><br><span class="user-permissions">Manage Server</span> | `!feeds create got game of thrones` | Creates a feed in the channel the command is used in with a specific name and a specific role that will be mentioned. 14 | **feeds announce** \<name> \<content><br><span class="user-permissions">Manage Server</span> | `!feeds announce got Hey guys, everyone dies` | Makes an announcement to the specified feed. 15 | **feeds** [delete/del/remove] \<name><br><span class="user-permissions">Manage Server</span> | `!feeds del got` | Deletes a feed. 16 | **feeds clear**<br><span class="user-permissions">Manage Server</span> | `!feeds clear` | Delets all feeds from the server. 17 | **feeds move** \<name> \<channel><br><span class="user-permissions">Manage Server</span> | `!feeds move got #tv-shows` | Moves a feed to a specified channel. 18 | 19 | <!-- tab:Slash Commands --> 20 | Name | Example | Usage 21 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 22 | **feeds list**<br><span class="user-permissions">Manage Server</span> | `/feeds list` | Lists all the feeds that have been set up in the server. 23 | **feeds create** \<name> \<role><br><span class="user-permissions">Manage Server</span> | `/feeds create got @game of thrones` | Creates a feed in the channel the command is used in with a specific name and a specific role that will be mentioned. 24 | **feeds announce** \<name> \<content><br><span class="user-permissions">Manage Server</span> | `/feeds announce got Hey guys, everyone dies` | Makes an announcement to the specified feed. 25 | **feeds delete** \<name><br><span class="user-permissions">Manage Server</span> | `/feeds delete got` | Deletes a feed. 26 | **feeds clear**<br><span class="user-permissions">Manage Server</span> | `/feeds clear` | Delets all feeds from the server. 27 | **feeds move** \<name> \<channel><br><span class="user-permissions">Manage Server</span> | `/feeds move got #tv-shows` | Moves a feed to a specified channel. 28 | 29 | <!-- tabs:end --> 30 | 31 | 32 | ## Autofeeds 33 | 34 | Automatic feeds can be seen as group reminders, and they share a lot of functionality with reminders. 35 | 36 | ?> Timezones suck, use the [Dashboard](https://carl.gg) to create autofeeds with your local timezone. 37 | 38 | ![Autofeeds](_images/create_autofeed.png ':size=75%') 39 | 40 | <!-- tabs:start --> 41 | 42 | <!-- tab:Prefix Commands --> 43 | Name | Example | Usage 44 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 45 | [**autofeed**\|**autofeeds**\|**af**]<br><span class="user-permissions">Manage Server</span> | `!af` | Lists all autofeeds that have been set up in the server. 46 | **autofeeds create** \<role> \<time> \<message><br><span class="user-permissions">Manage Server</span> | `!af create "Final Fantasy" 18h The servers have been reset.` | Autofeeds that will ping the role specified each time they run. 47 | **autofeeds silent** \<time> \<message><br><span class="user-permissions">Manage Server</span> | `!af silent 2h Vote for Carl-bot on Top.gg` | Autofeeds that won't ping any role each time they run. 48 | **autofeeds silence** \<id><br><span class="user-permissions">Manage Server</span> | `!af silence 37` | Silences an already existing autofeed. 49 | **autofeeds repeat** \<id> \<time><br><span class="user-permissions">Manage Server</span> | `!af repeat 13 24h` | Marks an autofeed to be repeated. This keeps going until you delete the autofeed. 50 | **autofeeds remove** \<id><br><span class="user-permissions">Manage Server</span> | `!af remove 77` | Removes an autofeed. 51 | **autofeeds clear**<br><span class="user-permissions">Manage Server</span> | `!af clear` | Removes all autofeeds. 52 | **autofeeds move** \<id> \<channel><br><span class="user-permissions">Manage Server</span> | `!af move 73 #general` | Moves an autofeed to the specified channel. 53 | 54 | <!-- tab:Slash Commands --> 55 | Name | Example | Usage 56 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 57 | **autofeeds list**<br><span class="user-permissions">Manage Server</span> | `/autofeeds list` | Lists all autofeeds that have been set up in the server. 58 | **autofeeds create** \<role> \<when> \<message><br><span class="user-permissions">Manage Server</span> | `/autofeeds create @FF 18h The servers have been reset.` | Autofeeds that will ping the role specified each time they run. |\ 59 | **autofeeds everyone** \<duration><br><span class="user-permissions">Manage Server</span> | `/autofeeds everyone 24h Good morning` | Creates an autofeed that pings @everyone. 60 | **autofeeds here** \<duration><br><span class="user-permissions">Manage Server</span> | `/autofeeds here 24h Good morning` | Creates an autofeed that pings @here. 61 | **autofeeds silent** \<duration><br><span class="user-permissions">Manage Server</span> | `/autofeeds silent 2h Vote for Carl-bot on Top.gg` | Autofeeds that won't ping any role each time they run. 62 | **autofeeds silence** \<id><br><span class="user-permissions">Manage Server</span> | `/autofeeds silence 37` | Silences an already existing autofeed. 63 | **autofeeds repeat** \<id> \<when><br><span class="user-permissions">Manage Server</span> | `/autofeeds repeat 13 24h` | Marks an autofeed to be repeated. This keeps going until you delete the autofeed. 64 | **autofeeds delete** \<id><br><span class="user-permissions">Manage Server</span> | `/autofeeds delete 77` | Removes an autofeed. 65 | **autofeeds clear**<br><span class="user-permissions">Manage Server</span> | `/autofeeds clear` | Removes all autofeeds. 66 | **autofeeds move** \<id> \<channel><br><span class="user-permissions">Manage Server</span> | `/autofeeds move 73 #general` | Moves an autofeed to the specified channel. 67 | 68 | <!-- tabs:end --> 69 | 70 | ### Variables 71 | These variables can be used in the message that is sent through an autofeed: 72 | - `{server}` - Server name 73 | - `{channel}` - Channel name 74 | - `{unix}` - Unix time -------------------------------------------------------------------------------- /docs/fun.md: -------------------------------------------------------------------------------- 1 | ## Animal Commands 2 | ?> All of these commands use a database of images collected by scraping Reddit, this means you won't get the same 150 dogs that most bots offer through that one popular website. Currently, we have about 15,000 animal pictures saved. 3 | 4 | !> These commands may get spammed by your members, restricting them is recommended. 5 | 6 | <!-- tabs:start --> 7 | 8 | <!-- tab:Prefix Commands --> 9 | Name | Example | Usage 10 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 11 | **cat** | `!cat` | Gives a random cat image. 12 | **catbomb** | `!catbomb` | Gives 5 random cat images. 13 | **dog** | `!dog` | Gives a random dog image. 14 | **dogbomb** | `!dogbomb` | Gives 5 random dog images. 15 | **aww** | `!aww` | Gives a random cute animal. 16 | **awwbomb** | `!awwbomb` | Gives 5 random cute animals. 17 | 18 | <!-- tab:Slash Commands --> 19 | ?> Not available in Slash Commands currently. Please use Prefix Commands instead. 20 | 21 | <!-- tabs:end --> 22 | 23 | 24 | ## Text Commands 25 | 26 | <!-- tabs:start --> 27 | 28 | <!-- tab:Prefix Commands --> 29 | Name | Example | Usage 30 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 31 | [**aesthetics**\|**ae**] \<text><br><span class="user-permissions">Manage Server</span> | `!ae 600 iq` | Returns your text as fullwidth.<br>This example would return `600 iq`. 32 | [**boldfancy**\|**bf**] \<text><br><span class="user-permissions">Manage Server</span> | `!bf bold is beautiful` | Returns your text as bold cursive.<br>This example would return `𝓫𝓸𝓵𝓭 𝓲𝓼 𝓫𝓮𝓪𝓾𝓽𝓲𝓯𝓾𝓵`. 33 | **boldfraktur** \<text><br><span class="user-permissions">Manage Server</span> | `!boldfraktur makes text` | Returns your text as bold blackletter.<br>This example would return `𝖒𝖆𝖐𝖊𝖘 𝖙𝖊𝖝𝖙`. 34 | **clap** \<text><br><span class="user-permissions">Manage Server</span> | `!clap how dare you` | Returns your text with 👏 emojis around each word.<br>This example would return `👏how👏dare👏you👏`. 35 | [**double**\|**ds**] \<text><br><span class="user-permissions">Manage Server</span> | `!ds double text` | Returns your text as double-struck letters.<br>This example would return `𝕎𝕠𝕒𝕙, 𝕕𝕠𝕦𝕓𝕝𝕖 𝕤𝕥𝕣𝕦𝕔𝕜 𝕥𝕖𝕩𝕥`. 36 | **emojify** \<text><br><span class="user-permissions">Manage Server</span> | `!emojify Carl-bot is best` | Returns your text as regional indicator emojis. 37 | [**fancy**\|**ff**] \<text><br><span class="user-permissions">Manage Server</span> | `!ff damn this is fancy` | Returns your text as cursive.<br>This example would return `𝒹𝒶𝓂𝓃 𝓉𝒽𝒾𝓈 𝒾𝓈 𝒻𝒶𝓃𝒸𝓎`. 38 | **fraktur** \<text><br><span class="user-permissions">Manage Server</span> | `!fraktur makes text` | Returns your text as blackletter.<br>This example would return `𝔪𝔞𝔨𝔢𝔰 𝔱𝔢𝔵𝔱`. 39 | **owofy** \<text><br><span class="user-permissions">Manage Server</span> | `!owofy my proudest work` | Returns the text in the <i>owo</i> speech pattern.<br>This example would return `my pwoudest wowk`. 40 | [**smallcaps**\|**sc**] \<text><br><span class="user-permissions">Manage Server</span> | `!sc neumann` | Returns your text as smallcaps.<br>This example would return `ɴᴇᴜᴍᴀɴɴ`. 41 | **space** \<character/emoji> \<text><br><span class="user-permissions">Manage Server</span> | `!space ✅ This is a test` | Like the `clap` command, but allows you to customize the character or emoji that surrounds each word in the text.<br>This example would return `✅This✅is✅a✅test.✅`. 42 | 43 | <!-- tab:Slash Commands --> 44 | Name | Example | Usage 45 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 46 | **fun aesthetics** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun aesthetics 600 iq` | Returns your text as fullwidth.<br>This example would return `600 iq`. 47 | **fun boldfancy** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun boldfancy bold is beautiful` | Returns your text as bold cursive.<br>This example would return `𝓫𝓸𝓵𝓭 𝓲𝓼 𝓫𝓮𝓪𝓾𝓽𝓲𝓯𝓾𝓵`. 48 | **fun boldfraktur** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun boldfraktur makes text` | Returns your text as bold blackletter.<br>This example would return `𝖒𝖆𝖐𝖊𝖘 𝖙𝖊𝖝𝖙`. 49 | **fun clap** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun clap how dare you` | Returns your text with 👏 emojis around each word.<br>This example would return `👏how👏dare👏you👏`. 50 | **fun double** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun double double text` | Returns your text as double-struck letters.<br>This example would return `𝕎𝕠𝕒𝕙, 𝕕𝕠𝕦𝕓𝕝𝕖 𝕤𝕥𝕣𝕦𝕔𝕜 𝕥𝕖𝕩𝕥`. 51 | **fun emojify** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun emojify Carl-bot is best` | Returns your text as regional indicator emojis. 52 | **fun fancy** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun fancy damn this is fancy` | Returns your text as cursive.<br>This example would return `𝒹𝒶𝓂𝓃 𝓉𝒽𝒾𝓈 𝒾𝓈 𝒻𝒶𝓃𝒸𝓎`. 53 | **fun fraktur** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun fraktur makes text` | Returns your text as blackletter.<br>This example would return `𝔪𝔞𝔨𝔢𝔰 𝔱𝔢𝔵𝔱`. 54 | **fun owofy** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun owofy my proudest work` | Returns the text in the <i>owo</i> speech pattern.<br>This example would return `my pwoudest wowk`. 55 | **fun smallcaps** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun smallcaps neumann` | Returns your text as smallcaps.<br>This example would return `ɴᴇᴜᴍᴀɴɴ`. 56 | **fun space** \<word> \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun space ✅ This is a test` | Like the `clap` command, but allows you to customize the character or emoji that surrounds each word in the text.<br>This example would return `✅This✅is✅a✅test.✅`. 57 | 58 | <!-- tabs:end --> 59 | 60 | 61 | ## Other Commands 62 | 63 | <!-- tabs:start --> 64 | 65 | <!-- tab:Prefix Commands --> 66 | Name | Example | Usage 67 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 68 | **echo** [channel] [no_button] \<message><br><span class="user-permissions">Manage Server</span> | `!echo #general Welcome guys` | The bot will post the message in either the mentioned channel or the channel where the command was used. Users can toggle the button by setting `no_button` to True or False. Toggling is only available if a modlogs channel is set for the server. The button will display information about the user who used the command, provided you have the <span style="color: red;">Manage Server</span> permission. 69 | [**pick**\|**choice**\|**select**] <choices...><br><span class="user-permissions">Manage Server</span> | `!choose go to sleep, play game` | Picks one of your specified arguments. Use commas for multiple choices. 70 | [**ud**\|**urbandictionary**] \<word><br><span class="user-permissions">Manage Server</span> | `!ud rizz` | Returns the UrbanDictionary definition for your word. Can only be used in NSFW channels. 71 | **roll** [lower=1]-[upper=100] | `!roll 100-1100` | Random number generation. Providing only one number will change the upper limit. 72 | [**coinflip**\|**coin**\|**flip**] | `!coin` | Flips a coin. 73 | [**addemoji**\|**steal**] \<name> [enitity]<br><span class="user-permissions">Manage Server</span> | `!steal carlpolice :carlPolice:` | Attempts to add the entity to the server as an emoji with the given name. The entity can be an attached image, an image URL, an emoji or an emoji ID. 74 | **8ball** \<question> | `!8ball should i sit?` | Magic 8ball that tells your fortune or gives advice. 75 | **shake** | `!shake` | Outputs Antimony's amazing winter Carl-bot fanart in an embed. 76 | 77 | <!-- tab:Slash Commands --> 78 | Name | Example | Usage 79 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 80 | **echo** \<message> [channel] [no_button]<br><span class="user-permissions">Manage Server</span> | `/echo Welcome guys #general` | The bot will post the message in either the mentioned channel or the channel where the command was used. Users can toggle the button by setting `no_button` to True or False. Toggling is only available if a modlogs channel is set for the server. The button will display information about the user who used the command, provided you have the <span style="color: red;">Manage Server</span> permission. 81 | **fun pick** \<sentence><br><span class="user-permissions">Manage Server</span> | `/fun pick go to sleep, play game` | Picks one of your specified arguments. Use commas for multiple choices. 82 | **fun urbandictionary** \<word><br><span class="user-permissions">Manage Server</span> | `/fun urbandictionary rizz` | Returns the UrbanDictionary definition for your word. Can only be used in NSFW channels. 83 | **fun coinflip** | `/fun coinflip` | Flips a coin. 84 | **fun addemoji** \<name> [enitity] [attachment]<br><span class="user-permissions">Manage Server</span> | `!steal carlpolice :carlPolice:` | Attempts to add the entity to the server as an emoji with the given name. The entity can be an attached image, an image URL, an emoji or an emoji ID. 85 | **fun eightball** \<question> | `/fun eightball ball should i sit?` | Magic 8ball that tells your fortune or gives advice. 86 | 87 | <!-- tabs:end --> -------------------------------------------------------------------------------- /docs/games.md: -------------------------------------------------------------------------------- 1 | ## TopRoll 2 | Start a TopRoll game where users can try to get into the daily leaderboard. Each user tries to roll the highest sum in 6 tries in 60 seconds. The game starts when the first user starts rolling and lasts for a day. 3 | 4 | ![TopRoll](_images/toproll.png) 5 | 6 | <!-- tabs:start --> 7 | 8 | <!-- tab:Prefix Commands --> 9 | Name | Example | Usage 10 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 11 | **games toproll** | `!games toproll` | Starts the TopRoll game. 12 | 13 | <!-- tab:Slash Commands --> 14 | Name | Example | Usage 15 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 16 | **games toproll** | `/games toproll` | Starts the TopRoll game. 17 | 18 | <!-- tabs:end --> 19 | 20 | ## Free Game Alerts 21 | Get notified whenever there is a free game giveaway. Currently we only support Steam, Origin, Ubisoft, Epic Games Store, Android and GOG. 22 | 23 | ![Free Game Alerts](_images/free_game_alerts.png) 24 | 25 | <!-- tabs:start --> 26 | 27 | <!-- tab:Prefix Commands --> 28 | Name | Example | Usage 29 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 30 | **games alerts** [enable\|disable] [channel] | `!games alerts` | Get/Set the configuration for free game alerts. 31 | 32 | <!-- tab:Slash Commands --> 33 | Name | Example | Usage 34 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 35 | **games alerts** [config] [channel] | `/games alerts` | Get/Set the configuration for free game alerts. 36 | 37 | <!-- tabs:end --> 38 | 39 | ## Game GIFs 40 | Sends game related GIFs. Currently we only support League of Legends. 41 | 42 | ![GIFs](_images/gif.png) 43 | 44 | <!-- tabs:start --> 45 | 46 | <!-- tab:Prefix Commands --> 47 | Name | Example | Usage 48 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 49 | **league** [emotion] | `!league happy` | Sends a GIF of League of Legends with the specified emotion. Random if left empty. 50 | **leaguebomb** [emotion] | `!league happy` | Sends upto 5 GIFs of League of Legends with the specified emotion. Random if left empty. 51 | 52 | 53 | <!-- tab:Slash Commands --> 54 | Name | Example | Usage 55 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 56 | **games gif** \<choice> [emotion] [bomb] | `/games gif league` | Sends 1 or upto 5 GIFs (according to bomb) with the specified emotion or random (according to emotion) of the specified game. 57 | 58 | <!-- tabs:end --> 59 | 60 | ## Browser Games 61 | 62 | <!-- tabs:start --> 63 | 64 | <!-- tab:Prefix Commands --> 65 | Name | Example | Usage 66 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 67 | **games list** | `!games list` | Shows list of top games to play in your browser. 68 | **games play** | `!games play` | Shows a random game to play in your browser. 69 | **games roblox** | `!games roblox` | Shows a link to play Roblox in your browser. 70 | **games tog** | `!games tog` | Shows a link to play Tower of God in your browser. 71 | 72 | <!-- tab:Slash Commands --> 73 | Name | Example | Usage 74 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 75 | **games list** | `/games list` | Shows list of top games to play in your browser. 76 | **games play** | `/games play` | Shows a random game to play in your browser. 77 | **games roblox** | `/games roblox` | Shows a link to play Roblox in your browser. 78 | **games tog** | `/games tog` | Shows a link to play Tower of God in your browser. 79 | 80 | <!-- tabs:end --> 81 | 82 | ## Fortnite 83 | 84 | <!-- tabs:start --> 85 | 86 | <!-- tab:Prefix Commands --> 87 | Name | Example | Usage 88 | ----------------- | ----------------- | ----------------------------------------------------------------------------- 89 | [**fortnite**\|**fn**] [platform=pc] \<name> | `!fn Dakotaz` | Fetches some Fortnite stats for a specified player. Platform can be `playstation` or `xbox`, defaults to `pc`. 90 | 91 | <!-- tab:Slash Commands --> 92 | ?> Not available in Slash Commands currently. Please use Prefix Commands instead. 93 | 94 | <!-- tabs:end --> 95 | 96 | 97 | ## World of Warcraft 98 | 99 | <!-- tabs:start --> 100 | 101 | <!-- tab:Prefix Commands --> 102 | Name | Example | Usage 103 | ----------------- | ----------------- | ----------------------------------------------------------------------------- 104 | [**incursion**\|**assault**\|**assaults**] | `!incursion` | Displays current incursion timers for WoW. 105 | [**invasion**\|**invasions**] | `!invasion` | Displays current invasion timers for Wow. 106 | **pickmyclass** | `!pickmyclass` | Picks a random WoW class. 107 | **pickmyspec** | `!pickmyspec` | Picks a random WoW spec. 108 | [**reset**\|**whenisthereset**] | `!reset` | Shows how long until WoW resets for EU/NA. 109 | 110 | <!-- tab:Slash Commands --> 111 | ?> Some commands are not available in Slash Commands currently or are in a different category altogether. Please use Prefix Commands instead. 112 | 113 | <!-- tabs:end --> -------------------------------------------------------------------------------- /docs/getting-started.md: -------------------------------------------------------------------------------- 1 | ## Navigating 2 | !> Do not literally type out `<` `>` `[` `]` `|` etc. 3 | 4 | ?> The user permissions required to run certain commands will be mentioned like <span class="user-permissions">this</span>. 5 | 6 | Each category of commands has their own page which can be found on the sidebar. 7 | 8 | Syntax | Definition 9 | ---------------- | ------------------------------------------------------------------------------------------------- 10 | `<foo>` | This argument is mandatory 11 | `<foos...>` | This argument is mandatory and you can specify more than one 12 | `[foo]` | This argument is optional 13 | `[foo='muted']` | This argument is optional and will use the default value **muted** if not specified 14 | `[foo\|bar]` | This argument is optional so you can either use **foo** or **bar**, or don't specify it at all 15 | `[foos...]` | This argument is optional and you can specify more than one 16 | 17 | Additionally, the bot uses *converters* which makes specifying roles, members, channels etc, easy and fool-proof. When asked to specify a member, you can provide it a mention, an id, a name or a nickname. This principle works for every single command where applicable. 18 | 19 | 20 | ## Basic Configuration 21 | ?> Use the **[Dashboard](https://carl.gg)** to configure the bot easily without the need to use any commands. 22 | 23 | !["Bot Settings"](_images/bot_settings.png ':size=75%') 24 | 25 | This guide will cover everything you need to do to get started with the basics of what carlbot offers. 26 | 27 | 28 | + ### Prefix 29 | By default, Carl-bot responds to `!` and `?` prefixes as well as `/` slash commands. To make the bot respond to another prefix, `-` for example, you can use `!prefix set -`. 30 | To add a prefix without removing the others, use `!prefix add -`. Carl-bot can have upto **15 prefixes** in each server. 31 | 32 | 33 | + ### Channels 34 | - **Log Channel**: `!log channel <#channel>` sets the channel where Carl-bot will log things such as message deletions, name changes, role updates and a lot more which you can find later on in this documentation. 35 | - **Welcome/Leave Channel**: `!set welcome <#channel>` sets the channel where join/leave/banmessage alerts will go. More on that later. 36 | 37 | 38 | + ### Reaction Roles 39 | Reaction roles work best in their own channels, so Carl-bot offers a command to create a channel specifically for reaction roles with some permissions that most users will find useful. You can create this channel using `!rr channel`. If you are new, it is recommended to use `!rr make` instead. 40 | 41 | 42 | + ### Modlogs 43 | To create a channel where you can see the logs of all moderation actions taken in your server, you can use `!modlogs create`. This will create the modlogs channel with appropriate permissions. But if you already have a channel ready for this purpose then you can use `!modlogs set <#channel>` instead. 44 | 45 | 46 | + ### Starboard 47 | To create a starboard use `!starboard`. To change the limit of stars required for a post to show up in the starboard use `!star limit <count>`. 48 | 49 | 50 | + ### Logs 51 | By default, Carl-bot will log everything every member does in every channel. This isn't always what you want so let's say that you don't care about message edits. You can use `!log edit` to stop those from showing up in the logs. 52 | The `!log` command takes an event as its argument and tries to figure out what you want toggled. Another thing you can do is ignore logs only in certain channels. For that you can use `!log ignore <#channel>` to ignore all events from that channel. Logs are very customizable so make sure to head over that section for full information. 53 | 54 | 55 | + ### Mute Role 56 | By using `!muterole create` you can create a role with the permission <span style="color: red;">Send Messages</span> denied in every channel. Users can now be muted using `!mute <@member> [time] [reason]`. 57 | 58 | !> Any future channels created will not be covered by Mute Role. 59 | 60 | 61 | + ### Welcome Message 62 | You can set the welcome message that would be sent in the previously set [channel](#channels) using `!welcome <message>`. You can also set a different message to be sent in a DM to the member upon joining by using `!joindm <message>`. There are a few variables that can be used in these commands which you can read about in later sections, such as `{user}` for mentioning the user to whom the message is addressed to. 63 | 64 | ![Set Welcome](_images/welcome_channel.png ':size=75%') 65 | 66 | This is far from everything Carl-bot has to offer but at this point you will have set up the crucial things that you can set up. 67 | 68 | 69 | ## FAQ 70 | 71 | ### How do I get the Message ID? {docsify-ignore} 72 | **Right Click** the message and select **Copy ID** 73 | 74 | ?> To enable this option you would need to do the following:<br> 75 | Discord Settings > Advanced > Developer Mode > Enable 76 | 77 | ![Discord ID](_images/faq_discordid.png ':size=75%') 78 | 79 | 80 | ### Another bot has the same command and they both respond, what do I do? {docsify-ignore} 81 | Depends on what you're after. If you need to use both, you're pretty much forced to change the prefix of either bot. If you just want the command that is not from Carl-bot then you can disable it with `!disable <command>`. If you just want Carl-bot's command then you may create an alias using tags and `{cmd:cmdname {args}}`. Check out the Advanced Usage section in Tags category for more information. 82 | 83 | 84 | ### Why does the bot complain about requiring more permissions? I've given it <span style="color: red;">Manage Roles</span> already. {docsify-ignore} 85 | The way Discord decides if you can add a role or not is based on two things: 86 | * Does the Member adding the role have <span style="color: red;">Manage Roles</span> permission? 87 | * Is the member trying to add a role higher in the role hierarchy than the bot's role? 88 | 89 | Just assign the bot a role that is higher than the highest role it has to assign. The role being hoisted does not have to have any special permissions. 90 | 91 | 92 | ### What is the drama channel? {docsify-ignore} 93 | This is a [Premium](https://www.patreon.com/carlbot) feature that aims to streamline your server's moderation. Automod is nice but it is not perfect as sometimes false positives happen. This feature was made for that exact reason. You need to: 94 | 1. Set up the drama channel on either the Dashboard or with the command `!am drama <channel>`. 95 | 2. Set the automod punishment to `Post to drama channel` on the Dashboard. 96 | 97 | ![Drama Channel](_images/faq_drama.png ':size=75%') 98 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html lang="en"> 3 | 4 | <head> 5 | <meta charset="UTF-8"> 6 | <title>Carl-bot Docs 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 27 | 69 | 70 | 71 | 72 | 73 |
74 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | ## Carl-bot 2 | 3 | A fully customizable, multi-purpose and modular discord bot with endless list of features. 4 | 5 | ## Documentation 6 | 7 | See the **[Getting Started](/getting-started)** guide for more details. 8 | 9 | ## Features 10 | 11 | - Welcome Messages 12 | - Reaction Roles 13 | - Suggestions 14 | - Moderation 15 | - User Engagement 16 | - Automod 17 | - Logging 18 | - Custom Commands 19 | - A lot more... 20 | 21 | ## Support 22 | 23 | Users and the development team usually provide support in the **[Carl-bot Help](https://discord.gg/S2ZkBTnd8X)** Discord server. -------------------------------------------------------------------------------- /docs/levels.md: -------------------------------------------------------------------------------- 1 | ?> Levels is a premium feature offered to our Patrons as a way to show our gratitude for helping keep the bot alive. 2 | 3 | [![Patron Button](_images/patron_button.png)](https://www.patreon.com/bePatron?u=11251319) 4 | 5 | ## Level Card 6 | !> In order for the bot to start tracking messages you need to change any setting. As long as `level config` command works, the level system works. 7 | 8 | 9 | 10 | 11 | Name | Example | Usage 12 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 13 | [**levels**\|**lvl**\|**level**\|**lvls**] [member] | `!level @Carl-bot` | Displays the rank card for a member. 14 | **level** [background\|bg] \ | `!lvl bg https://i.imgur.com/L1n\|<` | Sets the [background](#background) of your level card. 15 | **level** [color\|colour] \ | `!lvl color FF0000` | Sets the fill color of the XP bar and the border surrounding your profile picture. 16 | **level accent** \ | `!lvl accent FFFFFF` | Sets the color for text, the horizontal bar, and the border surrounding the XP bar. 17 | **level** [opacity\|alpha] \ | `!lvl alpha 0` | Sets the opacity of the overlay.
0 - Transparent
1.0 or 100 - Opaque. 18 | **level** [serverbackground\|serverbg] \
Manage Server | `!lvl serverbg https://i.ibb.co/L1n\|<` | Sets the default [background](#background) for level cards in your server. This won't overwrite individually set backgrounds. 19 | 20 | 21 | Name | Example | Usage 22 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 23 | **level member** [member] | `/level member @Carl-bot` | Displays the rank card for a member. 24 | **level background** [link] [attachment] | `/level background image.png` | Sets the [background](#background) of your level card. 25 | **level color** \ | `/level color FF0000` | Sets the fill color of the XP bar and the border surrounding your profile picture. 26 | **level accent** \ | `/level accent FFFFFF` | Sets the color for text, the horizontal bar, and the border surrounding the XP bar. 27 | **level opacity** \ | `/level opacity 0` | Sets the opacity of the overlay.
0 - Transparent
1.0 or 100 - Opaque. 28 | **level serverbackground** [link] [attachment]
Manage Server | `/level serverbackground image.png` | Sets the default [background](#background) for level cards in your server. This won't overwrite individually set backgrounds. 29 | 30 | 31 | 32 | ### Background 33 | Ideal background resolution is `934x282` pixels but if a different resolution is supplied it will be scaled to the ideal width and cropped to fit the height. 34 | 35 | > **Example Level Card:** 36 | ![Example Level Card](_images/level_card.png) 37 | 38 | 39 | ## Level Settings 40 | 41 | ![Level Config](_images/level_config.png ':size=75%') 42 | 43 | 44 | 45 | 46 | Name | Example | Usage 47 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 48 | **level config**
Manage Server | `!lvl config` | Shows the current configuration. 49 | **level** [blacklist\|bl]
Manage Server | `!lvl bl #welcome Muted` | Blacklists one or more roles and/or channels from gaining xp. 50 | **level** [unblacklist\|unbl]
Manage Server | `!lvl unbl #welcome Muted` | Removes one or more roles and/or channels from the blacklist. 51 | **level mee6import**
Manage Server | `!lvl mee6import` | Import exisitng Mee6 config. Carl-bot uses the same XP curve as Mee6. This will replace your current XP. 52 | **level rate** [rate] [time]
Manage Server | `!lvl rate 5 60` | Changes how often you can gain XP. 53 | **level reset** \
Manage Server | `!lvl reset @Carl-bot` | Resets the level and XP of the member. This can't be undone. 54 | **level resetall**
Manage Server | `!lvl resetall` | Resets the level and XP of the entire server but also creates a backup that you can restore. 55 | **level restore**
Manage Server | `!lvl restore` | Restores the level and XP of the entire server from the last backup made. 56 | 57 | 58 | Name | Example | Usage 59 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 60 | **level config**
Manage Server | `/level config` | Shows the current configuration. 61 | **level blacklist**
Manage Server \ \ | `/level blacklist add #welcome Muted` | Adds or removes roles and/or channels to/from the blacklist. 62 | **level mee6import**
Manage Server | `/level mee6import` | Import exisitng Mee6 config. Carl-bot uses the same XP curve as Mee6. This will replace your current XP. 63 | **level rate** [rate]
Manage Server | `/level rate 5 60` | Changes how often you can gain XP. 64 | **level reset** \
Manage Server | `/level reset @Carl-bot` | Resets the level and XP of the member. This can't be undone. 65 | **level resetall**
Manage Server | `/level resetall` | Resets the level and XP of the entire server but also creates a backup that you can restore. 66 | **level restore**
Manage Server | `/level restore` | Restores the level and XP of the entire server from the last backup made. 67 | 68 | 69 | 70 | 71 | ## Level Notifications 72 | 73 | 74 | 75 | 76 | Name | Example | Usage 77 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 78 | **level shh**
Manage Server | `!lvl shh` | Bot stops announcing level up messages. 79 | **level dm**
Manage Server | `!lvl dm` | Makes the bot DM the level up message to the user. 80 | **level channel** [channel=current]
Manage Server | `!lvl channel #level-up` | Sets a channel to send level up messages to. 81 | **level limit** \
Manage Server | `!lvl limit 15` | Only announce level ups above the limit. 82 | **level mod** \
Manage Server | `!lvl mod 5`| Only announce level ups if they are evenly divisble by the number. 83 | **level rewardonly**
Manage Server | `!lvl rewardonly` | Only announce level ups with associated rank rewards. 84 | **leaderboard** [page] | `!leaderboard` | Lists the members based on their XP. 85 | **level log**
Manage Server | `!lvl log` | Shows the last 25 level ups in the server. 86 | 87 | 88 | Name | Example | Usage 89 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 90 | **level shh**
Manage Server | `/level shh` | Bot stops announcing level up messages. 91 | **level dm**
Manage Server | `/level dm` | Makes the bot DM the level up message to the user. 92 | **level channel** [channel=current]
Manage Server | `/level channel #level-up` | Sets a channel to send level up messages to. 93 | **level limit** \
Manage Server | `/level limit 15` | Only announce level ups above the limit. 94 | **level mod** \
Manage Server | `/level mod 5` | Only announce level ups if they are evenly divisble by the number. 95 | **level rewardonly**
Manage Server | `/level rewardonly` | Only announce level ups with associated rank rewards. 96 | **leaderboard** [page] | `/level leaderboard` | Lists the members based on their XP. 97 | **level log**
Manage Server | `/level log` | Shows the last 25 level ups in the server. 98 | 99 | 100 | 101 | 102 | ## Level Rewards 103 | 104 | ![Level Rewards](_images/level_rewards.png ':size=75%') 105 | 106 | 107 | 108 | 109 | Name | Example | Usage 110 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 111 | **level replace**
Manage Server | `!lvl replace` | Toggles between rewards being additive or replacing earlier rewards. 112 | **level reward** \ [role]
Manage Server | `!lvl reward 10 Member` | Adds a reward for the specified level. Use without specifying a role to remove the reward at that level. 113 | 114 | 115 | Name | Example | Usage 116 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 117 | **level replace**
Manage Server | `/level replace` | Toggles between rewards being additive or replacing earlier rewards. 118 | **level reward** \ [role]
Manage Server | `/level reward 10 Member` | Adds a reward for the specified level. Use without specifying a role to remove the reward at that level. 119 | 120 | -------------------------------------------------------------------------------- /docs/logging.md: -------------------------------------------------------------------------------- 1 | ?> Consider using the [Dashboard](https://carl.gg) 2 | 3 | ## Quick Setup 4 | 5 | 6 | 7 | 8 | 9 | 1. Choose a channel with `!log channel [channel]` 10 | 2. Select which events you want to be logged with `!log ` where event is an event found in the [Events List](#events-list). 11 | 3. Split up logging into separate channel by using the commands found in [Logging Commands](#logging-commands). 12 | 13 | ?> The `!log aio` command automatically creates a category, fills it with five channels and splits up logging into them. 14 | 15 | 16 | 17 | 1. Choose a channel with `/log channel [channel]` 18 | 2. Select which events you want to be logged with `/log config [event]` where event is an event found in the [Events List](#events-list). 19 | 3. Split up logging into separate channel by using the commands found in [Logging Commands](#logging-commands). 20 | 21 | ?> The `/log aio` command automatically creates a category, fills it with five channels and splits up logging into them. 22 | 23 | 24 | 25 | ## Logging Commands 26 | 27 | 28 | 29 | 30 | 31 | | Name | Example | Usage | 32 | | --------------------------------------------------------------------------------------------- | ------------------------------- | --------------------------------------------------------------------------------------- | 33 | | **log channel** [channel]
Manage Server | `!log channel #logs` | Sets the default channel where logged events go. Leave empty to clear the channel. | 34 | | **log** [event]
Manage Server | `!log timeout` | Toggles an event from being logged or not. Leave blank to see current config. | 35 | | **log messagechannel** [channel]
Manage Server | `!log messagechannel #msglog` | Sets the channel where message events are logged. | 36 | | **log memberchannel** [channel]
Manage Server | `!log memberchannel #memberlog` | Sets the channel where member events are logged. | 37 | | **log joinchannel** [channel]
Manage Server | `!log joinchannel #joinlog` | Sets the channel where the bot logs joining and leaving. | 38 | | **log serverchannel** [channel]
Manage Server | `!log serverchannel #svlog` | Sets the channel where updates to the server are logged. | 39 | | **log voicechannel** [channel]
Manage Server | `!log voicechannel #vclog` | Sets the channl where members joining/moving between/leaving voice channels are logged. | 40 | | **log ignore**
Manage Server | `!log ignore @Carl-bot #staff` | Ignores message events posted in the channels or by the members. | 41 | | **log unignore**
Manage Server | `!log unignore @Carl-bot` | Stops ignoring the channels and/or members. | 42 | | **log** \
Manage Server | `!log ip !` | Ignores message deletions, edits and messages within purges starting with the prefix. | 43 | | **log** \
Manage Server | `!log up !` | Stops ignoring the prefix in message deletions, edits and messages within purges. | 44 | | **log export**
Manage Server | `!log export` | Exports the settings used in this server. | 45 | | **log** [import\|custom] \
Manage Server | `!log import 1337` | Imports the settings. | 46 | | **log aio**
Manage Server | `!log aio` | Creates a category, fills it with five channels and splits up logging into them. | 47 | 48 | 49 | 50 | | Name | Example | Usage | 51 | | ---------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------- | 52 | | **log channel** [channel]
Manage Server | `/log channel #logs` | Sets the default channel where logged events go. Leave empty to clear the channel. | 53 | | **log config** [event]
Manage Server | `/log config timeout` | Toggles an event from being logged or not. Leave blank to see current config. | 54 | | **log message_channel** [channel]
Manage Server | `/log message_channel #msglog` | Sets the channel where message events are logged. | 55 | | **log member_channel** [channel]
Manage Server | `/log member_channel #memberlog` | Sets the channel where member events are logged. | 56 | | **log join_channel** [channel]
Manage Server | `/log join_channel #joinlog` | Sets the channel where the bot logs joining and leaving. | 57 | | **log server_channel** [channel]
Manage Server | `/log server_channel #svlog` | Sets the channel where updates to the server are logged. | 58 | | **log voice_channel** [channel]
Manage Server | `/log voice_channel #vclog` | Sets the channl where members joining/moving between/leaving voice channels are logged. | 59 | | **log ignore** \
Manage Server | `/log ignore @Carl-bot #staff` | Ignores message events posted in the channels or by the members. | 60 | | **log unignore** \
Manage Server | `/log unignore @Carl-bot` | Stops ignoring the channels and/or members. | 61 | | **log prefix** \
Manage Server | `/log prefix !` | Ignores message deletions, edits and messages within purges starting with the prefix. | 62 | | **log remove_prefix** \
Manage Server | `/log remove_prefix !` | Stops ignoring the prefix in message deletions, edits and messages within purges. | 63 | | **log export**
Manage Server | `/log export` | Exports the settings used in this server. | 64 | | **log import** \
Manage Server | `/log import 1337` | Imports the settings. | 65 | | **log aio**
Manage Server | `/log aio` | Creates a category, fills it with five channels and splits up logging into them. | 66 | 67 | 68 | 69 | ### Events List 70 | 71 | Each event that Carl-bot logs has an associated value and channel. 72 | 73 | | Event | Logging | Value | Channel | 74 | | ------------- | ---------------------------------------- | ------- | -------------- | 75 | | delete | Deleted messages | 1 | messagechannel | 76 | | edit | Message edits | 2 | messagechannel | 77 | | purge | Bulk message deletion | 4 | messagechannel | 78 | | discord | Discord invites posted | 2097152 | messagechannel | 79 | | role | Member role updates | 8 | memberchannel | 80 | | avatar | Avatar updates | 32 | memberchannel | 81 | | bans | Bans and unbans | 192 | memberchannel | 82 | | ban | Just bans | 64 | memberchannel | 83 | | unban | Just unbans | 128 | memberchannel | 84 | | timeout | Timeouts given | | memberchannel | 85 | | removetimeout | Timeouts removed | | memberchannel | 86 | | join | Joined the server | 256 | joinchannel | 87 | | leave | Left the server | 512 | joinchannel | 88 | | name | Name and nickname changes | | memberchannel | 89 | | channels | Channel creations, updates and deletions | 7168 | serverchannel | 90 | | channelcreate | Channel creation | 1024 | serverchannel | 91 | | channelupdate | Channel updates | 2048 | serverchannel | 92 | | channeldelete | Channel deletions | 4096 | serverchannel | 93 | | allroles | Role creations, updates and deletions | 458752 | serverchannel | 94 | | rolecreate | Role creation | 65536 | serverchannel | 95 | | roleupdate | Role updates | 131072 | serverchannel | 96 | | roledelete | Role deletions | 262144 | serverchannel | 97 | | emoji | Emoji creations, updates and deletions | 1048576 | serverchannel | 98 | | server | Server updates | 524288 | serverchannel | 99 | | voice | All voice channel events | 57344 | voicechannel | 100 | | voicejoin | Members joining voice channels | 8192 | voicechannel | 101 | | voicemove | Members changing voice channels | 16384 | voicechannel | 102 | | voiceleave | Members leaving voice channels | 32768 | voicechannel | 103 | | everything | All events | 4194303 | depends | 104 | | nothing | No events | 0 | 105 | | default | Some messages and member events | 1019 | depends | 106 | 107 | ## Modlogs 108 | 109 | 110 | 111 | 112 | 113 | | Name | Example | Usage | 114 | | -------------------------------------------------------------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | 115 | | **modlog create** [name=modlog]
Manage Server | `!modlog create auditlog` | Creates a channel where moderation actions will be logged. | 116 | | **modlog set** \
Manage Server | `!modlog set #modlog` | Sets an already existing channel to send actions to (make sure the bot has the permissions required to post in the channel). | 117 | | **modlog clear**
Manage Server | `!modlog clear` | Makes the bot stop logging actions to the channel. | 118 | | **modlog from** \
Manage Server | `!modlog from @Carl-bot` | Retrieves all infractions for a member with the responsible moderator. | 119 | | **reason** \ \
Manage Server | `!reason 17 Spamming` | Sets a reason for a modlog entry, useful for cases where you either banned manually or forgot to specify a reason. | 120 | | **modlog highscores**
Manage Server | `!modlog highscores` | Shows the moderators ranked by how many actions they've taken. | 121 | | **modlog export** \
Manage Server | `!modlog export @Carl-bot` | Generates a `.txt` file of the modlogs relating to the user specified. | 122 | 123 | 124 | 125 | | Name | Example | Usage | 126 | | --------------------------------------------------------------------------------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | 127 | | **modlog create** [name]
Manage Server | `/modlog create auditlog` | Creates a channel where moderation actions will be logged. | 128 | | **modlog set** \
Manage Server | `/modlog set #modlog` | Sets an already existing channel to send actions to (make sure the bot has the permissions required to post in the channel). | 129 | | **modlog clear**
Manage Server | `/modlog clear` | Makes the bot stop logging actions to the channel. | 130 | | **modlog from** \
Manage Server | `/modlog from @Carl-bot` | Retrieves all infractions for a member with the responsible moderator. | 131 | | **modlog reason** \ \
Manage Server | `/modlog reason 17 Spamming` | Sets a reason for a modlog entry, useful for cases where you either banned manually or forgot to specify a reason. | 132 | | **modlog highscores**
Manage Server | `/modlog highscores` | Shows the moderators ranked by how many actions they've taken. | 133 | | **modlog export** \ [member]
Manage Server | `/modlog export @Carl-bot` | Generates a `.txt` file of the modlogs relating to the user specified. | 134 | 135 | 136 | -------------------------------------------------------------------------------- /docs/misc.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Name | Example | Usage 5 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 6 | **charinfo** \ | `!charinfo %`| Shows you information about characters. Max 15 characters at a time. 7 | **botpermissions** [channel=current]
Manage Roles | `!botpermissions` | Shows the bot's permissions in the channel provided. 8 | **invite** | `!invite` | Shows you the bot's invite links. 9 | **vote** | `!vote` | Sends a link to vote for the bot at Top.gg 10 | 11 | 12 | Name | Example | Usage 13 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 14 | **misc charinfo** \ | `/misc charinfo %` | Shows you information about characters. Max 15 characters at a time. 15 | **misc botpermissions** [channel=current]
Manage Roles | `/misc botpermissions` | Shows the bot's permissions in the channel provided. 16 | **misc permissions** [member=you] [channel=current] | `/misc permissions @Carl-bot #general` | Shows a member's permissions in the channel provided. 17 | **misc invite** | `/misc invite` | Shows you the bot's invite links. 18 | **misc vote** | `/misc vote` | Sends a link to vote for the bot at Top.gg 19 | 20 | -------------------------------------------------------------------------------- /docs/moderation.md: -------------------------------------------------------------------------------- 1 | ## Setup 2 | ?> Anyone can use the `report` command, and by default Carl-bot will delete the command invocation when used. Instruct your users to use it in the channel where the event they're reporting happened, so your staff can make use of the jump link the report generates. 3 | 4 | 5 | 6 | 7 | Name | Example | Usage 8 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 9 | **reportchannel** \
Manage Server | `!reportchannel #reports` | Sets the channel where reports are sent. 10 | **report** \ | `!report Carl-bot bad` | Sends a report to the report channel. 11 | **setnick** \ \
Manage Nicknames | `!setnick @Carl-bot God` | Changes the user's nickname in the server. 12 | **lockdown setup**
Manage Roles | `!lockdown setup` | Toggles off Send Messages from all roles execpt @everyone. This is a premium command. 13 | 14 | 15 | Name | Example | Usage 16 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 17 | **moderation reportchannel** \
Manage Server | `/moderation reportchannel #reports` | Sets the channel where reports are sent. 18 | **moderation report** \ | `/moderation report Carl-bot bad` | Sends a report to the report channel 19 | **moderation setnick** \ \
Manage Nicknames | `/moderation setnick @Carl-bot God` | Changes the user's nickname in the server. 20 | **lockdown setup**
Manage Roles | `/lockdown setup` | Toggles off Send Messages from all roles except @everyone. This is a premium command. 21 | 22 | 23 | 24 | 25 | ## Punishment Commands 26 | 27 | 28 | 29 | 30 | Name | Example | Usage 31 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 32 | **ban** \ [days=2] [reason]
Ban Members | `!ban @Carl-bot too good` | Bans the member from the server. This works even if the member isn't on the server. Days refer to the number of days old messages from them that should be purged. 33 | **mute** \ [duration] [reason]
Manage Roles | `!mute @Carl-bot 2h30m too good` | Mutes a member for the specified time. If no time is given, mutes are indefinite. This uses the Muterole set in [Config](config) 34 | **hardmute** \ [duration] [reason]
Manage Roles | `!hardmute @Carl-bot 2h` | Similar to mute but also removes all of the roles of the user. 35 | **unmute** \ [reason]
Manage Roles | `!unmute @Carl-bot served` | Unmutes a member. 36 | **kick** \ [reason]
Kick Members | `!kick @Carl-bot bot` | Kicks a member. 37 | **softban** \ [days=2] [reason]
Ban Members | `!softban @Carl-bot vacation` | Bans and immediately unbans a member to clear message history. 38 | **tempban** \ [days=2] [duration] [reason]
Ban Members | `!tempban @Carl-bot 1h` | Bans a user for the specified duration. 39 | **massban** [days=2]
Ban Members | `!massban @Carl-bot @John` | Bans multiple members. 40 | **warn** \ [reason]
Manage Roles | `!warn @Carl-bot` | Warns a member, DMs them a copy of the reason as well. 41 | **timeout** \ [time] [reason]
Timeout Members | `!timeout @Carl-bot 10m` | Timeout a member, DMs them a copy of the reason as well. 42 | **removetimeout** \ [reason]
Timeout Members | `!removetimeout @Carl-bot served` | Removes timeout from a member. 43 | 44 | 45 | Name | Example | Usage 46 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 47 | **moderation ban** \ [days] [reason]
Ban Members | `/moderation ban @Carl-bot 2` | Bans the member from the server. This works even if the member isn't on the server. Days refer to the number of days old messages from them that should be purged. 48 | **moderation mute** \ [duration] [reason]
Manage Roles | `/moderation mute @Carl-bot` | Mutes a member for the specified time. If no time is given, mutes are indefinite. This uses the Muterole set in [Config](config). 49 | **moderation hardmute** \ [duration] [reason]
Manage Roles | `/moderation hardmute @Carl-bot` | Similar to mute but also removes all of the roles of the user. 50 | **moderation unmute** \ [reason]
Manage Roles | `/moderation unmute @Carl-bot` | Unmutes a member. 51 | **moderation kick** \ [reason]
Kick Members | `/moderation kick @Carl-bot bot` | Kicks a member. 52 | **moderation softban** \ [days] [reason]
Ban Members | `/moderation softban @Carl-bot vacation` | Bans and immediately unbans a member to clear message history. 53 | **moderation tempban** \ [delete_days] [duration] [reason]
Ban Members | `/moderation tempban @Carl-bot 1h` | Bans a user for the specified duration. 54 | **moderation massban** \ [days]
Ban Members | `/moderation massban @Carl-bot @John` | Bans multiple members. 55 | **moderation warn** \ [reason]
Manage Roles | `/moderation warn @Carl-bot` | Warns a member, DMs them a copy of the reason as well. 56 | **moderation timeout** \ [duration] [reason]
Timeout Members | `/moderation timeout @Carl-bot` | Timeout a member, DMs them a copy of the reason as well. 57 | **moderation removetimeout** \ [reason]
Timeout Members | `/moderation removetimeout @Carl-bot` | Removes timeout from a member. 58 | 59 | 60 | 61 | ?> Reason, if provided, shows up in the modlogs and Discord's audit logs. 62 | 63 | ### Managing Warns 64 | 65 | 66 | 67 | 68 | Name | Example | Usage 69 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 70 | **warns** [member]
Manage Roles | `!warns @Carl-bot`| Lists all current warnings in the server or of the specified member. 71 | **removewarn** \
Manage Roles | `!removewarn 17` | Removes a warning by its case id. 72 | **clearwarn**
Manage Roles | `!clearwarn @Carl-bot` | Removes all warnings from a member. 73 | 74 | 75 | Name | Example | Usage 76 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 77 | **moderation warns** [member]
Manage Roles | `/moderation warns @Carl-bot` | Lists all current warnings in the server or of the specified member. 78 | **moderation removewarning** \
Manage Roles | `/moderation removewarning 17` | Removes a warning by its case id. 79 | **moderation clearwarnings**
Manage Roles | `/moderation clearwarnings @Carl-bot` | Removes all warnings from a member. 80 | 81 | 82 | 83 | 84 | ## User Notes 85 | 86 | 87 | 88 | 89 | Name | Example | Usage 90 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 91 | **setnote** \ \
Manage Server | `!setnote @Carl-bot favorite bot` | Assigns the note to the member specified. 92 | **notes** \
Manage Server | `!notes @Carl-bot` | Displays all of a member's notes. 93 | **removenote** \
Manage Server | `!removenote 56` | Removes a note by number. 94 | **clearnotes** \
Manage Server | `!clearnotes @Carl-bot` | Removes all notes from a member. 95 | 96 | 97 | Name | Example | Usage 98 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 99 | **notes setnote** \ \
Manage Server | `/notes setnote @Carl-bot favorite bot` | Assigns the note to the member specified. 100 | **notes view** \
Manage Server | `/notes view @Carl-bot` | Displays all of a member's notes. 101 | **notes removenote** \
Manage Server | `/notes removenote 56` | Removes a note by number. 102 | **notes clearnotes** \
Manage Server | `/notes clearnotes @Carl-bot` | Removes all notes from a member. 103 | 104 | 105 | 106 | 107 | ## Lockdown 108 | !> Locking down a channel denies the @everyone role Send Messages as an override in the specified channel. Any roles explicitly granting Send Messages will override this for anyone with that role. Set up your server correctly by removing Send Messages from all non-mod roles. 109 | 110 | 111 | 112 | 113 | Name | Example | Usage 114 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 115 | **lockdown** [channel=current] [duration]
Manage Channels | `!lockdown #general 20m` | Locks the specified channel for the duration, if specified else indefinitely. 116 | **unlockdown** \
Manage Channels | `!unlockdown #general` | Unlocks the specified channel. 117 | **lockdown server** \
Manage Channels | `!lockdown server 20m` | Locks all the chanels in the server. 118 | **unlockdown server**
Manage Channels | `!unlockdown server` | Unlocks all the channels in the server. 119 | 120 | 121 | Name | Example | Usage 122 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 123 | **lockdown channel** [channel] [duration] [reason] | `/lockdown channel #general 20m spam` | Locks the specified channel for the duration, if specified else indefinitely. 124 | **unlockdown channel** [channel]
Manage Channels | `/unlockdown channel #general` | Unlocks the specified channel. 125 | **lockdown server** [duration] [reason]
Manage Channels | `/lockdown server 20m spam` | Locks all the chanels in the server. 126 | **unlockdown server**
Manage Channels | `/unlockdown server` | Unlocks all the channels in the server. 127 | 128 | 129 | 130 | 131 | ## Purging Messages 132 | ?> `purge` ignores pinned messages but `cleanup` does not. 133 | 134 | 135 | 136 | 137 | Name | Example | Usage 138 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 139 | **purge** [search=100] [member]
Manage Server | `!purge 200` | Purges the number of messages specified. If a member is specified then only that member's messages are purged. 140 | **purge bot** [search=100] [prefix]
Manage Server | `!purge bot 20 ?` | Purges bot messages and messages with the specified prefix. 141 | **purge contains** [search=100] \
Manage Server | `!purge contains 12 thanos` | Purges messages containing the substring specified. 142 | **purge all** [search=100]
Manage Server | `!purge all 13` | Purges the number of messages specified. 143 | **purge embeds** [search=100]
Manage Server | `!purge embeds 12` | Purges messages with embeds. 144 | **purge emoji** [search=100]
Manage Server | `!purge emoji 6` | Purges messages that contain custom emoji. 145 | **purge files** [search=100]
Manage Server | `!purge files 21` | Purges messages with attachments. 146 | **purge images** [search=100]
Manage Server | `!purge images 11` | Purges messages with attachments or embeds. 147 | **purge links** [search=100]
Manage Server | `!purge links 15` | Purges messages containing links. 148 | **purge** [mentions\|pings] [search=100]
Manage Server | `!purge pings 25` | Purges messages containing pings. 149 | **purge** [human\|humans] [search=100]
Manage Server | `!purge human 13` | Purges messages except those by bots. 150 | **purge reactions** [search=100]
Manage Server | `!purge reactions` | Removes all reactions from messages. 151 | **cleanup** [search=100]
Manage Server | `!cleanup 8` | Purges messages sent by @Carl-bot. 152 | 153 | 154 | Name | Example | Usage 155 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 156 | **purge bot** \ [prefix]
Manage Server | `/purge bot 20 ?` | Purges bot messages and messages with the specified prefix. 157 | **purge contains** \ [search]
Manage Server | `/purge contains thanos 12` | Purges messages containing the substring specified. 158 | **purge user** \ [search]
Manage Server | `/purge user @Carl-bot 20` | Purges messages from a specific member. 159 | **purge all** \
Manage Server | `/purge all 13` | Purges the number of messages specified. 160 | **purge embeds** \
Manage Server | `/purge embeds 12` | Purges messages with embeds. 161 | **purge emoji** [count]
Manage Server | `/purge emoji 6` | Purges messages that contain custom emoji. 162 | **purge files** \
Manage Server | `/purge files 21` | Purges messages with attachments. 163 | **purge images** \
Manage Server | `/purge images 11` | Purges messages with attachments or embeds. 164 | **purge links** \
Manage Server | `/purge links 15` | Purges messages containing links. 165 | **purge mentions** \
Manage Server | `/purge mentions 25` | Purges messages containing pings. 166 | **purge human** \
Manage Server | `/purge human 13` | Purges messages except those by bots. 167 | **purge reactions** [count]
Manage Server | `/purge reactions` | Removes all reactions from messages. 168 | **moderation cleanup** [count]
Manage Server | `/moderation cleanup 8` | Purges messages sent by @Carl-bot. 169 | 170 | -------------------------------------------------------------------------------- /docs/notifications.md: -------------------------------------------------------------------------------- 1 | ## Twitch 2 | ?> **Limits**
Non-Premium Carl-bot servers are limited to subscribing to 1 Twitch channel notifications.
Premium Carl-bot servers are limited to subscribing to 5 Twitch channel notifications. 3 | 4 | ![Twitch](_images/twitch.png ':size=100%') 5 | 6 | 7 | 8 | 9 | Name | Example | Usage 10 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 11 | **twitch** \ [channel=current] [message]
Manage Server | `!twitch tansmh #live {name} went live` | Binds the streamer's live alerts to the channel. 12 | **twitch add** \ [channel=current] [message]
Manage Server | `!twitch add tansmh #live {name} went live` | Binds the streamer's live alerts to the channel. 13 | **twitch list**
Manage Server | `!twitch list` | Shows all the binded streamers and their live status. 14 | **twitch online**
Manage Server | `!twitch online` | Shows all currently live streamers. 15 | **twitch remove** \
Manage Server | `!twitch remove tansmh` | Unbinds a streamer's live alerts. 16 | **twitch move** \ \
Manage Server | `!twitch move tansmh #notifs` | Rebinds a streamer's live alerts to a different channel. 17 | **twitch fmt** \ \
Manage Server | `!twitch fmt tansmh {name} is playing {game}` | Change a streamer's live alert message. 18 | 19 | 20 | Name | Example | Usage 21 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 22 | **twitch add** \ [channel=current] [format]
Manage Server | `/twitch add tansmh #live {name} went live` | Binds the streamer's live alerts to the channel. 23 | **twitch list**
Manage Server | `/twitch list` | Shows all the binded streamers and their live status. 24 | **twitch online**
Manage Server | `/twitch online` | Shows all currently live streamers. 25 | **twitch remove** \
Manage Server | `/twitch remove tansmh` | Unbinds a streamer's live alerts. 26 | **twitch move** \ \
Manage Server | `/twitch move tansmh #notifs` | Rebinds a streamer's live alerts to a different channel. 27 | **twitch format** \ \
Manage Server | `/twitch format tansmh {name} is playing {game}` | Changes a streamer's live alert message. 28 | 29 | 30 | 31 | ### Variables 32 | These variables can be used in the message that is sent when a streamer goes live: 33 | - `{link}` - Stream link 34 | - `{name}` - Streamer's username 35 | - `{game}` - Game being played 36 | - `{everyone}` - Tags @everyone 37 | 38 | 39 | ## YouTube 40 | ?> **Limits**
Non-Premium Carl-bot servers are limited to subscribing to 5 YouTube channel notifications.
Premium Carl-bot servers are limited to subscribing to 20 YouTube channel notifications. 41 | 42 | !> To move the youtube alert channel or format the youtube alert message, you need to head over to the **[Dashboard](https://carl.gg)**. 43 | 44 | 45 | 46 | 47 | Name | Example | Usage 48 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 49 | [**youtube**\|**yt**] \ [channel=current] [message]
Manage Server | `!yt https://youtube.com/ygaming` | Binds the youtuber channel's alerts to the channel. 50 | **youtube sub** \ [channel=current] [message]
Manage Server | `!yt sub https://youtube.com/ygaming` | Binds the youtuber channel's alerts to the channel. 51 | **youtube list**
Manage Server | `!yt list` | Shows all the binded youtubers and the connected channels. 52 | **youtube unsub** \
Manage Server | `!yt unsub https://youtube.com/ygaming` | Unbinds a youtuber channel's alerts. 53 | 54 | 55 | Name | Example | Usage 56 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 57 | **youtube add** \ [channel=current] [format]
Manage Server | `/youtube add https://youtube.com/ygaming` | Binds the youtuber channel's alerts to the channel. Can use channel name, handle name, custom channel link or even video links (which is the most accurate way). 58 | **youtube list**
Manage Server | `/youtube list` | Shows all the binded youtubers and the connected channels. 59 | **youtube remove** \
Manage Server | `/youtube remove https://youtube.com/ygaming` | Unbinds a youtuber channel's alerts. 60 | 61 | 62 | 63 | ### Variables 64 | These variables can be used in the message that is sent when a youtube alert is received: 65 | - `{link}` - Channel link 66 | - `{author}` - Channel name 67 | - `{everyone}` - Tags @everyone -------------------------------------------------------------------------------- /docs/premium.md: -------------------------------------------------------------------------------- 1 | Premium commands will help you manage your Discord/Patreon premium subscription to Carl-bot. 2 | 3 | ## Linking Patreon 4 | 5 | ?> Make sure you are logged into the correct [Discord](https://discordapp.com) account in your browser. 6 | 7 | 1. Go to the [settings page in Patreon for connected apps](https://www.patreon.com/settings/apps) and click **Connect** for Discord. 8 | 2. Click on [this link](https://carl.gg/api/v1/oauth/gotopatreon) to force the update. 9 | 3. If the connection is still not showing on the settings page in Patreon, edit something on your profile\* and/or wait at least 10 minutes. 10 | 4. If the bot has still not sent a DM to you by now, ask for help in **#vip-support** or **#other-support** channel on the [Carl-bot Help](https://discord.com/invite/carlbot) support server. 11 | 5. If none of the above works, please send an email to `support@botlabs.gg` with the subject `Carl-bot premium support` and add the following details: 12 | - Your Discord ID 13 | - Your Email that is linked to Patreon 14 | - Screenshot of receipt from Patreon 15 | 16 | \*_Editing your Patreon profile forces Patreon to update and send your new membership info to Carl-bot._ 17 | 18 | ## Premium Commands 19 | 20 | 21 | 22 | 23 | 24 | | Name | Example | Usage | 25 | | ------------------------------------ | ---------------- | ------------------------------------------------------------------------------- | 26 | | **addpremium** | `!addpremium` | Mark a server as premium to avail increased limits and enable premium features. | 27 | | **removepremium** [guild_id=current] | `!removepremium` | Removes a server as premium. | 28 | | **listpremium** | `!listpremium` | Shows a list of all premium activated servers by you` | 29 | | **patreon** | `!patreon` | Shows the link to the bot's patreon | 30 | 31 | 32 | 33 | | Name | Example | Usage | 34 | | -------------------------------------------- | ------------------------ | ------------------------------------------------------------------------------- | 35 | | **premium addpremium** | `/premium addpremium` | Mark a server as premium to avail increased limits and enable premium features. | 36 | | **premium removepremium** [guild_id=current] | `/premium removepremium` | Removes a server as premium. | 37 | | **premium listpremium** | `/premium listpremium` | Shows a list of all premium activated servers by you` | 38 | | **remium patreon** | `/premium patreon` | Shows the link to the bot's patreon | 39 | 40 | 41 | -------------------------------------------------------------------------------- /docs/roles.md: -------------------------------------------------------------------------------- 1 | ## Autoroles 2 | ?> If you have autoroles and reassigned roles, the returning member will receive the union of both. 3 | 4 | ![Autoroles](_images/autoroles.png ':size=75%') ![Sticky Roles](_images/sticky_roles.png ':size=75%') 5 | 6 | 7 | 8 | 9 | Name | Example | Usage 10 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 11 | [**autorole**\|**autoroles**]
Manage Roles | `!autoroles` | Shows which roles will be added upon joining and if the bot will re-add roles when someone leaves and rejoins the server. 12 | **autorole** [readd\|reassign]
Manage Roles | `!autorole readd` | Toggles reassigning roles. 13 | **autorole add** \
Manage Roles | `!autorole add regular` | Autoroles are roles that are given to the user upon joining the server. 14 | **autorole remove** \
Manage Roles | `!autorole remove admin` | Removes a role from being auto assigned. 15 | **autorole** [bl\|blacklist] \
Manage Roles | `!autorole bl admin newbie` | Prevents the mentioned roles from being reassigned. 16 | **autorole unblacklist**
\
Manage Roles | `!autorole unblacklist "fortnite expert"` | Removes roles from blacklist. 17 | 18 | 19 | Name | Example | Usage 20 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 21 | **autorole show**
Manage Roles | `/autorole show` | Shows which roles will be added upon joining and if the bot will re-add roles when someone leaves and rejoins the server. 22 | **autorole reassign**
Manage Roles | `/autorole reassignn` | Toggles reassigning roles. 23 | **autorole add** \
Manage Roles | `/autorole add regular` | Autoroles are roles that are given to the user upon joining the server. 24 | **autorole remove** \
Manage Roles | `/autorole remove admin` | Removes a role from being auto assigned. 25 | **autorole blacklist** \
Manage Roles | `/autorole bl admin newbie` | Prevents the mentioned roles from being reassigned. 26 | **autorole unblacklist**
\
Manage Roles | `/autorole unblacklist "fortnite expert"` | Removes roles from blacklist. 27 | 28 | 29 | 30 | ### Timedroles 31 | Autoroles but roles are assigned with a delay. 32 | 33 | 34 | 35 | 36 | Name | Example | Usage 37 | ---------------- | ----------------- | ----------------------------------------------------------------------------- 38 | [**tr**\|**timedrole**]
Manage Roles | `!timedrole` | Shows the roles being assigned with their delay. 39 | **timedrole** [add\|+] \