A reimagining of Sokobot by PolyMars, but with Slash Commands, Buttons, and rewritten in TypeScript (because I have no clue how Java works).
Sokoban is a classic puzzle game where you play as a Sokoban (😳). Your objective is to move boxes (🟫) onto destinations (❎). You can move in the 4 cardinal directions, shown as buttons (⬅️, ➡️, ⬆️, ⬇️) below the game when using the bot. The bot also has undo (↩️) and reset (🔁) functions, which are helpful if you accidentally move a box up against a wall.
- Undo and Restart current level
- Infinite levels
- Message Buttons and Slash Commands
- Level saving
- Continue your last game
- Daily Challenges
- Purchasable game themes and character icons
- Tournaments - compete for fastest times and lowest moves among other Sokobot Dos players
Step-by-step instructions:
- Install Node.JS and NPM from the Node.JS website
- Download the latest release build from the GitHub page.
- Install dependencies with
npm i --only=prod - Go to the Discord Developer Portal and create an application.
- Go to the bot tab, and click the
Add Bot Userbutton. - Click
Yes, do it! - Copy the token and save it for later.
- Create a file called
.envin the bot’s folder. - Paste this into the file:
TOKEN=XXX, whereXXXrepresents the token you copied earlier. - Set up any other config options you wish
- Start the bot with
npm start
Sokobot Dos should be running on your computer now. Keep reading for other options for running the bot, and how to use the internal webserver.
All config options go in the format of (key)=(value), with one option on each
line of the file.
TOKEN- Required Bot token.PORT- Optional Port for the internal web-server to open at (defaults to8000)NODE_ENV- Optional Environment to run the bot in (eitherproductionfor everyday use ordevelopmentfor development purposes). Also applies to NPM.
The internal web server is located at http://localhost:XXXX, where XXXX
represents either the port specified in your
config file or 8000, if not specified.
The webserver is simple, with little styling, and includes a few features, listed below:
- Manually saving databases
- Viewing log file
- Reloading a command
- Shutting down the bot
There are some additional features planned for the dashboard, but those will come at a later time.
-s/--silent- Run silently (don't emit logs to console)-v/--verbose- Run verbosely (emit more logs to console)-e/--only-error- Only emit errors log file-E/--no-emit- Don't emit log files.