package config // Config is the main configuration type. type Config struct { Info Info // Basic information Network map[string]*Network // List of "default" networks to choose from User map[string]*User // For now hardcoded list of users XXX fix this Database Database // Database Config } // Info is basic information. type Info struct { Port string // The port to listen via HTTP on Locked bool // Is this locked to a specific network or set of networks? IRCv3 bool // Use IRCv3 stuff? } // Network is the IRC network that should be connected to. type Network struct { Host string // IRC server name SSL bool // Connect over SSL? Port string // Port to connect to } // User is an IRC user. type User struct { AuthMethod string // How to auth the user, Atheme or Local Username string // alias to the map key name ID string // unique ID for spoofing, ident, etc Numeric int // Some number for the IP address Gecos string // "Real Name" Autojoin string // Channels to join on connect Authcookie string // Atheme authcookie to use } // Database config. type Database struct { Driver string // SQLite or Postgres? Connection string // Connection arguments needed by the database server }