Configuration

From Werewolf Wiki
Jump to navigation Jump to search

This page gives information on how to configure lykos.

In order to run lykos, you will need to create a botconfig.py file. We supply a botconfig.py.example file that you should copy to your botconfig.py to get a mostly-working configuration. The bot will not start if it does not detect the botconfig.py file.

If you cannot find what you are looking for in this article, do not hesitate to come ask us for help at #lykos on freenode.

Note: You can overwrite any setting in src/settings.py by adding it to your botconfig.py file. Do not modify src/settings.py directly.

Network

HOST
Default: "chat.freenode.net"
The address of the IRC server for the bot to connect to.
PORT
Default: 6697
The port of the IRC server for the bot to connect to.
USE_SSL
Default: True
Whether to connect with SSL (secure socket layer) or not.

Credentials

NICK
Default: "mywolfbot"
The nick that your bot will use when connected to a network.
IDENT
Default: NICK
Determines the bot's ident string, if the server doesn't provide one by default.
REALNAME
Default: NICK
Determines the real name which the bot sends to the server.
USERNAME
Default: ""
Username for authentication, can be left blank if same as nickname.
PASS
Default: "my_nickserv_pass"
Determines what password will be used for authentication.
SASL_AUTHENTICATION
Default: True
Determines whether to use SASL authentication or not.
CHANNEL
Default: "##mywolfgame"
The main (game) channel you want your bot to be in.
CMD_CHAR
Default: "!"
The character to address your bot by.
SERVER_PASS
Default: "{account}:{password}"
If your server requires a connection password, or your services package expects a different format if authenticating to NickServ via the PASS command, modify this.
OWNERS
Default: ("unaffiliated/wolfbot_admin1",)
Hostmasks for the owners of the bot, wildcards (* and ?) are allowed.
Note: The comma is required at the end if there is only one owner.
OWNERS_ACCOUNTS
Default: ("1owner_acc",)
Account names for the owners of the bot.
Note: The comma is required at the end if there is only one owner.

Development

DISABLE_DEBUG_MODE_REAPER
Default: True
Disables the idle timer in debug mode.
DISABLE_DEBUG_MODE_STASIS
Default: True
Disable/ignore stasis when in debug mode.
DISABLE_DEBUG_MODE_TIMERS
Default: True
Disable day/night timeout in debug mode.
DISABLE_DEBUG_MODE_TIME_LORD
Default: False
Disables time lord in debug mode. The role will still appear but there will be no effect.
ALT_CHANNELS
Default: ""
Defines alternate channels for lykos to be in.
ALLOWED_ALT_CHANNELS_COMMANDS
Default: []
Defines commands that are allowed in alternate channels.
DEV_CHANNEL
Default: ""
Defines the developer channel.
DEV_PREFIX
Default: ""
If set, messages sent to DEV_CHANNEL are sent only to users with this prefix (requires an IRCd with STATUSMSG support).
LOG_CHANNEL
Default: ""
Define channel to log !fwarn commands, if set.
Example: <lykos> (ADD) Warning #666 to meaniehead by woffle - Terrible attitude towards other players; channel rule #1 is "Be nice to each other" | see -ops log at around time warning was issued for context (1 point, expires in 60d)
LOG_PREFIX
Default: None
If set, messages sent to LOG_CHANNEL are sent only to users with this prefix (requires an IRCd with STATUSMSG support).
IGNORE_HIDDEN_COMMANDS
Default: True
Defines whether to ignore commands sent to @#channel or +#channel or not.
ALLOW_NOTICE_COMMANDS
Default: False
Defines whether notices can be interpreted as a command or not.
ALLOW_PRIVATE_NOTICE_COMMANDS
Default: True
Defines whether private notices can be interpreted as a command or not.
CHANGING_HOST_QUIT_MESSAGE
Default: "Changing host"
Quit message when changing hostname.
USE_UTC
Default: True
If true, logs will use the UTC time; otherwise, they will use local time.
TIMESTAMP_FORMAT
Default: "[%Y-%m-%d %H:%M:%S{tzoffset}]"
Consult the Python documentation for more information on what format codes are allowable in this string. Additionally, {tzname} resolves to the timezone name (like UTC) and {tzoffset} resolves to the timezone offset (+0000).

Data Collection

TRACEBACK_VERBOSITY
Default: 2
Controls how much data is sent to the lykos developers whenever errors occur. It can be one of the following values:
  • 0: Only send basic data to assist in diagnosing the error (stack trace and error message). It may not be possible for the lykos developers to fix your error if only basic data is sent.
  • 1: Send basic data plus information about variables in the most recent frame (variable name and value). This will assist lykos developers in fixing errors, but variable values may contain personal information such as nicks and hostmasks (see USER_DATA_LEVEL below).
  • 2: Send basic data plus information about variables in all frames (variable name and value). This will assist lykos developers in fixing errors, but variable values may contain personal information such as nicks and hostmasks (see USER_DATA_LEVEL below).
USER_DATA_LEVEL
Default: 0
Controls how much data is sent to the lykos developers about players in the channel. While we aim for this to be comprehensive, it may be possible for some user data to be sent inadvertently as part of other data. If you see such an instance, let us know and we'll do our best to address it if possible.
  • 0: Fully anonymize users. Each user is assigned a random number, and only that number is sent to us. It may not be possible for the lykos developers to fix your error if you send only anonymous data.
  • 1: Send nick information only. It may not be possible for the lykos developers to fix your error if you send only nick information.
  • 2: Send full information about the user (nick, hostmask, account name, channel membership pursuant to CHANNEL_DATA_LEVEL below, channel modes).
CHANNEL_DATA_LEVEL
Default: 0
Controls how much data is sent to the lykos developers about the channels in which the bot is joined to. While we aim for this to be comprehensive, it may be possible for some channel data to be sent inadvertently as part of other data. If you see such an instance, let us know and we'll do our best to address it if possible.
  • 0: Fully anonymize channels. Each channel is assigned a random number or the labels "Main" or "Dev" if it happens to be the main channel or the dev channel according to your configuration. Only the random number or label is sent. It may not be possible for the lykos developers to fix your error if you send only anonymous data.
  • 1: Send channel name only (including hash or other prefix).
  • 2: Send full information about the channel. Currently, this operates the same as 1, as we only collect channel name right now. That may change in the future.