Skip to content

Bot Setup

Learn how to setup the bot.

Database Setup

If you have already Setup the Database and used it for the OLD Business Bot, jump directly to Database Migration and just after that come back here to read the rest!

The bot uses MongoDB (Free) for the Database. The main reason for this is that it's a Cloud-Based Database, so you will not have to worry about losing your data. This does mean, though, you have to secure your account details on it, and remember them!

If you have already Setup the Database, and need to get the Database Connection URL, jump to step 6

  1. You'll first need to create an account on MongoDB. It will ask you what you'll be using it for, just input whatever you'd like, as those will NOT affect your experience.
  2. You'll have to Deploy a Cloud Database. MongoDB offers a Free Cluster for the Database, select that. You can choose whatever Provider & Region you like, but our suggestion is Azure & Anywhere in the US. You can, if you'd like, also give the Cluster a custom name (optional). Then press on Create Cluster.
  3. This step is really important, even for the future. You'll be asked how you'd like to authenticate the connection to the Cluster. Make sure you choose Username and Password!. You can input any username you like (make sure to not use weird letters), and we suggest to use the auto-generated password (AND SAVE IT, YOU'LL NEED IT LATER), as it's going to be a secure password and will NOT mess up anything later. These are the credentials that you'll have to use to connect to the Cluster.
  4. Next it's going to ask you to whitelist an IP Address. For the moment (will change in next step), press the "Add My Current IP Address" button, and then "Finish and Close".
  5. On the Left Panel you'll see Security > Network Access, go on that page, and REMOVE the IP Restriction by clicking "Edit" and "ALLOW ACCESS FROM ANYWHERE" (then "Confirm").
  6. Now you need to get the Connection URL for the Cluster. Note that this will also contain the Collection Name (or Database name).
    1. Go on the "Overview" page (the Main Page), and locate the "Connect" Button. Press it, after which a popup will appear.
    2. In the popup you have to press on Drivers, and make sure under "Drivers" you choose "Node.js".
    3. Untoggle (disable, if not already disabled) the "View full code sample" switch, so you can get just the URL. You'll copy that URL and replace <password> (< and > included) with the password for the user (step 3, otherwise Security > Database Access).
    4. You'll notice an URL in this format mongodb+srv://username:<password>@cluster/?retryWrites=true&w=majority, but it's missing the Collection Name. This is REALLY important. You'll have to add the collection name BETWEEN the / and ? just like in this example: mongodb+srv://username:<password>@cluster/BusinessBot?retryWrites=true&w=majority.
    5. Save the final URL (<password> replaced and Collection Name added in the right place between "/" and "?") as you'll need it in the Config

Create the bot

Create the bot on Discord Developers Page following these steps. Note: We recommend using an ALT account for your bots.

  1. Go on the Discord Developers Page
  2. Press on New Application on the Top-Right, and give it the Name you want for your Bot.
  3. Go on your new application details and switch to the Bot page. You will first have no bot added, so just press the Add Bot button on the Top-Right.
  4. Enable all the intents under Privileged Gateway Intents (IMPORTANT)
  5. Press on Reset Token so you get the Bot's Token, which you'll need in the Config

Invite the bot to your Discord Guild (server)

  1. Go on your new application details and switch to the OAuth2 > URL Generator page (Look at the Panel on the Left).
  2. Select the bot scope and Administrator permissions.
  3. Copy the Generated URL and go on it, after which you'll be prompted to invite the bot to your guild.
  4. Re-order the roles so that the Bot role is higher than other roles (such as Customer/Member/Claim Ping/etc)

Environment Config

If you don't know how environment variables work, don't worry. You can just use the .env config file (you need to create it if it doesn't exist already, in the same folder as the business bot binary). These are the variables (content of the file):

Bash
LICENSE_KEY=YOUR_LICENSE_KEY # Your License key
BOT_TOKEN=YOUR_BOT_TOKEN # Your Discord BOT token. Make sure you have enabled all the Intents for it!
EMBED_COLOR=4287f5 # The Embed Color in HEX (removing prefix # or 0x)
DEV_MODE=false # Setting this to "true" will give you some extra logs in the terminal
SUPER_ADMINISTRATOR=YOUR_DISCORD_ID # Your Discord ID, to have Super Administrator permissions on the bot
DATABASE_URL="" # Your MongoDB connect URL (make sure this also contains the Collection name, and you've set the <password>)

Settings

The bot setup is complex, we suggest you do it in the same order as written here.

At this point, you already have the Bot running.

1. Change guild

First command you ever want to run is this. It will OVERRIDE any written configuration, and will help you configure in the new guild. This command must be written in the guild you want the bot to handle your business.

Text Only
/settings bot guild

2. Logs channel

Next thing you want is to setup the bot logs channel. This is where the bot will be logging most stuff. Pay attention to the channel permissions, because there might be sensitive info in the channel.

Text Only
/settings bot logs <channel>

3. Emojis

We all love emojis, don't we? To configure the emojis the bot will use, run this command. It will let you choose which emoji to change, and into what. The bot will first try the emoji to see if it can use it, and will tell you otherwise.

Text Only
/settings bot emoji <query> <emoji>

4. Roles

Configure the bot roles through this command. Make sure to run the command in the same guild you configured it to.

Text Only
/settings bot role <query> <role>

5. Stats

Configure the channel where the bot shows the stats through this command. Make sure to run the command in the same guild you configured it to.

Text Only
/settings stats channel <channel>

6. Claims

These are one of the most important steps in the configuration. If you do not configure these correctly, you might have issues with the claims detection and wonder why the bot is not handling the queue properly.

Running this command you will configure where the bot sends the claim ping when it detected a claim:

Text Only
/settings claims channel <channel>

Pay attention to this command, because it is REALLY important. This command configures where the bot will detect the claims and fails from the snipers. Your snipers need to send the webhooks in these channels. You can have a single channel for both events, but we recommend separate. First event is the fails, otheriwse known as missed. The second event is the claims, or success.

Text Only
/settings claims detection_channels <fails> <claims>

Next command is "Guarantee Boost" feature command. For more information about what this feature is, read here.

Text Only
/settings claims guarantee_boost <enable> <price> <limit>

Useful command for people that often have an empty queue, is this one. It lets you configure the token the snipers will claim on, when the queue is empty. Make sure the token is valid.

Text Only
/settings claims default_token <token>

7. Queue

These also are one of the most important steps in the configuration.

Configure the channel where the queue embed is sent, with informations about who is in the queue and how many claims they need, etc.

Text Only
/settings queue channel <channel>

Configure whether you want to only show the names (ex: snek) or the tag where it mentions the user (ex: @snek).

Text Only
/settings queue show-names <show>

Configure if you want the queue to rotate on each claim. So if the first person in queue gets a claim, they go to the last position.

Text Only
/settings queue rotate <rotate>

8. Bank

Configure where you want the bank leaderboard to show. It will show a list of users and their credits, sorted so the person with most credits shows on top.

Text Only
/settings bank leaderboard <channel>

9. Shop

Read further.

10. VPS List

Read further. You will need to make your VPS List, so the Bot can handle the snipers on them.

Shop settings

The business bot uses sellix for automatic payments, so you'll need an account there if you want to use the automatic payments through the bot.

Sellix integration

Requirements:

Discord Command:

Text Only
/shop config sellix <key> <return_url> <optional: merchant>

Parameters:

  • key: Your API Key

  • return_url: Where the customers are redirected after they pay the invoice, sellix limits to https websites.

  • merchant: Optional, needed if you have more than one shops on your account, the merchant name

Toggle (enable/disable) shop

If you want your customers to not be able to buy credits anymore through the sellix integration on the bot, or want to re-enable, use this command.

Text Only
/shop config toggle <value>

Price per credit

A credit means one claim. Choose the price and currency you want per credit with this command.

Text Only
/shop config price <price> <currency>

Discounts

The business bot has an integrated discount system. They are applied in the order they are positioned in the database.

The commands can be seen by typing /shop discount. The commands have a description, and the options too.

Automatic Payments

After you set up the Sellix Integration, if the shop is enabled, customers can use this command to buy credits.

Text Only
/buy <amount> <email>

VPS List

Handle Sniper VPS's.

Note: You need a user:password login to the VPS.

Show list

This will show you a list of the VPS's in a format nickname - IP, where {{nickname}} is the nickname you've given to it when you added it (read further).

Text Only
/vps list

Add VPS

Note: This is really important! You have to pay attention when doing this! First of all, you need to have completely setup the sniper on the VPS, and make sure it can run with no issues. We suggest you follow 1:1 the setup from here.

Text Only
/vps add <host> <port> <username> <password> <path_sniper_directory> <nickname>

Parameters:

  • host: The VPS Host/IP Address

  • port: The port to use when connecting to the VPS. The most common one, which might be generally used everywhere, is the port 22, for the SSH protocol, so you might need to use that one too

  • username: The Basic-Auth username to use when connecting to the VPS

  • password: The Basic-Auth password to use when connecting to the VPS

  • path_sniper_directory: This is where everyone usually gets it wrong. This is the path to where the sniper is found, it's directory, not the binary itself. So if your sniper binary is (example) at /root/isniper/sniper, then the path to the directory is /root/isniper (if you followed the setup from here then you'll see that's the path you'll need to use)

  • nickname: A cute name you want to give to the VPS, this is just so the bot gives it a name

Remove VPS

There comes a time where you need to remove the VPS from the bot's handling, this is the command you need to use.

Text Only
/vps remove <id>

The bot will give you an auto-complete reply when you want to input the ID, so just follow that to see which VPS you want removed.