Zaarrg / DropBot

Drop Bot. Automaticlly Farms every Drop available like Rust for ya and now also your Custom Channel's
396 stars 121 forks source link
bot drops miner

Bear Stone Smart Home
DropBot

Watches Drops for you!

This Project is currently not maintained and will most likely not work!


@Zaarrg/DropBot issues @Zaarrg/DropBot pull requests Zaarrg/DropBot requests
Discord Discord


DropBot

🤔 What is this Drop Bot all about?

Disclaimer - DropBot is not intended for:


Installation

Windows

  1. Download the windows executable from the build branch or release page.
  2. Move the executable to a folder.
  3. Execute the DropBot.exe. The settings and drop-session will be generated right beside the executable.

Linux

  1. Download the linux executable from the build branch or release page.

  2. Move the executable to a folder.

  3. Give the DropBot-linux-x64 file permission to execute via chmod if needed.

    chmod +x ./DropBot-linux-x64
  4. Execute the DropBot-linux-x64. The settings and drop-session will be generated right beside the executable.

    ./DropBot-linux-x64

    Ubuntu

    Using Bot with No GUI - Only Command Line

  5. Download the linux executable from the build branch or release page.

  6. Drag and Drop a settings.json and drop-session.json file right beside the executable.

  7. Make sure you have set displayless to true in your settings.json

  8. Execute the DropBot-linux-x64.

    ./DropBot-linux-x64

    ⚠️ If you want to specifiy wich games to watch use the Prioritylist setting ⚠️

⚠️ If you want to watch Custom Channels drag and drop a customchannels.json to your executable location and set ForceCustomChannel in settings.json to true ⚠️

⚠️ If you can't seem to get any progress on drops "always stuck" try loging in instead of copying drop-session.json. ⚠️

Npm

  1. Clone the Repository.

    git clone https://github.com/Zaarrg/DropBot
  2. Install NPM packages.

    cd DropBot/
    npm install
  3. Run the bot via npm scripts.

    npm run start:production
    OR
    npm run start:dev

Docker

  1. Get your auth token

    docker run --rm -it ghcr.io/zaarrg/dropbot/dropbot:latest node ./build/index.js --showtoken
  2. Login in, copy your auth token, and then exit the container with Ctrl + C

  3. Create the container

    docker run -d --name dropbot \
    -e dropbot_displayless=true \
    -e dropbot_token=TokenFromStep1 \
    -e dropbot_games="Sea_of_Thieves Rust Lost_Ark No_Man's_Sky" \
    -e dropbot_autoclaim=true \
    ghcr.io/zaarrg/dropbot/dropbot:latest

📚 How to use the Bot?

Step by Step Usage: Drops

1. Step

Select the way you want to Log in into your account.

⚠️ If you cant login directly because of CAPTCHA use the browser method. ⚠️
⚠️ Only Chromium Browsers are supported like Brave and Chrome . ⚠️

Drops

2. Step

Select Drops to watch a Campaign or Custom Channels if you want to add your own channels. Refer to Step by Step Usage: Custom Channels for those.

Drops

3. Step

Select the campaign you want to start watching. If you want to only watch certain campaign and not all refer to Settings: Priority list

Drops

4. Step

Select the Drop you want to start watching.

Drops

5. Step

🎉 Enjoy! You are successfully watching your drop.

Drops

Step by Step Usage: Custom Channels

1. Step

Select Custom Channels to start watching them.

Drops

2. Step

Fill in the needed information to add a Channel. They can always be modified in the customchannel.json

Drops

3. Step

Select the Channel you want to start. The bot will switch between the Custom Channels, if one goes offline.

Drops

4. Step

🎉 Enjoy! You are successfully watching your Custom Channel.

Drops

Step by Step Usage: Heroku

⚠️ Only Recommended for advanced users. ⚠️

1. Step

Click on the Deploy to Heroku Button at the top of the Readme

Drops

2. Step

Login if necessary, and choose any app name you want, select your region and click Deploy app
After that let Heroku go through the build process and then click on Manage App

Drops

3. Step

Go to the Resources tab and disable the web dyno and enable the worker instead

Drops

4. Step

Click on more in the top right corner and then on Run console.
Type in bash and click Run.

Drops

5. Step

Now run the command node ./build/index.js --showtoken in the Terminal.
Login Directly via command Line, until you see your auth token and copy it.

Drops

6. Step

Close the Terminal and go to Settings then Reveal Config Vars
Now type in as key dropbot_token and as value your copied token and click add
You can find more environment variables here

Drops

7. Step

🎉 Thats it Enjoy! You are successfully watching.
To check if its working click on more in the top right corner then view logs.
Give it some time to start up, and you should see the bot working.

Drops


📝 Settings

Down below you can find the settings Variables and what they do.

Chromeexe

UserDataPath

Webhook

WebHookEvents

Debug

Displayless

ForceCustomChannel

ProgressCheckInterval

RetryDelay

WaitforChannels

Prioritylist

AutoClaim

LogToFile

UseKeepAlive



✏️ Start Arguments

All available start Arguments, basically everything which is also in the settings.json file.

./DropBot.exe --help

Usage: ./DropBot or index.js --arg...

Options:
--help                              Show help. [boolean]
--version                           Show version number. [boolean]
-c, --chrome                        The path to your Chrome executable. [string]
-u, --userdata                      The path to your userdata folder location. [string]
--webhook, --wh                     The Discord Webhook URL. [string]
--webhookevents                     Set what events should be send via webhook. [array]
-i, --interval                      The progress interval in ms. [number]
--retryinterval, --retry            The retry interval in ms. [number]
-g, --games                         The Games the bot should watch. [array]
--token                             Your auth_token. [string]
-d, --debug                         Enable Debug logging. [boolean]
--displayless, --dl                 Enable Displayless mode. [boolean]
--forcecustomchannel                Force Custom Channels. Only useful for
                                    display-less mode. [boolean]
--waitforchannels, --waitonline     Disable waitforchannels, forcing the bot to not wait 
                                    for other channels with drops instead switch the game. [boolean]
--autoclaim                         Enable autoclaim. [boolean]
--log                               Enable logging to file. [boolean]
--usekeepalive                      Enable Express KeepAlive. [boolean]
--tray                              Start app in the tray. [boolean]

Examples:
--chrome C:path:to:chrome.exe             Sets your chrome path.
--userdata C:path:to:userdata-folder      Sets your userdata path.
--webhook https:discord.com:api:webh....  Sets your webhook url.
--webhookevents requestretry claim        Defaults to the events in this
newdrop offline newgame get getresult     example provided.
progress start error warn info
--interval 30000                          Sets the progress interval to 30s.
--retryinterval 30000                     Sets the retry interval to 30s.
--games Rust Krunker 'Elite: Dangerous'   Sets the Prioritylist to Rust,
Krunker and Elite: Dangerous.
--token yourkindalongtoken                Sets the your current  auth
                                          token, overwriting any in
                                          drop-session.json.

✏️ Environment variables

All these Start Arguments also work as environment variable:

dropbot_chrome = YourPath
dropbot_userdata = YourPath
dropbot_webhook = DiscordWebhookURL
dropbot_interval = 60000
dropbot_games = Game1 Game2 Game3... ⚠️ Black Desert -> Black_Desert ⚠️
dropbot_debug = true || false
dropbot_displayless = true || false
dropbot_forcecustomchannel = true || false
dropbot_waitforchannels = true || false
dropbot_autoclaim = true || false
dropbot_log = true || false
dropbot_usekeepalive = true || false
dropbot_retryinterval = 60000
dropbot_webhookevents = Event1 Event2 Event3...
dropbot_showtoken = true || false  Usefull for System were you cant access your drop-session.json
dropbot_token = YourToken

📘 Adding Custom Channels


Drops

Name

Url

How the Channel should be Watched

Watch until the time runs out:

Watch indefinitely:

Farm Points

Editing already Added Channel's


📄 Json Files Examples

Example Settings.json

{
   "Chromeexe": "",
   "UserDataPath": "",
   "WebHookURL": "",
   "WebHookEvents": [],
   "debug": false,
   "displayless": false,
   "ProgressCheckInterval": 60000,
   "RetryDelay": 60000,
   "WaitforChannels": true,
   "Prioritylist": [],
   "AutoClaim": true,
   "LogToFile": true,
   "ForceCustomChannel": false,
   "UseKeepAlive": false
}

Example CustomChannels.json

[
  {
    "Name": "tarik",
    "Link": "https://www..tv/tarik",
    "WatchType": "Watch until time runs out",
    "Time": "50",
    "Points": true
  }
]

Example Session

[
  {
    "name": "auth-token",
    "value": "yourtoken"
  }
]

⚠️ Never share your Token with anyone, because it gives full access to your account ⚠️


🎉 Enjoy the bot and hopefully its helpful!

GitHub's followers GitHub stars GitHub watchers GitHub forks

If you like my work feel free to buy me a coffee. ☕

"Buy Me A Coffee"

Have fun and Enjoy! 😃


🍰 Contact

Quickest Response:
Discord Server: https://discord.gg/rV26FZ2upF

Slow Response:
Discord: - Zarg#8467

Distributed under the MIT License. See LICENSE for more information.⚠️

Made with a lot of ❤️❤️ by @Zarg