Identify through SASL using the convenient ib3 mixins, and
get rid of a bunch of special-case code in the process.
This helps when dealing with channels set to require identified
users, as otherwise channel joins will race NickServ's processing of
the identify message and some channels will end up not serviced by
the bot (an alternative would be to delay joining channels until the
identify success is confirmed, but the implementation for that looks
like it would be at least as complex).
Co-Authored-By: Thierry Carrez <firstname.lastname@example.org>
With this change, the channel config yaml file can now be configured to
support regular expressions.
Any value in any section may be prefixed with `^` to denote that it is
to be treated as a regular expression . Start and end ^anchors$ are
implicit (so add `.*` if needed).
For example, given the following paragraph in the channel config yaml:
...messages will be posted to #openstack-foo for events coming in from
project openstack/foo, openstack/foo-one, openstack/foo-bar, etc.; on
branches master, stable/newton, stable/ocata, or stable/pike.
Behavior is unchanged for values not prefixed with `^`.
 This paradigm cribbed from gerrit's search functionality:
Adds a new optional config parameter "force_ssl" that applies the SSL wrapper
regardless of the specified port. The previous logic only allowed for SSL
on port 6697. This change is intended to be backwards compatible with
Added *.egg ignore patterns to .gitignore