Linux
Golang 1.19+
ChatWire is currently approximately 10k lines of go code.
Launching will create a default auto-config to get you started.
Needs permissions to create files and directories in its own directory, and up one directory.
Some dirs and files that can be auto-created:
cw-local-config.json, ../cw-global-config.json
cw.lock, ../playerdb.json
../map-gen-json/, ./logs/, ../update-cache/, ../public_html/archive/
Discord token, appid, guild-id and channel-id are required, as well as Factorio username and token.
A 'base' folder the chatwire folder resides in.
~/factServers/
For ChatWire:
./cw-a/ChatWire-binary-here
Factorio:
./cw-a/factorio/
Binary:
./cw-a/factorio/bin/x64/Factorio
This is setup to have many servers running, and so some files and directories are setup to be common.
Launch params:
Usage of ChatWire: -cleanBans Clean/minimize player database, along with bans and exit. -cleanDB Clean/minimize player database and exit. -deregCommands Deregister discord commands and quit. -localTest Turn off public/auth mode for testing -noAutoLaunch Turn off auto-launch -regCommands Register discord commands
The bot needs presence intent, server members intent, message content intent Perms: view channels, manage channels, Mange roles, send messages, emebed links, attach files, mention all roles, manage messages (delete message, if register code leaked), read message history, use application commands.