We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
raw logging defaults to true...necessary?
sopel [by default](https://github.com/sopel-irc/sopel/blob/master/sopel/config/core_section.py#L134) does raw logging.  
You would need to manually add log_raw = False to config file to disable it.
Just wondering if having it on by default is really that necessary?

--- 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     auth_method = ChoiceAttribute('auth_method', choices=[
67         'nickserv', 'authserv', 'Q', 'sasl', 'server'])
68     """The method to use to authenticate with the server.
69 
70     Can be ``nickserv``, ``authserv``, ``Q``, ``sasl``, or ``server``."""
71 
72     auth_password = ValidatedAttribute('auth_password')
73     """The password to use to authenticate with the server."""
74 
75     auth_target = ValidatedAttribute('auth_target')
76     """The user to use for nickserv authentication, or the SASL mechanism.
77 
78     May not apply, depending on ``auth_method``. Defaults to NickServ for
79     nickserv auth, and PLAIN for SASL auth."""
80 
81     auth_username = ValidatedAttribute('auth_username')
82     """The username/account to use to authenticate with the server.
83 
84     May not apply, depending on ``auth_method``."""
85 
86     bind_host = ValidatedAttribute('bind_host')
87     """Bind the connection to a specific IP"""
88 
89     ca_certs = FilenameAttribute('ca_certs', default=_find_certs())
90     """The path of the CA certs pem file"""
91 
92     channels = ListAttribute('channels')
93     """List of channels for the bot to join when it connects"""
94 
95     db_filename = ValidatedAttribute('db_filename')
96     """The filename for Sopel's database."""
97 
98     default_time_format = ValidatedAttribute('default_time_format',
99                                              default='%Y-%m-%d - %T%Z')
100     """The default format to use for time in messages."""
101 
102     default_timezone = ValidatedAttribute('default_timezone')
103     """The default timezone to use for time in messages."""
104 
105     enable = ListAttribute('enable')
106     """A whitelist of the only modules you want to enable."""
107 
108     exclude = ListAttribute('exclude')
109     """A list of modules which should not be loaded."""
110 
111     extra = ListAttribute('extra')
112     """A list of other directories you'd like to include modules from."""
113 
114     help_prefix = ValidatedAttribute('help_prefix', default='.')
115     """The prefix to use in help"""
116 
117     @property
118     def homedir(self):
119         """The directory in which various files are stored at runtime.
120 
121         By default, this is the same directory as the config. It can not be
122         changed at runtime.
123         """
124         return self._parent.homedir
125 
126     host = ValidatedAttribute('host', default='irc.dftba.net')
127     """The server to connect to."""
128 
129     host_blocks = ListAttribute('host_blocks')
130     """A list of hostmasks which Sopel should ignore.
131 
132     Regular expression syntax is used"""
133 
134     log_raw = ValidatedAttribute('log_raw', bool, default=True)
135     """Whether a log of raw lines as sent and received should be kept."""
136 
137     logdir = FilenameAttribute('logdir', directory=True, default='logs')
138     """Directory in which to place logs."""
139 
140     logging_channel = ValidatedAttribute('logging_channel', Identifier)
141     """The channel to send logging messages to."""
142 
143     logging_level = ChoiceAttribute('logging_level',
144                                     ['CRITICAL', 'ERROR', 'WARNING', 'INFO',
145                                      'DEBUG'],
146                                     'WARNING')
147     """The lowest severity of logs to display."""
148 
149     modes = ValidatedAttribute('modes', default='B')
150     """User modes to be set on connection."""
151 
152     name = ValidatedAttribute('name', default='Sopel: https://sopel.chat')
153     """The "real name" of your bot for WHOIS responses."""
154 
155     nick = ValidatedAttribute('nick', Identifier, default=Identifier('Sopel'))
156     """The nickname for the bot"""
157 
158     nick_blocks = ListAttribute('nick_blocks')
159     """A list of nicks which Sopel should ignore.
160 
161     Regular expression syntax is used."""
162 
163     not_configured = ValidatedAttribute('not_configured', bool, default=False)
164     """For package maintainers. Not used in normal configurations.
165 
166     This allows software packages to install a default config file, with this
167     set to true, so that the bot will not run until it has been properly
168     configured."""
169 
170     owner = ValidatedAttribute('owner', default=NO_DEFAULT)
171     """The IRC name of the owner of the bot."""
172 
173     owner_account = ValidatedAttribute('owner_account')
174     """The services account name of the owner of the bot.
175 
176     This should only be set on networks which support IRCv3 account
177     capabilities.
178     """
179 
180     pid_dir = FilenameAttribute('pid_dir', directory=True, default='.')
181     """The directory in which to put the file Sopel uses to track its process ID.
182 
183     You probably do not need to change this unless you're managing Sopel with
184     systemd or similar."""
185 
186     port = ValidatedAttribute('port', int, default=6667)
187     """The port to connect on."""
188 
189     prefix = ValidatedAttribute('prefix', default='\.')
190     """The prefix to add to the beginning of commands.
191 
192     It is a regular expression (so the default, ``\.``, means commands start
193     with a period), though using capturing groups will create problems."""
194 
195     reply_errors = ValidatedAttribute('reply_errors', bool, default=True)
196     """Whether to message the sender of a message that triggered an error with the exception."""
197 
198     throttle_join = ValidatedAttribute('throttle_join', int)
199     """Slow down the initial join of channels to prevent getting kicked.
200 
201     Sopel will only join this many channels at a time, sleeping for a second
202     between each batch. This is unnecessary on most networks."""
203 
204     timeout = ValidatedAttribute('timeout', int, default=120)
205     """The amount of time acceptable between pings before timing out."""
206 
207     use_ssl = ValidatedAttribute('use_ssl', bool, default=False)
208     """Whether to use a SSL secured connection."""
209 
210     user = ValidatedAttribute('user', default='sopel')
211     """The "user" for your bot (the part before the @ in the hostname)."""
212 
213     verify_ssl = ValidatedAttribute('verify_ssl', bool, default=True)
214     """Whether to require a trusted SSL certificate for SSL connections."""
215
```
--- 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
@@ -131,7 +131,7 @@
 
     Regular expression syntax is used"""
 
-    log_raw = ValidatedAttribute('log_raw', bool, default=True)
+    log_raw = ValidatedAttribute('log_raw', bool, default=False)
     """Whether a log of raw lines as sent and received should be kept."""
 
     logdir = FilenameAttribute('logdir', directory=True, default='logs')

{"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@@ -131,7 +131,7 @@\n \n     Regular expression syntax is used\"\"\"\n \n-    log_raw = ValidatedAttribute('log_raw', bool, default=True)\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", "issue": "raw logging defaults to true...necessary?\nsopel [by default](https://github.com/sopel-irc/sopel/blob/master/sopel/config/core_section.py#L134) does raw logging.  \r\nYou would need to manually add log_raw = False to config file to disable it.\r\nJust wondering if having it on by default is really that necessary?\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    auth_method = ChoiceAttribute('auth_method', choices=[\n        'nickserv', 'authserv', 'Q', 'sasl', 'server'])\n    \"\"\"The method to use to authenticate with the server.\n\n    Can be ``nickserv``, ``authserv``, ``Q``, ``sasl``, or ``server``.\"\"\"\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=True)\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    auth_method = ChoiceAttribute('auth_method', choices=[\n        'nickserv', 'authserv', 'Q', 'sasl', 'server'])\n    \"\"\"The method to use to authenticate with the server.\n\n    Can be ``nickserv``, ``authserv``, ``Q``, ``sasl``, or ``server``.\"\"\"\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"}]}