{"config":{"lang":["en"],"separator":"[\\s\\-,:!=\\[\\]()\"/]+|(?!\\b)(?=[A-Z][a-z])|\\.(?!\\d)|&[lg]t;","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Elliebot Documentation","text":"
This site will now be hosting user guides for EllieBot v3
Add Ellie to your server View commands
Ellie's website Blog
"},{"location":"coming_soon/","title":"Coming soon","text":""},{"location":"coming_soon/#this-section-of-the-documentation-is-coming-soon","title":"This section of the documentation is coming soon!","text":""},{"location":"contributing/","title":"Hey there!","text":"If you are on this page that means you either want to help us or you are just curious about our project our contribution steps for the Ellie bot project are below
"},{"location":"contributing/#contribution-steps","title":"Contribution steps","text":"1.Fork the repository\n2.Clone your fork: git clone https://github.com/your-username/Ellie-bot.git\n3.Create your feature branch: git checkout -b my-new-feature\n4.Commit your changes: git commit -am 'Add some feature'\n5.Push to the branch: git push origin my-new-feature\n6.Submit a pull request\n
All contributions are welcome!
Thanks in advance
"},{"location":"credits/","title":"Credits","text":""},{"location":"credits/#we-would-like-to-thank-these-people-for-the-projects-that-powers-this-documentation","title":"We would like to thank these people for the projects that powers this documentation","text":"MkDocs for creating mkdocs cause without them this documentation would not be possible
squidfunk for creating mkdocs-material the theme that this site uses
"},{"location":"Giveaway-Child/Commands/","title":"Commands","text":"Note
This page here is scheduled for an update.
"},{"location":"Giveaway-Child/Commands/#giveaway-commands","title":"Giveaway Commands","text":"/add <user>
Add users to the ticket. /addcategory <title> <category>
Adds a category for users to open tickets in. The title is what will be used on buttons and in selection menus. /addmessage <identifier> <message>
Adds a new message for the say
command. The identifier is one word used in the say command and the message is what the bot prints. /addstaff <user>
Registers a user as a staff member for ticket assignment. /assign (user)
Assigns a ticket to a staff member, themself if no mention or id is provided. /blacklist <user>
Blacklists users from opening tickets. /close
Closes a ticket channel and posts a ticket transcript in the log channel. /createbuttonpanel
Creates a panel of buttons for users to open tickets with, one for each saved category. /createselectionbox (message)
Creates a selection menu for users to open tickets with. Message is the placeholder shown on the selection menu before anything is selected. /list (user)
Lists a user's open and closed tickets. /listassigned (user)
Lists all of a staff member's assigned tickets. /listopen
Lists a number of the oldest still open tickets, default is 20. /listunassigned
Lists all unassigned tickets. /move <category>
Moves a ticket to a specific category by partial name. /new
Opens a new ticket channel. /rassign (role)
Randomly assigns a ticket to an active staff member. If a role is provided only staff member with that role are considered. /removecategory <category>
Removes a category from the bot. /removemessage <identifier>
Removes message from the database. /removestaff <user>
Removes a user from staff. /say (identifier)
Prints a message with information from staff. Use with no arguments to list ids. /setsummary <summary>
Sets a summary for a ticket which can be viewed using the summary
command. /status
Shows a status message about the bot with info such as number of tickets and which version is running. /summary
Shows some information about a ticket and its summary if set. /toggleactive (user)
Toggles whether a staff member counts as active or not. /transcript (ticket id)
Generates a ticket transcript as an html file. /unassign
Unassigns a ticket from the currently assigned staff member. /unblacklist <user>
Un-blacklists users from opening tickets. /admin listinvalid
Lists tickets which channels have been deleted, you can use the /admin unsetticket
command to remove them from the ticket system. /admin reload
Reloads the config. /admin setticket (channel)
Makes the current channel a ticket. /admin unsetticket (ticket id)
Removes a ticket without deleting the channel."},{"location":"other-things/timestamps/","title":"Timestamps","text":"This page will soon be moved to a different docs site.
"},{"location":"other-things/timestamps/#how-to-use-timestamps","title":"How to use timestamps","text":"Here is some stuff that culd help
Unix epoch time converter
<t:1624855717> short date time: June 27, 2021 9:48 PM\n<t:1624855717:f> short date time June 27, 2021 9:48 PM\n<t:1624855717:F> long date time: Sunday, June 27, 2021 9:48 PM\n<t:1624855717:d> short date: 06/27/2021\n<t:1624855717:D> long date: June 27, 2021\n<t:1624855717:t> short time: 9:48 PM\n<t:1624855717:T> long time: 9:48:37 PM\n<t:1624855717:R> relative time: 2 days ago\n
Step 1
Look to how it is shown below and copy that but with your current date and time
Step 2
Then type it into Discord as shown below
"},{"location":"v4/custom-reactions/","title":"Expressions","text":""},{"location":"v4/custom-reactions/#important","title":"Important","text":"'exa
Add an expression with a trigger and a response. Running this command in a server requries the Administrator permission. Running this command in DM is Bot Owner only, and adds a new global expression. 'exadd \"hello\" Hi there, %user%!
'exl
Lists a page of global or server expression(15 expressions per page). Running this command in a DM will list the global expression, while running it in a server will list that server's expression. 'exl 1
'exd
Deletes an expression based on the provided index. Running this command in a server requires the Administrator permission. Running this command in DM is Bot Owner only, and will delete a global expression. 'exd 5
"},{"location":"v4/custom-reactions/#now-that-we-know-the-commands-lets-take-a-look-at-an-example-of-adding-a-command-with-exa","title":"Now that we know the commands let's take a look at an example of adding a command with 'exa
,","text":"'exadd \"Nice Weather\" It sure is, %user%!
This command can be split into two different arguments:
\"Nice Weather\"
It sure is, %user%!
An important thing to note about the triger is that, to be more than one word, we had to wrap it with quotation marks, \"Like this\"
otherwise, only the first word would have been recognised as the trigger, and the second word would have been recognised as part of the response.
There's no special requirement for the formatting of the response, so we could just write it in exactly the same way we want it to respond, albeit with a placeholder - which will be explained in this next section.
Now, if that command was ran in a server, anyone on that server can make the bot mention them, saying It sure is, @Username
anytime they say \"Nice Weather\". If the command is ran in a direct message with the bot, then the expression can be used on every server the bot is connected to.
If you want to disable a global expression which you do not like, and you do not want to remove it, or you are not the bot owner, you can do so by adding a new expression with the same trigger on your server, and set the response to -
.
For example: 'exa /o/ -
Now if you try to trigger /o/
, it won't print anything even if there is a global expression with the same name.
To learn about placeholders, go here
"},{"location":"v4/permissions-system/","title":"Permissions Overview","text":"Have you ever felt confused or even overwhelmed when trying to set Nadeko's permissions? In this guide we will be explaining how to use the permission commands correctly and even cover a few common questions! Every command we discuss here can be found in the Commands List.
"},{"location":"v4/permissions-system/#why-do-we-use-the-permissions-commands","title":"Why do we use the Permissions Commands?","text":"Permissions are very handy at setting who can use what commands in a server. All commands and modules are enabled by default. If something is a bot owner only command, it can only be ran by the bot owner
Several commands still require that you have the correct permissions on Discord to be able to use them, so for users to be able to use commands like 'kick
and 'voicemute
, they need Kick and Mute Members server permissions, respectively.
With the permissions system it possible to restrict who can skip the current song, pick NadekoFlowers or use the NSFW module.
"},{"location":"v4/permissions-system/#first-time-setup","title":"First Time Setup","text":"To change permissions you must meet the following requirements:
Have Administrator Server Permission.
If you are NOT the server owner or an admin, get the role set to 'permrole
(there is no permission role by default).
The Commands List is a great tool which lists all available commands, however we'll go over a few of them here.
First, let's explain how the permissions system works - It's simple once you figure out how each command works! The permissions system works as a chain. Everytime a command is used, the permissions chain is checked. Starting from the top of it, the command is compared to a rule, if it isn't either allowed or disallowed by that rule it proceeds to check the next rule all the way till it reaches the bottom rule, which allows all commands.
To view this permissions chain, do 'lp
. The rule at the top of the chain takes priority over all rules below it.
If you want to remove a permission from the chain of permissions, do 'rp X
to remove rule number X and similarly, do 'mp X Y
to move rule number X to number Y (moving, not swapping!).
If you want the bot to notify users why they can't use a command or module, use 'verbose true
and Ellie will tell you what rule is preventing the command from being used.
To allow users to only use commands in a specific text channel, follow these steps:
'asm disable
'acm enable #bot-spammerino
To allow users to only use commands from a certain module, let's say gambling, in a specific text channel, follow these steps:
'acm disable #gamblers-den
'cm Gambling enable #gamblers-den
To allow users to only see the current song and have a DJ role for queuing follow these steps:
'sm Music disable
'sc .nowplaying enable
'sc .listqueue enable
'rm Music enable DJ
Say you want to only enable NSFW commands for a specific role, just do the following two steps.
'sm NSFW disable
'rm NSFW enable Lewd
If you don't want server or global Expressions, just block the module that controls their usage:
'sm ActualExpressions disable
Note: The Expressions
module controls the usage of Expressions. The Expressions
module controls commands related to Expressions (such as 'acr
, 'lcr
, 'crca
, etc).
Yes, there is a way, in one easy command!
'resetperms
Placeholders are used in Quotes, Expressions, Greet/Bye messages, playing statuses, and a few other places.
They can be used to make the message more user friendly, generate random numbers or pictures, etc.
Some features have their own specific placeholders which are noted in that feature's command help. Some placeholders are not available in certain features because they don't make sense there.
"},{"location":"v4/placeholders/#usual-placeholders","title":"Usual placeholders","text":"Note
If you're using placeholders in embeds, don't use %user.mention% and %bot.mention% in titles, footers and field names. They will not show properly.
"},{"location":"v4/placeholders/#bot-placeholders","title":"Bot placeholders","text":"%bot.status%
- Bot's status (Online, Idle, DoNotDisturb, Invisible)%bot.latency%
- Bot latency%bot.name%
- Bot username%bot.mention%
- Bot mention (clickable)%bot.fullname%
- Bot username#discriminator%bot.time%
- Bot time (usually the time of the server it's hosted on)%bot.discrim%
- Bot's discriminator%bot.id%
- Bot's user ID%bot.avatar%
- Bot's avatar url%server.id%
- Server ID%server.name%
- Server name%server.members%
- Member count%server.boosters%
- Number of users boosting the server%server.boost_level%
- Server Boost level%server.time%
- Server time (requires 'timezone
to be set)%channel.mention%
- Channel mention (clickable)%channel.name%
- Channel name%channel.id%
- Channel ID%channel.created%
- Channel creation date%channel.nsfw%
- Returns either True
or False
, depending on if the channel is designated as NSFW using discord%channel.topic%
- Channel topic%user.mention%
- User mention%user.fullname%
- Username#discriminator%user.name%
- Username%user.discrim%
- Discriminator%user.avatar%
- User's avatar url%user.id%
- User ID%user.created_time%
- Account creation time (local time)%user.created_date%
- Account creation date%user.joined_time%
- Account join time (local time)%user.joined_date%
- Account join date%ban.mod%
- Full name of the moderator who performed the ban %ban.mod.fullname%
- Full name of the moderator who performed the ban %ban.mod.mention%
- Moderator's mention %ban.mod.name%
- Name of the moderator - Admin %ban.mod.discrim%
- Discriminator of the moderator - 1234 %ban.user%
- Full name of the banned user %ban.user.fullname%
- Full name of the banned user %ban.user.name%
- Name of the banned user %ban.user.discrim%
- Discriminator of the banned user %ban.reason%
- Reason for the ban, if provided %ban.duration%
- Duration of the ban in the form Days.Hours:Minutes (6.05:04) %shard.servercount%
- Server count on current shard%shard.usercount%
- Combined user count on current shard%shard.id%
- Shard ID%music.queued%
- Number of songs currently queued%music.playing%
- Current song name (random playing song if bot is playing on multiple servers)%music.servers%
- Number of servers currently listening to music%rngX-Y%
- Returns a random number between X and Y%target%
- Returns anything the user has written after the trigger (only works on Expressions)