TheRacingLion / Discord-SelfBot

A javascript discord selfbot that is setup and ready to go in less than 5 min.
MIT License
139 stars 107 forks source link
avatar-rotator bot discord discord-selfbot eris-selfbot keyword-notifier mention-logger selfbot

~ Discord Selfbot ~

A selfbot for Discord that is setup and ready to go in less than 5 minutes.
(If you already have the required programs installed)


Index

  1. Before Setup
  2. SelfBot Setup
  3. Commands
  4. License

Before Setup

Selfbots on Discord

Selfbots are officially banned. Those caught using one, will most likely be banned from Discord and have their account disabled. It has been considered as an API abuse and is no longer tolerated. Today (19/06/2018), I have decided to archive this repository and provide no more help for this project. You are still free to use it at your own risk, although like I have said many times before I am not responsible for anything you decide to do with your selfbot. Most of the code on this repository is very outdated, and if it were today, I would probably do it completely different. Maybe some day I will make another project that you will enjoy. Thanks to everyone that has used it! :D

Rules

Please remember that selfbots arent fully suported by Discord and that it should only be used to make YOUR life easier and not others. Also keep in mind that discord has a set of semi-offical rules regarding selfbots:

IF, and only if, you accept the above rules of selfbots, then you may proceed.

SelfBot Setup

- Install Required Programs -

Before you can download and setup the bot, there are 2 programs you need to have installed on your computer to make sure everything runs on first go:

- Download Project Files -

After you have the required programs installed, you can go ahead and download the project files. To do that, you either download the ZIP folder or do git clone https://github.com/TheRacingLion/Discord-SelfBot.git if you are a console person. Once you finish downloading it,you will be ready to setup the config files.

- Setup Config Files -

Once you download the project files you will see a folder named config. Inside of it will be 4 files and 1 folder:

avatars

This is the folder where you drag and drop your avatar images if you enabled avatar rotating.

config.json

This is the main config file. Inside you will see several options. This is what each one means:

games.json

This is where the game names you want to use for the rotating playing game option are. To add or delete games, just follow the structure of the games that are already on it. (If you have set the rotatePlayingGame option in the config.json file to false, then you dont need to worry about this file)

keywords.json

This is where the keywords that you want the bot to search for go in. (If you have set the keywordNotificator options in the config.json file to false, then you dont need to worry about this file)

paste.json

This file is where the meme texts are stored for the paste command, if you wish to add more to use with paste just follow the structure of the file and add them in. If an array is specified for one of the options then the bot will choose a random item from the array.

- Start the bot -

When you have the required programs installed, have all project files, and have setup config files, you can start the bot:

Windows

Open the installer.bat file. This will install the required node modules (so you dont have to do it yourself) and create a run.bat file. You can use this file to start the bot. If you did everything correctly, the bot should start up fine.

If for some reason you have ran installer.bat, it disapeared and it didnt create run.bat, then re-download installer.bat and try again. Most likely either git or node were not installed correctly. Check if they work and try again.

Linux / Mac

Executable files are kind of weird in Linux, and users most likely use console to do their work, so to setup this selfbot on linux or mac open a terminal in the directory you downloaded the files to and type npm i. Once it is finished you can start the selfbot by using npm start or node self.js. If you did everything correctly, the bot should start up fine.

Commands

All commands get logged to console, are case insensentive and are tested to see if the owner of the bot was the one who triggered the command. It should be easy to create commands if you know the basics of JavaScript. The library used is Eris.

- Default Commands -

The bot has several default commands. (Each command is explained inside their own file.) You can find a detailed command list here.

- Creating Commands -

When you want to create a new command, just add a new file to the commands folder and name it something like mycommand.js and then follow the basic structure below. If your command needs some kind of special options like permissions or you just want to set it to be used on guilds only, then you can use the pre-made command options shown below. There are also some helper functions built in to the function.

/*
  Optional comment string to describe the command.
*/
module.exports = (self) => {
  self.registerCommand('mycommand', function (msg, args) {
    // Do something with msg or args

    this.send(msg, 'This is some text', deleteDelay) // Send a message

    this.embed(msg, { // Send an embed
      title: 'Embed title',
      description: 'Embed description',
      color: 4627433
    }, deleteDelay)

    this.findMember(msg, args[0]) // Find a guild member
  }, {
    noPms: false, // Will only work on guilds (No PM's)
    aliases: ['cmd', 'mycmd'], // Will make "cmd" and "mycmd" be an alias of "mycommand"
    perms: [ // Will only do the command if you have the "Manage channels" AND the "Manage Nicknames" permissions
      'manageChannels',
      'manageNicknames'
    ],
    deleteAfter: false // Delete the command message after the command was done or not
  })
}

- Logging -

The selfbot comes with its own logger file, which includes a few options to log things to console. If you know what you are doing, you can add many more. It uses Chalk to change the color of the logged text, so you can change the colors if you do not like them.

Normal Logs

If you just want to log text to console, you can do:

log.log('Text you want to log', 'Logger title', 'Chalk color that you want for the logger title', timed)
/*
  Logger title is optional
  Check all chalk colors at https://www.npmjs.com/package/chalk#colors
  "timed" is either true or false. Adds a timestamp to the log. (Default is false)
*/

Warning Logs

If you want to log a warning to console, you can do:

log.warn('Something weird but non-breaking happened', 'Warning origin')
// Warning origin means the place where the warning came from (optional)

Error Logs

If you want to log errors to console, you can do:

let err = 'This is an error'
log.err(err, 'Error origin')
// Error origin means the place where the error came from (optional)

License

MIT. Copyright © 2016, 2017, 2018 TheRacingLion.