We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
config: default_timezone has no default
I need to check for side-effects, but there shouldn't be any reason that `core.default_timezone` can't default to `'UTC'`. It currently defaults to `None`, which caused errors when I was testing #1162 just now.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `sopel/config/core_section.py`
Content:
```
1 # coding=utf-8
2 
3 from __future__ import unicode_literals, absolute_import, print_function, division
4 
5 import os.path
6 
7 from sopel.config.types import (
8     StaticSection, ValidatedAttribute, ListAttribute, ChoiceAttribute,
9     FilenameAttribute, NO_DEFAULT
10 )
11 from sopel.tools import Identifier
12 
13 
14 def _find_certs():
15     """
16     Find the TLS root CA store.
17 
18     :returns: str (path to file)
19     """
20     # check if the root CA store is at a known location
21     locations = [
22         '/etc/pki/tls/cert.pem',  # best first guess
23         '/etc/ssl/certs/ca-certificates.crt',  # Debian
24         '/etc/ssl/cert.pem',  # FreeBSD base OpenSSL
25         '/usr/local/openssl/cert.pem',  # FreeBSD userland OpenSSL
26         '/etc/pki/tls/certs/ca-bundle.crt',  # RHEL 6 / Fedora
27         '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem',  # RHEL 7 / CentOS
28         '/etc/pki/tls/cacert.pem',  # OpenELEC
29         '/etc/ssl/ca-bundle.pem',  # OpenSUSE
30     ]
31     for certs in locations:
32         if os.path.isfile(certs):
33             return certs
34     return None
35 
36 
37 def configure(config):
38     config.core.configure_setting('nick', 'Enter the nickname for your bot.')
39     config.core.configure_setting('host', 'Enter the server to connect to.')
40     config.core.configure_setting('use_ssl', 'Should the bot connect with SSL?')
41     if config.core.use_ssl:
42         default_port = 6697
43     else:
44         default_port = 6667
45     config.core.configure_setting('port', 'Enter the port to connect on.',
46                                   default=default_port)
47     config.core.configure_setting(
48         'owner', "Enter your own IRC name (or that of the bot's owner)")
49     config.core.configure_setting(
50         'channels',
51         'Enter the channels to connect to at startup, separated by commas.'
52     )
53 
54 
55 class CoreSection(StaticSection):
56     """The config section used for configuring the bot itself."""
57     admins = ListAttribute('admins')
58     """The list of people (other than the owner) who can administer the bot"""
59 
60     admin_accounts = ListAttribute('admin_accounts')
61     """The list of accounts (other than the owner's) who can administer the bot.
62 
63     This should not be set for networks that do not support IRCv3 account
64     capabilities."""
65 
66     alias_nicks = ListAttribute('alias_nicks')
67     """List of alternate names recognized as the bot's nick for $nick and
68     $nickname regex substitutions"""
69 
70     auth_method = ChoiceAttribute('auth_method', choices=[
71         'nickserv', 'authserv', 'Q', 'sasl', 'server', 'userserv'])
72     """The method to use to authenticate with the server.
73 
74     Can be ``nickserv``, ``authserv``, ``Q``, ``sasl``, or ``server`` or ``userserv``."""
75 
76     auth_password = ValidatedAttribute('auth_password')
77     """The password to use to authenticate with the server."""
78 
79     auth_target = ValidatedAttribute('auth_target')
80     """The user to use for nickserv authentication, or the SASL mechanism.
81 
82     May not apply, depending on ``auth_method``. Defaults to NickServ for
83     nickserv auth, and PLAIN for SASL auth."""
84 
85     auth_username = ValidatedAttribute('auth_username')
86     """The username/account to use to authenticate with the server.
87 
88     May not apply, depending on ``auth_method``."""
89 
90     bind_host = ValidatedAttribute('bind_host')
91     """Bind the connection to a specific IP"""
92 
93     ca_certs = FilenameAttribute('ca_certs', default=_find_certs())
94     """The path of the CA certs pem file"""
95 
96     channels = ListAttribute('channels')
97     """List of channels for the bot to join when it connects"""
98 
99     db_filename = ValidatedAttribute('db_filename')
100     """The filename for Sopel's database."""
101 
102     default_time_format = ValidatedAttribute('default_time_format',
103                                              default='%Y-%m-%d - %T%Z')
104     """The default format to use for time in messages."""
105 
106     default_timezone = ValidatedAttribute('default_timezone')
107     """The default timezone to use for time in messages."""
108 
109     enable = ListAttribute('enable')
110     """A whitelist of the only modules you want to enable."""
111 
112     exclude = ListAttribute('exclude')
113     """A list of modules which should not be loaded."""
114 
115     extra = ListAttribute('extra')
116     """A list of other directories you'd like to include modules from."""
117 
118     help_prefix = ValidatedAttribute('help_prefix', default='.')
119     """The prefix to use in help"""
120 
121     @property
122     def homedir(self):
123         """The directory in which various files are stored at runtime.
124 
125         By default, this is the same directory as the config. It can not be
126         changed at runtime.
127         """
128         return self._parent.homedir
129 
130     host = ValidatedAttribute('host', default='irc.dftba.net')
131     """The server to connect to."""
132 
133     host_blocks = ListAttribute('host_blocks')
134     """A list of hostmasks which Sopel should ignore.
135 
136     Regular expression syntax is used"""
137 
138     log_raw = ValidatedAttribute('log_raw', bool, default=False)
139     """Whether a log of raw lines as sent and received should be kept."""
140 
141     logdir = FilenameAttribute('logdir', directory=True, default='logs')
142     """Directory in which to place logs."""
143 
144     logging_channel = ValidatedAttribute('logging_channel', Identifier)
145     """The channel to send logging messages to."""
146 
147     logging_level = ChoiceAttribute('logging_level',
148                                     ['CRITICAL', 'ERROR', 'WARNING', 'INFO',
149                                      'DEBUG'],
150                                     'WARNING')
151     """The lowest severity of logs to display."""
152 
153     modes = ValidatedAttribute('modes', default='B')
154     """User modes to be set on connection."""
155 
156     name = ValidatedAttribute('name', default='Sopel: https://sopel.chat')
157     """The "real name" of your bot for WHOIS responses."""
158 
159     nick = ValidatedAttribute('nick', Identifier, default=Identifier('Sopel'))
160     """The nickname for the bot"""
161 
162     nick_blocks = ListAttribute('nick_blocks')
163     """A list of nicks which Sopel should ignore.
164 
165     Regular expression syntax is used."""
166 
167     not_configured = ValidatedAttribute('not_configured', bool, default=False)
168     """For package maintainers. Not used in normal configurations.
169 
170     This allows software packages to install a default config file, with this
171     set to true, so that the bot will not run until it has been properly
172     configured."""
173 
174     owner = ValidatedAttribute('owner', default=NO_DEFAULT)
175     """The IRC name of the owner of the bot."""
176 
177     owner_account = ValidatedAttribute('owner_account')
178     """The services account name of the owner of the bot.
179 
180     This should only be set on networks which support IRCv3 account
181     capabilities.
182     """
183 
184     pid_dir = FilenameAttribute('pid_dir', directory=True, default='.')
185     """The directory in which to put the file Sopel uses to track its process ID.
186 
187     You probably do not need to change this unless you're managing Sopel with
188     systemd or similar."""
189 
190     port = ValidatedAttribute('port', int, default=6667)
191     """The port to connect on."""
192 
193     prefix = ValidatedAttribute('prefix', default='\\.')
194     """The prefix to add to the beginning of commands.
195 
196     It is a regular expression (so the default, ``\\.``, means commands start
197     with a period), though using capturing groups will create problems."""
198 
199     reply_errors = ValidatedAttribute('reply_errors', bool, default=True)
200     """Whether to message the sender of a message that triggered an error with the exception."""
201 
202     throttle_join = ValidatedAttribute('throttle_join', int)
203     """Slow down the initial join of channels to prevent getting kicked.
204 
205     Sopel will only join this many channels at a time, sleeping for a second
206     between each batch. This is unnecessary on most networks."""
207 
208     timeout = ValidatedAttribute('timeout', int, default=120)
209     """The amount of time acceptable between pings before timing out."""
210 
211     use_ssl = ValidatedAttribute('use_ssl', bool, default=False)
212     """Whether to use a SSL secured connection."""
213 
214     user = ValidatedAttribute('user', default='sopel')
215     """The "user" for your bot (the part before the @ in the hostname)."""
216 
217     verify_ssl = ValidatedAttribute('verify_ssl', bool, default=True)
218     """Whether to require a trusted SSL certificate for SSL connections."""
219
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/sopel/config/core_section.py b/sopel/config/core_section.py
--- a/sopel/config/core_section.py
+++ b/sopel/config/core_section.py
@@ -103,7 +103,7 @@
                                              default='%Y-%m-%d - %T%Z')
     """The default format to use for time in messages."""
 
-    default_timezone = ValidatedAttribute('default_timezone')
+    default_timezone = ValidatedAttribute('default_timezone', default='UTC')
     """The default timezone to use for time in messages."""
 
     enable = ListAttribute('enable')

{"golden_diff": "diff --git a/sopel/config/core_section.py b/sopel/config/core_section.py\n--- a/sopel/config/core_section.py\n+++ b/sopel/config/core_section.py\n@@ -103,7 +103,7 @@\n                                              default='%Y-%m-%d - %T%Z')\n     \"\"\"The default format to use for time in messages.\"\"\"\n \n-    default_timezone = ValidatedAttribute('default_timezone')\n+    default_timezone = ValidatedAttribute('default_timezone', default='UTC')\n     \"\"\"The default timezone to use for time in messages.\"\"\"\n \n     enable = ListAttribute('enable')\n", "issue": "config: default_timezone has no default\nI need to check for side-effects, but there shouldn't be any reason that `core.default_timezone` can't default to `'UTC'`. It currently defaults to `None`, which caused errors when I was testing #1162 just now.\n", "before_files": [{"content": "# coding=utf-8\n\nfrom __future__ import unicode_literals, absolute_import, print_function, division\n\nimport os.path\n\nfrom sopel.config.types import (\n    StaticSection, ValidatedAttribute, ListAttribute, ChoiceAttribute,\n    FilenameAttribute, NO_DEFAULT\n)\nfrom sopel.tools import Identifier\n\n\ndef _find_certs():\n    \"\"\"\n    Find the TLS root CA store.\n\n    :returns: str (path to file)\n    \"\"\"\n    # check if the root CA store is at a known location\n    locations = [\n        '/etc/pki/tls/cert.pem',  # best first guess\n        '/etc/ssl/certs/ca-certificates.crt',  # Debian\n        '/etc/ssl/cert.pem',  # FreeBSD base OpenSSL\n        '/usr/local/openssl/cert.pem',  # FreeBSD userland OpenSSL\n        '/etc/pki/tls/certs/ca-bundle.crt',  # RHEL 6 / Fedora\n        '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem',  # RHEL 7 / CentOS\n        '/etc/pki/tls/cacert.pem',  # OpenELEC\n        '/etc/ssl/ca-bundle.pem',  # OpenSUSE\n    ]\n    for certs in locations:\n        if os.path.isfile(certs):\n            return certs\n    return None\n\n\ndef configure(config):\n    config.core.configure_setting('nick', 'Enter the nickname for your bot.')\n    config.core.configure_setting('host', 'Enter the server to connect to.')\n    config.core.configure_setting('use_ssl', 'Should the bot connect with SSL?')\n    if config.core.use_ssl:\n        default_port = 6697\n    else:\n        default_port = 6667\n    config.core.configure_setting('port', 'Enter the port to connect on.',\n                                  default=default_port)\n    config.core.configure_setting(\n        'owner', \"Enter your own IRC name (or that of the bot's owner)\")\n    config.core.configure_setting(\n        'channels',\n        'Enter the channels to connect to at startup, separated by commas.'\n    )\n\n\nclass CoreSection(StaticSection):\n    \"\"\"The config section used for configuring the bot itself.\"\"\"\n    admins = ListAttribute('admins')\n    \"\"\"The list of people (other than the owner) who can administer the bot\"\"\"\n\n    admin_accounts = ListAttribute('admin_accounts')\n    \"\"\"The list of accounts (other than the owner's) who can administer the bot.\n\n    This should not be set for networks that do not support IRCv3 account\n    capabilities.\"\"\"\n\n    alias_nicks = ListAttribute('alias_nicks')\n    \"\"\"List of alternate names recognized as the bot's nick for $nick and\n    $nickname regex substitutions\"\"\"\n\n    auth_method = ChoiceAttribute('auth_method', choices=[\n        'nickserv', 'authserv', 'Q', 'sasl', 'server', 'userserv'])\n    \"\"\"The method to use to authenticate with the server.\n\n    Can be ``nickserv``, ``authserv``, ``Q``, ``sasl``, or ``server`` or ``userserv``.\"\"\"\n\n    auth_password = ValidatedAttribute('auth_password')\n    \"\"\"The password to use to authenticate with the server.\"\"\"\n\n    auth_target = ValidatedAttribute('auth_target')\n    \"\"\"The user to use for nickserv authentication, or the SASL mechanism.\n\n    May not apply, depending on ``auth_method``. Defaults to NickServ for\n    nickserv auth, and PLAIN for SASL auth.\"\"\"\n\n    auth_username = ValidatedAttribute('auth_username')\n    \"\"\"The username/account to use to authenticate with the server.\n\n    May not apply, depending on ``auth_method``.\"\"\"\n\n    bind_host = ValidatedAttribute('bind_host')\n    \"\"\"Bind the connection to a specific IP\"\"\"\n\n    ca_certs = FilenameAttribute('ca_certs', default=_find_certs())\n    \"\"\"The path of the CA certs pem file\"\"\"\n\n    channels = ListAttribute('channels')\n    \"\"\"List of channels for the bot to join when it connects\"\"\"\n\n    db_filename = ValidatedAttribute('db_filename')\n    \"\"\"The filename for Sopel's database.\"\"\"\n\n    default_time_format = ValidatedAttribute('default_time_format',\n                                             default='%Y-%m-%d - %T%Z')\n    \"\"\"The default format to use for time in messages.\"\"\"\n\n    default_timezone = ValidatedAttribute('default_timezone')\n    \"\"\"The default timezone to use for time in messages.\"\"\"\n\n    enable = ListAttribute('enable')\n    \"\"\"A whitelist of the only modules you want to enable.\"\"\"\n\n    exclude = ListAttribute('exclude')\n    \"\"\"A list of modules which should not be loaded.\"\"\"\n\n    extra = ListAttribute('extra')\n    \"\"\"A list of other directories you'd like to include modules from.\"\"\"\n\n    help_prefix = ValidatedAttribute('help_prefix', default='.')\n    \"\"\"The prefix to use in help\"\"\"\n\n    @property\n    def homedir(self):\n        \"\"\"The directory in which various files are stored at runtime.\n\n        By default, this is the same directory as the config. It can not be\n        changed at runtime.\n        \"\"\"\n        return self._parent.homedir\n\n    host = ValidatedAttribute('host', default='irc.dftba.net')\n    \"\"\"The server to connect to.\"\"\"\n\n    host_blocks = ListAttribute('host_blocks')\n    \"\"\"A list of hostmasks which Sopel should ignore.\n\n    Regular expression syntax is used\"\"\"\n\n    log_raw = ValidatedAttribute('log_raw', bool, default=False)\n    \"\"\"Whether a log of raw lines as sent and received should be kept.\"\"\"\n\n    logdir = FilenameAttribute('logdir', directory=True, default='logs')\n    \"\"\"Directory in which to place logs.\"\"\"\n\n    logging_channel = ValidatedAttribute('logging_channel', Identifier)\n    \"\"\"The channel to send logging messages to.\"\"\"\n\n    logging_level = ChoiceAttribute('logging_level',\n                                    ['CRITICAL', 'ERROR', 'WARNING', 'INFO',\n                                     'DEBUG'],\n                                    'WARNING')\n    \"\"\"The lowest severity of logs to display.\"\"\"\n\n    modes = ValidatedAttribute('modes', default='B')\n    \"\"\"User modes to be set on connection.\"\"\"\n\n    name = ValidatedAttribute('name', default='Sopel: https://sopel.chat')\n    \"\"\"The \"real name\" of your bot for WHOIS responses.\"\"\"\n\n    nick = ValidatedAttribute('nick', Identifier, default=Identifier('Sopel'))\n    \"\"\"The nickname for the bot\"\"\"\n\n    nick_blocks = ListAttribute('nick_blocks')\n    \"\"\"A list of nicks which Sopel should ignore.\n\n    Regular expression syntax is used.\"\"\"\n\n    not_configured = ValidatedAttribute('not_configured', bool, default=False)\n    \"\"\"For package maintainers. Not used in normal configurations.\n\n    This allows software packages to install a default config file, with this\n    set to true, so that the bot will not run until it has been properly\n    configured.\"\"\"\n\n    owner = ValidatedAttribute('owner', default=NO_DEFAULT)\n    \"\"\"The IRC name of the owner of the bot.\"\"\"\n\n    owner_account = ValidatedAttribute('owner_account')\n    \"\"\"The services account name of the owner of the bot.\n\n    This should only be set on networks which support IRCv3 account\n    capabilities.\n    \"\"\"\n\n    pid_dir = FilenameAttribute('pid_dir', directory=True, default='.')\n    \"\"\"The directory in which to put the file Sopel uses to track its process ID.\n\n    You probably do not need to change this unless you're managing Sopel with\n    systemd or similar.\"\"\"\n\n    port = ValidatedAttribute('port', int, default=6667)\n    \"\"\"The port to connect on.\"\"\"\n\n    prefix = ValidatedAttribute('prefix', default='\\\\.')\n    \"\"\"The prefix to add to the beginning of commands.\n\n    It is a regular expression (so the default, ``\\\\.``, means commands start\n    with a period), though using capturing groups will create problems.\"\"\"\n\n    reply_errors = ValidatedAttribute('reply_errors', bool, default=True)\n    \"\"\"Whether to message the sender of a message that triggered an error with the exception.\"\"\"\n\n    throttle_join = ValidatedAttribute('throttle_join', int)\n    \"\"\"Slow down the initial join of channels to prevent getting kicked.\n\n    Sopel will only join this many channels at a time, sleeping for a second\n    between each batch. This is unnecessary on most networks.\"\"\"\n\n    timeout = ValidatedAttribute('timeout', int, default=120)\n    \"\"\"The amount of time acceptable between pings before timing out.\"\"\"\n\n    use_ssl = ValidatedAttribute('use_ssl', bool, default=False)\n    \"\"\"Whether to use a SSL secured connection.\"\"\"\n\n    user = ValidatedAttribute('user', default='sopel')\n    \"\"\"The \"user\" for your bot (the part before the @ in the hostname).\"\"\"\n\n    verify_ssl = ValidatedAttribute('verify_ssl', bool, default=True)\n    \"\"\"Whether to require a trusted SSL certificate for SSL connections.\"\"\"\n", "path": "sopel/config/core_section.py"}], "after_files": [{"content": "# coding=utf-8\n\nfrom __future__ import unicode_literals, absolute_import, print_function, division\n\nimport os.path\n\nfrom sopel.config.types import (\n    StaticSection, ValidatedAttribute, ListAttribute, ChoiceAttribute,\n    FilenameAttribute, NO_DEFAULT\n)\nfrom sopel.tools import Identifier\n\n\ndef _find_certs():\n    \"\"\"\n    Find the TLS root CA store.\n\n    :returns: str (path to file)\n    \"\"\"\n    # check if the root CA store is at a known location\n    locations = [\n        '/etc/pki/tls/cert.pem',  # best first guess\n        '/etc/ssl/certs/ca-certificates.crt',  # Debian\n        '/etc/ssl/cert.pem',  # FreeBSD base OpenSSL\n        '/usr/local/openssl/cert.pem',  # FreeBSD userland OpenSSL\n        '/etc/pki/tls/certs/ca-bundle.crt',  # RHEL 6 / Fedora\n        '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem',  # RHEL 7 / CentOS\n        '/etc/pki/tls/cacert.pem',  # OpenELEC\n        '/etc/ssl/ca-bundle.pem',  # OpenSUSE\n    ]\n    for certs in locations:\n        if os.path.isfile(certs):\n            return certs\n    return None\n\n\ndef configure(config):\n    config.core.configure_setting('nick', 'Enter the nickname for your bot.')\n    config.core.configure_setting('host', 'Enter the server to connect to.')\n    config.core.configure_setting('use_ssl', 'Should the bot connect with SSL?')\n    if config.core.use_ssl:\n        default_port = 6697\n    else:\n        default_port = 6667\n    config.core.configure_setting('port', 'Enter the port to connect on.',\n                                  default=default_port)\n    config.core.configure_setting(\n        'owner', \"Enter your own IRC name (or that of the bot's owner)\")\n    config.core.configure_setting(\n        'channels',\n        'Enter the channels to connect to at startup, separated by commas.'\n    )\n\n\nclass CoreSection(StaticSection):\n    \"\"\"The config section used for configuring the bot itself.\"\"\"\n    admins = ListAttribute('admins')\n    \"\"\"The list of people (other than the owner) who can administer the bot\"\"\"\n\n    admin_accounts = ListAttribute('admin_accounts')\n    \"\"\"The list of accounts (other than the owner's) who can administer the bot.\n\n    This should not be set for networks that do not support IRCv3 account\n    capabilities.\"\"\"\n\n    alias_nicks = ListAttribute('alias_nicks')\n    \"\"\"List of alternate names recognized as the bot's nick for $nick and\n    $nickname regex substitutions\"\"\"\n\n    auth_method = ChoiceAttribute('auth_method', choices=[\n        'nickserv', 'authserv', 'Q', 'sasl', 'server', 'userserv'])\n    \"\"\"The method to use to authenticate with the server.\n\n    Can be ``nickserv``, ``authserv``, ``Q``, ``sasl``, or ``server`` or ``userserv``.\"\"\"\n\n    auth_password = ValidatedAttribute('auth_password')\n    \"\"\"The password to use to authenticate with the server.\"\"\"\n\n    auth_target = ValidatedAttribute('auth_target')\n    \"\"\"The user to use for nickserv authentication, or the SASL mechanism.\n\n    May not apply, depending on ``auth_method``. Defaults to NickServ for\n    nickserv auth, and PLAIN for SASL auth.\"\"\"\n\n    auth_username = ValidatedAttribute('auth_username')\n    \"\"\"The username/account to use to authenticate with the server.\n\n    May not apply, depending on ``auth_method``.\"\"\"\n\n    bind_host = ValidatedAttribute('bind_host')\n    \"\"\"Bind the connection to a specific IP\"\"\"\n\n    ca_certs = FilenameAttribute('ca_certs', default=_find_certs())\n    \"\"\"The path of the CA certs pem file\"\"\"\n\n    channels = ListAttribute('channels')\n    \"\"\"List of channels for the bot to join when it connects\"\"\"\n\n    db_filename = ValidatedAttribute('db_filename')\n    \"\"\"The filename for Sopel's database.\"\"\"\n\n    default_time_format = ValidatedAttribute('default_time_format',\n                                             default='%Y-%m-%d - %T%Z')\n    \"\"\"The default format to use for time in messages.\"\"\"\n\n    default_timezone = ValidatedAttribute('default_timezone', default='UTC')\n    \"\"\"The default timezone to use for time in messages.\"\"\"\n\n    enable = ListAttribute('enable')\n    \"\"\"A whitelist of the only modules you want to enable.\"\"\"\n\n    exclude = ListAttribute('exclude')\n    \"\"\"A list of modules which should not be loaded.\"\"\"\n\n    extra = ListAttribute('extra')\n    \"\"\"A list of other directories you'd like to include modules from.\"\"\"\n\n    help_prefix = ValidatedAttribute('help_prefix', default='.')\n    \"\"\"The prefix to use in help\"\"\"\n\n    @property\n    def homedir(self):\n        \"\"\"The directory in which various files are stored at runtime.\n\n        By default, this is the same directory as the config. It can not be\n        changed at runtime.\n        \"\"\"\n        return self._parent.homedir\n\n    host = ValidatedAttribute('host', default='irc.dftba.net')\n    \"\"\"The server to connect to.\"\"\"\n\n    host_blocks = ListAttribute('host_blocks')\n    \"\"\"A list of hostmasks which Sopel should ignore.\n\n    Regular expression syntax is used\"\"\"\n\n    log_raw = ValidatedAttribute('log_raw', bool, default=False)\n    \"\"\"Whether a log of raw lines as sent and received should be kept.\"\"\"\n\n    logdir = FilenameAttribute('logdir', directory=True, default='logs')\n    \"\"\"Directory in which to place logs.\"\"\"\n\n    logging_channel = ValidatedAttribute('logging_channel', Identifier)\n    \"\"\"The channel to send logging messages to.\"\"\"\n\n    logging_level = ChoiceAttribute('logging_level',\n                                    ['CRITICAL', 'ERROR', 'WARNING', 'INFO',\n                                     'DEBUG'],\n                                    'WARNING')\n    \"\"\"The lowest severity of logs to display.\"\"\"\n\n    modes = ValidatedAttribute('modes', default='B')\n    \"\"\"User modes to be set on connection.\"\"\"\n\n    name = ValidatedAttribute('name', default='Sopel: https://sopel.chat')\n    \"\"\"The \"real name\" of your bot for WHOIS responses.\"\"\"\n\n    nick = ValidatedAttribute('nick', Identifier, default=Identifier('Sopel'))\n    \"\"\"The nickname for the bot\"\"\"\n\n    nick_blocks = ListAttribute('nick_blocks')\n    \"\"\"A list of nicks which Sopel should ignore.\n\n    Regular expression syntax is used.\"\"\"\n\n    not_configured = ValidatedAttribute('not_configured', bool, default=False)\n    \"\"\"For package maintainers. Not used in normal configurations.\n\n    This allows software packages to install a default config file, with this\n    set to true, so that the bot will not run until it has been properly\n    configured.\"\"\"\n\n    owner = ValidatedAttribute('owner', default=NO_DEFAULT)\n    \"\"\"The IRC name of the owner of the bot.\"\"\"\n\n    owner_account = ValidatedAttribute('owner_account')\n    \"\"\"The services account name of the owner of the bot.\n\n    This should only be set on networks which support IRCv3 account\n    capabilities.\n    \"\"\"\n\n    pid_dir = FilenameAttribute('pid_dir', directory=True, default='.')\n    \"\"\"The directory in which to put the file Sopel uses to track its process ID.\n\n    You probably do not need to change this unless you're managing Sopel with\n    systemd or similar.\"\"\"\n\n    port = ValidatedAttribute('port', int, default=6667)\n    \"\"\"The port to connect on.\"\"\"\n\n    prefix = ValidatedAttribute('prefix', default='\\\\.')\n    \"\"\"The prefix to add to the beginning of commands.\n\n    It is a regular expression (so the default, ``\\\\.``, means commands start\n    with a period), though using capturing groups will create problems.\"\"\"\n\n    reply_errors = ValidatedAttribute('reply_errors', bool, default=True)\n    \"\"\"Whether to message the sender of a message that triggered an error with the exception.\"\"\"\n\n    throttle_join = ValidatedAttribute('throttle_join', int)\n    \"\"\"Slow down the initial join of channels to prevent getting kicked.\n\n    Sopel will only join this many channels at a time, sleeping for a second\n    between each batch. This is unnecessary on most networks.\"\"\"\n\n    timeout = ValidatedAttribute('timeout', int, default=120)\n    \"\"\"The amount of time acceptable between pings before timing out.\"\"\"\n\n    use_ssl = ValidatedAttribute('use_ssl', bool, default=False)\n    \"\"\"Whether to use a SSL secured connection.\"\"\"\n\n    user = ValidatedAttribute('user', default='sopel')\n    \"\"\"The \"user\" for your bot (the part before the @ in the hostname).\"\"\"\n\n    verify_ssl = ValidatedAttribute('verify_ssl', bool, default=True)\n    \"\"\"Whether to require a trusted SSL certificate for SSL connections.\"\"\"\n", "path": "sopel/config/core_section.py"}]}