Important
This bot has been archived due to the sunset of the Javacord API.
Please use the successor bot: Maxis - Built with Python and discord.py
UnknownBot is a powerful, multipurpose Discord bot built with Java that provides utility, moderation, and economy features for Discord servers. Created by UnknownPro 56, this bot is designed to enhance your Discord server experience with a comprehensive set of commands and features.
- User Information: Get detailed information about users and servers
- Direct Messaging: Send DM notifications to users
- Games: Play Rock Paper Scissors with the bot
- Custom Replies: Set up automated responses to specific messages
- Text-to-Image: Convert text into image format
- Calculator: Perform basic mathematical operations
- File Creation: Create files from text content
- Date & Time: Display current date and time
- Ping: Check bot latency
- Message Management: Clear messages, nuke channels
- User Management: Kick, ban, mute/unmute users
- Warning System: Warn users, view warnings, clear warnings
- **Comprehensive moderation tools for server administrators
- Daily Rewards: Earn coins with daily, weekly, and monthly bonuses
- Balance System: Check your balance and transfer money to other users
- Leaderboards: Global and server-specific wealth rankings
- Shop System: Buy and use items from the in-game shop
- Work & Rob: Earn money through work or by robbing other users
- Inventory Management: Track and use purchased items
- Modern Discord slash command support
- Interactive command interface
- Enhanced user experience with Discord's native command system
- Java 17 or higher
- Maven 3.6+
- MongoDB database
- Discord Bot Token (get one from Discord Developer Portal)
-
Clone the repository
git clone https://github.com/UnknownCoder56/UnknownBot-latest.git cd UnknownBot-latest -
Create a Discord Application
- Go to Discord Developer Portal
- Create a new application
- Go to "Bot" section and create a bot
- Copy the bot token for the
TOKENenvironment variable - Enable the following bot permissions:
- Administrator (recommended for full functionality)
- Or specific permissions: Send Messages, Read Message History, Use Slash Commands, Manage Messages, Ban Members, Kick Members
-
Set up environment variables
export TOKEN="your_discord_bot_token" export CONNSTR="mongodb://localhost:27017/unknownbot" # Or for MongoDB Atlas: # export CONNSTR="mongodb+srv://user:[email protected]/unknownbot"
-
Build the project
mvn clean package
-
Run the bot
java -jar target/unknownbot-1.0-jar-with-dependencies.jar
-
Build the Docker image
docker build -t unknownbot . -
Run the container
docker run -d -p 8080:8080 -p 12102:12102 \ -e TOKEN="your_discord_bot_token" \ -e CONNSTR="your_mongodb_connection_string" \ unknownbot
This project is ready for Heroku deployment with the included Procfile. Simply:
- Create a new Heroku app
- Set the environment variables
TOKENandCONNSTR - Deploy the repository
| Command | Description |
|---|---|
>hello |
Says hello to you |
>userinfo (user) |
Shows user information |
>dm (mention) "message" |
Send a DM to a user |
>rps (choice) |
Play Rock Paper Scissors (r/p/s or rock/paper/scissors) |
>setting (type) (true/false) |
Change user settings (bankdm, passive) |
>admes (query) |
Ask anything to the bot |
>tti (text) |
Convert text to image |
>reply (text),(reply) |
Set up custom replies |
>noreply (text) |
Disable custom reply |
>ping |
Display bot latency |
>dt |
Show current date and time |
>replies |
Display all custom replies |
>calc (num1),(sign),(num2) |
Perform calculations (+, -, *, /) |
>serverinfo |
Show server information |
>botinfo |
Show bot information |
>help (category) |
Display help for specific category |
>makefile (name) (content) |
Create a file from text |
| Command | Description |
|---|---|
>nuke |
Clear all messages in a channel |
>clear (amount) |
Clear specified number of messages |
>kick (mention) |
Kick a user from the server |
>ban (mention) |
Ban a user from the server |
>unban (mention) |
Unban a user |
>mute (mention) |
Mute a user (disable chat and VC) |
>unmute (mention) |
Unmute a user |
>warn (mention) "reason" |
Warn a user |
>getwarns (mention) |
Get all warnings for a user |
>nowarns (mention) |
Clear all warnings for a user |
| Command | Description |
|---|---|
>daily |
Get daily 💰 5000 coins |
>weekly |
Get weekly 💰 10000 coins |
>monthly |
Get monthly 💰 50000 coins |
>bal (mention) |
Check balance (yours or mentioned user) |
>glb |
Global leaderboard |
>lb |
Server leaderboard |
>give (amount) (mention) |
Transfer money to another user |
>work |
Work to earn money |
>rob (mention) |
Rob another user |
>shop |
View the item shop |
>buy (item) |
Buy an item from the shop |
>use (item) |
Use an item from inventory |
>inv |
View your inventory |
TOKEN: Your Discord bot tokenCONNSTR: MongoDB connection string
- Port 8080: Web interface (bot status, invite links)
- Port 12102: Additional bot services
Users can configure their experience with:
- bankdm: Receive DM notifications for balance changes
- passive: Enable passive mode (prevents being robbed/receiving transfers)
- Language: Java 17
- Build Tool: Maven
- Discord Library: Javacord 3.8.0
- Database: MongoDB
- Web Framework: Spark Java
- HTML Parser: JSoup
- JSON Processing: Gson
src/
├── main/
│ ├── java/com/uniqueapps/unknownbot/
│ │ ├── Main.java # Application entry point
│ │ ├── CommandsListener.java # Message event listener
│ │ ├── ComponentsListener.java # Component interaction listener
│ │ ├── ModalsListener.java # Modal interaction listener
│ │ ├── Helper.java # Utility functions
│ │ ├── commands/ # Command implementations
│ │ └── objects/ # Data models
│ └── resources/
│ ├── commands.json # Command definitions
│ ├── currencies.json # Currency data
│ ├── index.html # Web interface
│ └── public/ # Static web assets
# Clone the repository
git clone https://github.com/UnknownCoder56/UnknownBot-latest.git
cd UnknownBot-latest
# Build the project
mvn clean compile
# Run tests (if available)
mvn test
# Package the application
mvn package
# Run the bot
java -jar target/unknownbot-1.0-jar-with-dependencies.jar- Add command definition to
src/main/resources/commands.json - Implement the command in the appropriate command class
- Register the command in the
CommandsListener - For slash commands, add registration in
SlashCommands.java
UnknownBot includes a web interface accessible at http://localhost:8080 that provides:
- Bot status information
- Invite link generation
- Bot statistics
- Developer information
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Discord Server: Join our community
- Developer: UnknownPro 56
- Organization: Magnetars Co.
- Personal Website: UniqueApps
This project is archived and no longer under active development. Please see the successor bot Maxis for ongoing updates and improvements.
If you need help or have questions:
- Join our Discord server
- Open an issue on GitHub
- Contact the developer through the community channels
Made with ❤️ by UnknownPro 56