Sokobot
Sokobot copied to clipboard
A Discord bot that lets you play Sokoban
Sokobot
Sokobot is a Discord bot written with JDA that lets you play Sokoban, the classic box-pushing puzzle game.
Screenshots

Features
Infinite levels
The maps in Sokobot are randomly generated, increasing in difficulty as you progress.
Varied controls
Sokobot has multiple control options to improve the player's experience, including reactions and wasd commands!
Simultaneous games
Thanks to the power of Java HashMaps™️, multiple users can use the bot at the same time without interfering with one another.
Custom prefixes New!
To prevent Sokobot from conflicting with other bots, admins can choose any single-character prefix to preface Sokobot's commands.
Commands
User
!playcan be used to start a game if you are not currently in one.!stopcan be used to stop your active game at any time.!infoprovides some useful details about the bot and rules of the game.
Admin New!
!prefix [character]can be used to change the prefix the bot responds to in the current server.
Usage
Public host New!
Sokobot is available on top.gg and can be added to your server in one click!
Self-hosting
Grab the latest .jar or build it yourself. Then, create a Discord Bot Application here and paste the bot token into token.txt. Then, ensure the two files are in the same directory and run the .jar file.
Please note, this bot differs a bit from the public bot. For example, there is no voting rewards (custom emotes are always unlocked), no leaderboard, no progress saving, etc.
Compiling
Install Java 8 JDK and Gradle.
In the root folder of the project, execute gradlew shadowJar.
The compiled .jar file will be located in build/libs.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Feel free to create a fork and use the code for any noncommercial purposes.