- A powerful eval command.
- Changing game and status.
- Image tags and inline text tags.
- Message pruning.
- User/server info commands.
- Various fun emoji commands.
- Grammar correction, kinda.
- Customizable!
- A bunch of other things!
This bot requires Node.js 6.9.4 or higher.
This bot uses Discord.js and Akairo.
- Download git.
- Clone with
git clone https://github.com/1Computer1/megumin-selfbot.git
. - Open up a command prompt (or your preferred terminal) at the bot folder.
- Run
npm --only=prod install
to install required dependencies. - Setup your settings inside
src/data/config.json
(see configuration below). - Rename those files to not have
.example
. - Run
node megumin
and enjoy! - Update in the future by using
git pull
.
Rename config.json.example
to config.json
and fill in with appropriate information.
- Press CTRL+SHIFT+I (or equivalent on other OS).
- Go to Applications (at top).
- Go to Local Storage (at side).
- Copy and paste your token.
Do not share your token with anyone!
The prefix to use commands.
By default, it is /
.
Change it to whatever you like!
You can use an array for multiple prefixes.
The color of embeds used in images and in quoting.
Set it to a hex code, an integer, "random", or "auto" to use your current role's color.
Capitalizes your sentences and fixes contractions.
Does not actually make your grammar that much better.
By default, it is off.
Amount of messages to keep in cache (default 50).
Set to 0 to disable message caching, possibly saving memory.
Will make the edits command useless.
Will also probably disable the ability to run commands on an edit.
Disables console logging.
Errors are still logged.
Exits the process on disconnect.
Recommended to use with uws and a process manager (eg PM2).
When sending images, they will be sent as an attachment rather than in embed. Images saved as file (see below) will not work with this off.
When adding new images, they will be saved to src/data/images
rather than saved as a link.
Images saved as a file will not work with the above setting off.
By default, the prefix is /
.
You can change this in the config.json
.
Commands are also ran when you edit a message.
See the tag and image command to see how to use tags or images.
Pong!
Evaluates Javascript code.
Not recommended for the average user.
Has a print()
method that prepends/appends to the output, including async things.
Also a data
object that persists throughout evaluations.
A better version of eval.
Requires harmony or Node 7.6.0 or higher.
Allows usage of await
in addtion to things from eval.
Evaluates Python code.
Requires Python in your PATH.
Evaluates Ruby code.
Requires Ruby in your PATH.
Displays the memory usage, uptime, and a link to here.
Reloads a command.
Gets information about a guild.
Defaults to a random guild.
Gets icon of a guild.
Defaults to a random guild.
Gets the emotes of the guild.
Defaults to a random guild.
Gets information about a user.
Defaults to yourself.
Usable only in a guild.
Gets avatar of a user.
Defaults to yourself.
Gets the ID of something (member/channel/role/emote).
Usable only in a guild.
Gets the name of the guild that the emoji comes from.
Sets your current playing game.
Leave blank to stop playing game.
Sets your current status.
Can be one of: online
, idle
, dnd
, or invisible
.
Defaults to online
.
Makes some greentext.
Each new line will be prefixed with a >
.
Makes some orangetext.
Each new line will be suffixed with a <
.
Generates a random color or outputs with a specified color.
Prunes your messages.
Specify a number to prune that many messages.
By default it is 10.
Quotes a message.
Supply this command with a message ID.
All text after the ID will be your reply.
Include channel:id
to change channel of message.
Sees the edit history of a cached message.
Supply this command with a message ID.
All text after the ID will be your reply.
Include channel:id
to change channel of message.
Converts your text to emojis.
Reacts to the previous message with the specified text.
Don't use this one.
Especially not with the parameter set to 20.
Reverses your message.
Flips and reverses your message.
Embeds your message.
Also works with tags!
Gets XKCD comics.
Leave parameters blank for a random XKCD.
Use any text to get a relevant XKCD.
Use a number for a specific XKCD.
Use 0 for the current XKCD.
Gets the currrent time, somewhere.
Does math in Reverse Polish notation.
See the source code for available operators and constants.
Use tag list
to see a list of all your tags.
Use tag add
to add a tag.
The first parameter is the tag name, the second is its content.
You can specify a multiple words long tag name by enclosing them in double quotes.
Use tag del
to remove a tag.
You can specify a multiple words long tag name by enclosing it in double quotes.
Use tag reload
to reload the tags.json
if you have modified it outside of this command.
Tags can be used by doing [tagname]
in your message.
For example, hey check this out [animeStuffs] it's so cool! [woah]
.
To force a tag to not be used, simply add a backslash, \[tagname]
.
Use image list
to see a list of all your images.
Use image add
to add an image.
The first parameter is the image name, the second is the link to the image.
You can specify a multiple words long image name by enclosing it in double quotes.
Use image del
to remove an image.
You can specify a multiple words long image name by enclosing it in double quotes.
Use image reload
to reload the images.json
if you have modified it outside of this command.
Images can be used by starting a message with {imagename}
.
It will not work anywhere else in the message.
Everything after the image tag will be the actual message.
Fetches 100 messages and saves it to the src/data/logs
folder.
Include an ID to fetch 100 messages before that message.
Include channel:id
to change channel to fetch in.
You can customize the selfbot all you want!
To learn how, visit the Discord.js documentation and the Akairo documentation.
Of course, learn some Javascript as well.