Constructor taking an args string array.
No-param constructor used in unit tests.
Initialises all plugins' resource files.
Initialises all plugins, calling any module-level .initialise functions.
Reloads all plugins by calling any module-level reload functions.
Sets up all plugins, calling any module-level setup functions. This happens after connection has been established.
Returns a const slice of the command-line arguments passed to the program.
Propagates updated bots, clients, servers and/or settings, to this, parser, and to all plugins.
Numeric ID of the current connection, to disambiguate between multiple connections in one program run. Accessor.
Generates a new connection ID.
Instantiates and *minimally* initialises all plugins.
Issues a call to all plugins, where such a call is one of "initialise", "setup", "start", "initResources" or "reload". This invokes their module-level functions of the same name, where available.
Teardown plugins and connection.
Tears down all plugins, deinitialising them and having them save their settings for a clean shutdown. Calls module-level teardown functions.
Takes one or more lines from the passed buffer and sends them to the server.
A record of a successful connection.
Transient state bool flags, aggregated in a struct.
Aggregate of values and state needed to rate-limit outgoing messages.
Command-line arguments passed to the program.
Numeric ID of the current connection, to disambiguate between multiple connections in one program run. Private value.
When this is set by signal handlers, the program should exit. Other parts of the program will be monitoring it.
Buffer of outgoing background message strings.
IRC bot values and state.
Flag to keep record of whether or not the program is run under the Callgrind profiler.
The Connection that houses and wraps the socket we use to connect to, write to and read from the server.
Settings relating to the connection between the bot and the IRC server.
History records of established connections this execution run.
Custom settings specified at the command line with the --set parameter.
Buffer of outgoing fast message strings, used on Twitch servers.
Transient state flags of this Kameloso instance.
Buffer of outgoing message strings to be sent immediately.
Associative array of string arrays of unexpected configuration entries that did not belong.
Associative array of string arrays of expected configuration entries that were missing.
Buffer of outgoing message strings.
A runtime array of all plugins. We iterate these when we have finished parsing an IRCEvent, and call the relevant event handlers of each.
An associative array o fwhen a nickname was last issued a WHOIS query for, UNIX timestamps by nickname key, for hysteresis and rate-limiting.
Buffer of outgoing priority message strings.
Pointer to the program-wide settings global.
Values and state needed to throttle sending messages.