A Discord bot for EVE Frontier role management with thematic messaging. Built with TypeScript and Discord.js.
- Node.js 18+
- Discord application and bot token
-
Install:
git clone https://github.com/tsal/sanshas-helper.git cd sanshas-helper npm install -
Configure:
cp local-example.env .env # Edit .env with your bot token # Optionally set DATABASE_PATH for intel features
-
Run:
npm run dev
DISCORD_TOKEN=your_bot_token
# Optional configurations
TRIBE_ROLES=Exploration,PVP,Mining # Limit available roles
RESPONSE_THEME=kuvakei # Message theme: kuvakei|triglav Bot needs Manage Roles, Send Messages, Use Slash Commands permissions. Position bot role above managed roles.
Manages EVE Frontier activity roles:
Exploration(🟣) -Industry(🟡) -Mining(🟢) -PVE(🟠) -PVP(🔴)Nerd(🔵) -Hauling(🟤) -Market(💰)
Store and manage EVE Frontier systems intelligence with a set of management commands.
- Kuvakei: Sansha's Nation consciousness remnant
- Triglav: Triglavian Collective proving trials
/eve-roles(Manage your roles for notifications and call outs)/intel(Manage intelligence reports for rift and ore sites)
Manage intelligence reports for rift and ore sites.
/intel <subcommand> [options]
-
/intel list
View current intelligence reports.
Options:timeout(integer, optional): Minutes before the report expires (1-10, default: 5)pages(integer, optional): Number of pages to display (1-10, default: 1)
-
/intel rift
Add a rift intel report.
Options:type(string, required): Rift type codesystem(string, required): System name where the rift is locatednear(string, optional): What the rift is near (e.g., P1L4)
-
/intel ore
Add an ore site intel report.
Options:oretype(string, required): Type of ore resource (e.g., carbon, metal, common)name(string, required): Name of the ore site (e.g., Carbon Debris Cluster)system(string, required): System name where the ore site is locatednear(string, optional): What the ore site is near (e.g., P1L4)
-
/intel fleet
Add a fleet intel report.
Options:tribename(string, required): Name of the tribe/fleetcomp(string, required): Fleet compositionsystem(string, required): System name where the fleet is locatednear(string, optional): What the fleet is near (e.g., P1L4)standing(string, optional): Fleet standing/attitude
-
/intel site
Add a site intel report.
Options:name(string, required): Name of the sitesystem(string, required): System name where the site is locatedtriggered(string, required): Whether the site is triggerednear(string, optional): What the site is near (e.g., P1L4)
-
/intel del
Delete an intel report.
Options:type(string, required): Intel type (rift,ore,fleet, orsite)id(string, required): Intel item ID to delete
/intel rift type:RIFT-A system:ZXY-123 near:P1L4
/intel ore oretype:carbon name:Carbon Debris Cluster system:ZXY-123 near:P1L4
/intel fleet tribename:Sansha comp:5x Frigate system:ZXY-123 near:P1L4 standing:hostile
/intel site name:Combat Site system:ZXY-123 triggered:yes near:P1L4
/intel list timeout:10 pages:2
/intel del type:fleet id:fleet-123456789
DISCORD_TOKEN: Bot token from Discord application configuration panel
TRIBE_ROLES: Comma-separated list of enabled roles (default: all roles)RESPONSE_THEME: Message theme -kuvakeiortriglav(default:kuvakei)ROLES_COMMAND_NAME: Slash command name (default:eve-roles)DATABASE_PATH: Path to database file for intel storage (default: disabled)DEFAULT_INTEL_EXPIRATION: Intel expiration time in hours (default: 24)
See local-example.env for detailed configuration examples.
Run the full test suite:
npm testAll role management, configuration parsing, and core functionality is covered by unit tests.
- Fork the repository
- Create a feature branch
- Write tests for new functionality
- Ensure all tests pass:
npm test - Submit a pull request
MIT License - see LICENSE file for details