A Steam chat bot, built for Dota 2, made for everyone!
Current version: 4.0.0
Maintained by @twisterghost
- Introduction
- Installation
- Running Jankbot
- Adding Modules
- Administrating Your Jankbot
- FAQ
- For Developers
- Module API
Jankbot is an open source Steam bot designed to help organize player communities.
The system was devleoped with scale in mind so that any size group can make use of it. Jankbot was originally designed to support Dota 2 communities, but build so that anyone can make use of it.
Jankbot is natively able to run on Windows, Linux and OSX.
For a point by point walkthrough of the installation process, see the in-depth installation instructions
Please be sure you understand what you're doing if you use this summary!
- Install NodeJS 8 LTS
- Make a steam account with at least one purchase on it
- Download Jankbot's latest release
- Unzip it to a folder
- Open that folder in a terminal
- Run
npm install --production
- Run
npm run config
and follow the prompt
Once you have installed and configured Jankbot with a valid Steam account, you can run Jankbot with the command:
npm start
Jankbot should attempt to log in, and once connected, will begin accepting friend requests. Add him as you would another user and he will add you back.
Jankbot is designed to use custom modules to extend his abilities.
Jankbot modules can be installed via npm
, the node package manager.
npm
is installed along with node
.
Published Jankbot modules should use the naming scheme jankbot-MODULENAME
, so you can
search npm's registry for Jankbot modules to install.
We have a collection of modules you can add immediately at the Jankbot Modules Repository on GitHub.
See Administrating Your Jankbot in the Jankbot Wiki.
I'm getting errors when Jankbot attempts to log in, why?
Be sure you have disabled Steam Guard on the account you want to use Jankbot with. Steam Guard is the two-factor authentication system that helps to prevent unauthorized logins, but Jankbot is not able to handle this, because it requires you to enter a code sent to your email address.
Why won't Jankbot accept friend requests?
You need to be sure that the account Jankbot is using has full permissions. You must make at least 1 transaction on the account to make use of friends lists.
How do I add Jankbot modules?
Starting with Jankbot v2.1.0, you can add modules to Jankbot using npm
. NPM
is a database of Node.js packages. Included among them are Jankbot modules.
Jankbot modules are prefixed with jankbot-
, so you can search npm for
Jankbot modules and run npm install jankbot-some-module
to install the module.
For older versions of Jankbot, simply download the module and place the folder
inside of Jankbot's bot_modules/
directory. Jankbot will auto-discover
modules on startup.
How do I keep Jankbot running after I close the terminal?
You may want to look into pm2. It is a handy program manager that will keep it running in the background.
How do I update Jankbot?
Updating Jankbot is as simple as replacing the files. Just make sure you don't
delete or overwrite any module data files like friendslist
. Soon enough a
patch system will be put in place and Jankbot will be able to update himself.
Remember that you will need to restart Jankbot after updating.
I'm still having trouble. How can I get help?
Tons of ways! You can tweet/DM @twisterghost, send a reddit message to /u/twisterghost, or if you think it is a problem with the code, open an issue right here on GitHub.
I think I found a bug, or, I have a feature request!
You can open an issue in this repository. Please note that not every feature request can be acted upon, but requests are welcome.
Jankbot is an open source project and is open to pull requests. If you are a developer and wish to contribute, code review, fix a bug or whatever, please join in!
See The Module API on the Jankbot Wiki for documentation on creating your own custom modules.
If you would like to contribute to the Jankbot project on
GitHub, fork this repo and send pull requests to the master
branch.
You may also feel free to add yourself to the contributors
file.