How deliasama/starbot works
StarBot is a Discord bot with a guild-based virtual economy and town game. The main user workflow is a slash-command interaction routed through command dispatch to a feature command, which reads or updates a member’s profile, items, daily rewards, or buildings and replies in Discord. Separate branches cover trading and stock history, birthday announcements, guild configuration, and interactive town menus. Paths and connections for unsampled features are limited to what the file tree and sampled code support; no README was provided.
Main entry points: Table.java Feature tables · DailyCommand.java Daily rewards · StarProfileManager.java Star profiles · BirthdayManager.java Birthday scheduler
Components 21
Bot runtime
- Application startup
src/main/java/de/delia/starBot/main/Main.java - Bot setup
src/main/java/de/delia/starBot/main/Bot.java - Slash interaction listener
src/main/java/de/delia/starBot/listeners/SlashCommandInteractionListener.java - Command dispatch
src/main/java/de/delia/starBot/commands/CommandManager.java - Interactive menus
src/main/java/de/delia/starBot/menus/EmbedMenu.java - Guild ready
src/main/java/de/delia/starBot/listeners/GuildReadyListener.java
Stars economy
- Daily rewards
src/main/java/de/delia/starBot/features/stars/commands/DailyCommand.java - Star profiles
src/main/java/de/delia/starBot/features/stars/StarProfileManager.java - Member items
src/main/java/de/delia/starBot/features/items/Item.java - Trading and stock
src/main/java/de/delia/starBot/features/stars/TradeManager.java
Town game
- Town interface
src/main/java/de/delia/starBot/features/stars/town/menus/TownMenu.java - Town buildings
src/main/java/de/delia/starBot/features/stars/town/Building.java - Mining gameplay
src/main/java/de/delia/starBot/features/stars/town/Mine.java - Inventory command
src/main/java/de/delia/starBot/features/items/commands/InventoryCommand.java
Guild features
- Birthday management
src/main/java/de/delia/starBot/features/birthday/BirthdayCommand.java - Birthday scheduler
src/main/java/de/delia/starBot/features/birthday/BirthdayManager.java - Guild settings
src/main/java/de/delia/starBot/guildConfig/ConfigCommand.java
Persistence
- Entity manager
src/main/java/de/delia/starBot/database/CustomEntityManager.java - Feature tables
src/main/java/de/delia/starBot/database/Table.java
Other components
- Discord member
- Discord API
Connections 28
- Discord member → Discord API: issues commands
- Discord API → Slash interaction listener: delivers interaction
- Slash interaction listener → Command dispatch: dispatches command
- Command dispatch → Daily rewards: invokes command
- Daily rewards → Star profiles: loads and updates
- Daily rewards → Member items: updates pickaxe
- Daily rewards → Town buildings: loads town hall
- Daily rewards → Discord API: replies with reward
- Application startup → Bot setup: creates bot
- Application startup → Bot setup: initializes tables
- Guild ready → Command dispatch: upserts commands
- Guild ready → Trading and stock: creates manager
- Star profiles → Feature tables: loads and updates
- Star profiles → Member items: loads member items
- Member items → Feature tables: reads and writes
- Trading and stock → Feature tables: reads and updates
- Trading and stock → Discord API: sends trade results
- Town interface → Town buildings: loads buildings
- Town interface → Discord API: renders menu
- Mining gameplay → Star profiles: loads profile
- Mining gameplay → Discord API: updates mine view
- Inventory command → Discord API: shows inventory
- Birthday scheduler → Feature tables: finds birthdays
- Birthday scheduler → Guild settings: reads channel setting
- Birthday scheduler → Discord API: announces birthday
- Birthday management → Feature tables: manages birthdays
- Guild settings → Feature tables: stores settings
- Entity manager → Feature tables: provides entity access