Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

Sopel

I'm a Python IRC bot, designed to be easy to set up and customize.
Collective - Host: opensource - https://opencollective.com/sopel - Website: https://sopel.chat/ - Code: https://github.com/sopel-irc/sopel

irc: AbstractBot.make_identifier uses ISUPPORT's CHANTYPES parameter

Co-authored-by: dgw <[email protected]>

github.com/sopel-irc/sopel - eae9528ada86fb3f52212e5b43f7ced357522801 authored almost 3 years ago by Florian Strzelecki <[email protected]>
Merge pull request #2239 from sopel-irc/docs-sqlalchemy-intersphinx

db, docs: update intersphinx & fix some references

github.com/sopel-irc/sopel - 58af2f62dcb6a3fd9c439ee18cbf86b279c28cc5 authored almost 3 years ago by dgw <[email protected]>
tools.identifiers: Identifier accepts a chantypes parameter

Co-authored-by: dgw <[email protected]>

github.com/sopel-irc/sopel - 92ac22505e5a1d797e8f9bda2947ac33ae87772d authored almost 3 years ago by Florian Strzelecki <[email protected]>
translate: update langcode() helper to support Chinese

This is a semi-temporary fix for #2241. It's still not perfect (still
allows using unsupported o...

github.com/sopel-irc/sopel - 037bb32d617be71daa2d8828fcf7901de56a9165 authored almost 3 years ago by dgw <[email protected]>
Merge pull request #2238 from Exirel/rules-fix-docs-mypy-warnings

rules: fix sphinx auto-doc warning and mypy error

github.com/sopel-irc/sopel - d066191c565cbd4184dde76b7707610cfd5265e8 authored almost 3 years ago by dgw <[email protected]>
coretasks: additional handling of forced nick-change

It's a good idea to make sure the bot always knows its current nick,
even if that value doesn't ...

github.com/sopel-irc/sopel - 679fa8315988b4ce5c05e3fbdbb4d6ab7ea7e5ba authored almost 3 years ago by dgw <[email protected]>
adminchannel: check kicks against bot's *current* nick

I traced use of the equivalent to `bot.config.core.nick` all the way
back to the 3.x (Phenny) da...

github.com/sopel-irc/sopel - b814561621af466f0febbc26f827bb41e5b8212f authored almost 3 years ago by dgw <[email protected]>
Merge pull request #2231 from Exirel/identifier-casemapping

irc: implement CASEMAPPING parameter for ISUPPORT

github.com/sopel-irc/sopel - aecc6dbbf029572de512fcf2bacabfd6bae23f72 authored almost 3 years ago by dgw <[email protected]>
test: improve get_nick_id tests

github.com/sopel-irc/sopel - 5f605eae6f144bdd6d8124faeaadca06b0b68a6d authored almost 3 years ago by Florian Strzelecki <[email protected]>
tools.target: rename nick_id to identifier to avoid confusion

github.com/sopel-irc/sopel - 4f478d2e29121cc5a63c5b14da2efc19f76d7b84 authored almost 3 years ago by Florian Strzelecki <[email protected]>
tools.identifiers: tweak docstrings

Co-authored-by: dgw <[email protected]>

github.com/sopel-irc/sopel - 02ab849d730d1c9504bc134f4ef96c4440dc4805 authored almost 3 years ago by Florian Strzelecki <[email protected]>
tools: update SopelIdentifierMemory docstring with the factory

github.com/sopel-irc/sopel - 4385ad845fab04fca2f7919e5f2c1f05ea99daf1 authored almost 3 years ago by Florian Strzelecki <[email protected]>
tools.identifiers: documentation of casemapping

github.com/sopel-irc/sopel - 966a9ab6aafadd0be532897d13e0aa8b268a6fa6 authored almost 3 years ago by Florian Strzelecki <[email protected]>
irc, coretasks: use "CASEMAPPING" parameter

ISUPPORT provide a "CASEMAPPING" parameter, that can tell which
casemapping function to use:

* ...

github.com/sopel-irc/sopel - c8e7d7d87e94700fdff87447202c08d54adec613 authored almost 3 years ago by Florian Strzelecki <[email protected]>
irc: code simplification for CASEMAPPING

github.com/sopel-irc/sopel - 15954a8f5bbc6b475bd598a5195d598bdcae17ac authored almost 3 years ago by Florian Strzelecki <[email protected]>
db: proper type hint and always accept str

For type hint, I followed the same type hint provided by SQLAlchemy for
connection and session (...

github.com/sopel-irc/sopel - 1b49f3e8abaf275333aa50f93757f0f2cf8feea0 authored almost 3 years ago by Florian Strzelecki <[email protected]>
db: SopelDB uses an Identifier factory

And Sopel provides its `make_identifier` method as a factory.

github.com/sopel-irc/sopel - 01009bbe6815b3eb21f5d029ea2c9854e3bdf0fa authored almost 3 years ago by Florian Strzelecki <[email protected]>
config: core.nick is now a str, not Identifier

The core configuration "nick" option was an Identifier: it was
convenient to always have an Iden...

github.com/sopel-irc/sopel - 0e5f99f66667805b93c1462e0ca475e4d4eae184 authored almost 3 years ago by Florian Strzelecki <[email protected]>
identifiers: provide a casemapping function

github.com/sopel-irc/sopel - 686f6b2241bcc8c74579c623558832845a842117 authored almost 3 years ago by Florian Strzelecki <[email protected]>
trigger: PreTrigger uses an Identifier factory

Instead of using `tools.Identifier(nick)`, the PreTrigger class now uses
a factory to instantiat...

github.com/sopel-irc/sopel - 1bf465be8f8bf00b2b506970c1d39dca24b67558 authored almost 3 years ago by Florian Strzelecki <[email protected]>
bot, modules, tools: SopelIdentifierMemory uses an Identifier factory

As per PreTrigger and Channel, SopelIdentifierMemory also uses an
identifier factory.

Sopel and...

github.com/sopel-irc/sopel - af1cd9271a24a4aa1059a5e2cb8aed3e6aac3217 authored almost 3 years ago by Florian Strzelecki <[email protected]>
target: Channel uses an Identifier factory

As per PreTrigger, Channel no longuer instantiate Identifier itself: it
relies on an Identifier ...

github.com/sopel-irc/sopel - 04d20a2df3450d61c90bd2b02e615055e5357778 authored almost 3 years ago by Florian Strzelecki <[email protected]>
bot, modules: use bot.make_identifier

Instead of instantiating `tools.Identifier` directly, built-in plugins
are now using `bot.make_i...

github.com/sopel-irc/sopel - d9c6527022ad8de438997ce452b7e4eff686e731 authored almost 3 years ago by Florian Strzelecki <[email protected]>
docs: update docstrings for tools.identifiers

github.com/sopel-irc/sopel - 8adb64f709676561de01fc3e8954a7a6427cf207 authored almost 3 years ago by Florian Strzelecki <[email protected]>
tools: move Identifier to `tools.identifiers`

And fix the default casemapping to follow the RFC it is supposed to
implement (RFC 1459): only A...

github.com/sopel-irc/sopel - b6d25c5a009907d256bff6a03fdc99edb7aae8dd authored almost 3 years ago by Florian Strzelecki <[email protected]>
Merge pull request #2227 from Exirel/remove-python36

sopel: drop support for Python 3.6 and require 3.7+

github.com/sopel-irc/sopel - b9b827a1c8c6060ad0bb424cc3cd0c194c6a4ea9 authored almost 3 years ago by dgw <[email protected]>
handlers: fix a type error from mypy

github.com/sopel-irc/sopel - 9144a0b6e5fa5c838db67cecf67f0170c9f91e58 authored almost 3 years ago by Florian Strzelecki <[email protected]>
docs: fix TypeVar autodoc warning

It appears that Sphinx's autodoc plugin doesn't understand TypeVar
properly: it doesn't generate...

github.com/sopel-irc/sopel - f779bd1e2da33c8cea8f7f3fc8c09227749856e2 authored almost 3 years ago by Florian Strzelecki <[email protected]>
db, docs: update intersphinx & fix some references

We've updated to SQLAlchemy 1.4.x on the development branch, and we
should use the correct inter...

github.com/sopel-irc/sopel - 2f9542e002a2ce932d6794d98fc0bd7bcea6ac4d authored almost 3 years ago by dgw <[email protected]>
Merge pull request #2234 from sopel-irc/no-get_nick_id-create

db, test: do not create nick ID by default

github.com/sopel-irc/sopel - c37f62b494407cfd2d28e7e938bd072e51e4da03 authored almost 3 years ago by dgw <[email protected]>
flake8: update from __future__ import to Python 3.7

github.com/sopel-irc/sopel - 9631e88bb59301fc892c94c645ca3e302d63bae6 authored about 3 years ago by Florian Strzelecki <[email protected]>
Merge pull request #2233 from sopel-irc/target-slots

tools.target: use slots for Channel and User types

github.com/sopel-irc/sopel - 1195e789364ad67f659fabc866c1e63b9ead06ed authored about 3 years ago by dgw <[email protected]>
fixup db: revert unintentional behavior changes

github.com/sopel-irc/sopel - 7d0c5a9f1a10c44fa39c15b80f25703d157bb2ef authored about 3 years ago by dgw <[email protected]>
sopel: drop support for Python 3.6 and requires 3.7+

github.com/sopel-irc/sopel - bb73a55620bf1679792bc8c8f50e2c7e14bddea4 authored about 3 years ago by Florian Strzelecki <[email protected]>
Merge pull request #2235 from Exirel/isup-reply-error-message-value-error

isup: catch up errors from get site and from requests differently

github.com/sopel-irc/sopel - 787baa6e39f9dad57d94600c92e10761c41b21ef authored about 3 years ago by dgw <[email protected]>
requirements: narrow requests to >=2.24

Sopel's other dependencies require requests>=24 at minimum, so there is
no sense in requiring on...

github.com/sopel-irc/sopel - 96d37e5c4ffddaa1329c704d70a4892cb942a61d authored about 3 years ago by Florian Strzelecki <[email protected]>
isup: catch up errors from get site and from requests differently

github.com/sopel-irc/sopel - d25ec2025b66b097d55ea1c7e23cf6ed4945258e authored about 3 years ago by Florian Strzelecki <[email protected]>
db, test: do not create nick ID by default

Having `get_nick_id()` default to `create=True` may cause unexpected
behavior if invalid nicknam...

github.com/sopel-irc/sopel - 4251cc82eb4c1a42bd0ab66569ad752628349983 authored about 3 years ago by dgw <[email protected]>
tools.target: use slots for Channel and User types

This can save some significant memory when Sopel is in many and/or large
channels. For example, ...

github.com/sopel-irc/sopel - 3ca95e5411be24eb4057fd9b2e6906e48b608d5e authored about 3 years ago by dgw <[email protected]>
Merge pull request #2228 from sopel-irc/tools-deprecations

tools: deprecate more Python 2-like shims

github.com/sopel-irc/sopel - d36a19dad548068e34357d63761258cdd5e5efc0 authored about 3 years ago by dgw <[email protected]>
Merge pull request #2220 from Exirel/plugins-rules-lgtm-conflicts

plugins.rules: fix conflicting attributes in base classes

github.com/sopel-irc/sopel - 6305e40972cdda65c244d8779dfcdc303eb9884e authored about 3 years ago by dgw <[email protected]>
plugins.rules: fix conflicting attributes in base classes

github.com/sopel-irc/sopel - 77ff78a064a459d66913484e05783ad8830c45f6 authored about 3 years ago by Florian Strzelecki <[email protected]>
Merge pull request #2225 from sopel-irc/wikipedia-ignore-hatnotes

wikipedia: refine no-consume logic for section hatnotes

github.com/sopel-irc/sopel - c1f32aa801a6dfc570e64e24d5ab118f92f28eb3 authored about 3 years ago by dgw <[email protected]>
docs: exclude deprecated `tools` members from docs

Sphinx will include the `iter*` members in output because they are just
aliases to built-in func...

github.com/sopel-irc/sopel - c0ec264a1cb107147e050d7bf8bbf483ef28f57f authored about 3 years ago by dgw <[email protected]>
tools: deprecate more Python 2-like shims

These four functions were for backward compatibility, as they all stand
in for features removed ...

github.com/sopel-irc/sopel - bfbdbabb9d75f5b0dfa7e348c6a91632485925c6 authored about 3 years ago by dgw <[email protected]>
Merge pull request #2224 from sopel-irc/db-delete-channels-and-plugins

db: add `forget_channel()` and `forget_plugin()` methods

github.com/sopel-irc/sopel - 5ef04713a29ac1bb039a70f78c149b854453ee5a authored about 3 years ago by dgw <[email protected]>
Merge pull request #2185 from Exirel/type-hint

sopel: type hint and basic setup

github.com/sopel-irc/sopel - 36751c13bd0dad8a6e160545d9d0a58599b22525 authored about 3 years ago by dgw <[email protected]>
Merge pull request #2169 from Exirel/docs-plugin-about-time

docs: about time for plugins

github.com/sopel-irc/sopel - eed66d07c79a22113c07f6e745f47fc1e4468443 authored about 3 years ago by dgw <[email protected]>
docs: about time for plugins

As per usual, with dgw's edits.

Co-authored-by: dgw <[email protected]>

github.com/sopel-irc/sopel - 28080ac822138851e36200b884a287bd05f8b116 authored about 3 years ago by Florian Strzelecki <[email protected]>
plugin: add type-hint to decorators' arguments

github.com/sopel-irc/sopel - bef11be8096be3c1d2303a2c48930883c459429e authored about 3 years ago by Florian Strzelecki <[email protected]>
meta: pin versions for dev requirements

github.com/sopel-irc/sopel - 118f5b055d679bb3bafddedfc068414bd24b801a authored about 3 years ago by Florian Strzelecki <[email protected]>
bot: refactor if/else with return block

github.com/sopel-irc/sopel - d363a2b4297a4e949e9d0029824aae82853a3bdf authored about 3 years ago by Florian Strzelecki <[email protected]>
mypy: specify [import] when ignoring import

github.com/sopel-irc/sopel - c895367d54964665e12471c4cfaf826ba9123abd authored about 3 years ago by Florian Strzelecki <[email protected]>
bugzilla, reddit, search, url: add type: ignore

github.com/sopel-irc/sopel - 53f4113a5e28693753aa09c38d5abb0cd1daa731 authored about 3 years ago by Florian Strzelecki <[email protected]>
meetbot: type meeting dict

github.com/sopel-irc/sopel - 0b010ac73d8750700711a729f508236bec420771 authored about 3 years ago by Florian Strzelecki <[email protected]>
currency: type rates dict

github.com/sopel-irc/sopel - 4eb7f88357e98c05a48fa2953d33201a7f2e54f2 authored about 3 years ago by Florian Strzelecki <[email protected]>
remind: remove __hash__ = None

Python will implicitely define this method as None:

A class that overrides __eq__() and does n...

github.com/sopel-irc/sopel - 54f195038b8781c3fd154b0267e1a21d420c846d authored about 3 years ago by Florian Strzelecki <[email protected]>
plugin: basic type hint

github.com/sopel-irc/sopel - a59188e976ca6eb3150e737c6eda4d22b65c3fa6 authored about 3 years ago by Florian Strzelecki <[email protected]>
bot: basic type hint

github.com/sopel-irc/sopel - 0a667117573bf42a0007557688ddeb2098dfbb88 authored about 3 years ago by Florian Strzelecki <[email protected]>
meta: add mypy and upgrade (dev) requirements

In order to use mypy, we need:

* to install mypy (dev)
* to install type stubs (dev)
* to upgra...

github.com/sopel-irc/sopel - b789e0445009dffcb846d6fceb030d406810cef1 authored about 3 years ago by Florian Strzelecki <[email protected]>
Merge pull request #2179 from Exirel/plugin-prevent-circular-imports

sopel: reduce and reorganize imports for critical modules

github.com/sopel-irc/sopel - bdcf9b3733c9d1a67c72d550e3779b0f6902c11b authored about 3 years ago by dgw <[email protected]>
wikipedia: refine no-consume logic for section hatnotes

Sometimes note templates include inline style tags. Since their contents
appear just like any ot...

github.com/sopel-irc/sopel - e1e79e5e67ecc2831808d0e4a4ddaeca7241eec6 authored about 3 years ago by dgw <[email protected]>
db: rename `delete_nick_group()` -> `forget_nick_group()`

Old name marked as deprecated, to stick around until 9.0.

github.com/sopel-irc/sopel - d1fa1c91c2b6b6932ded41bc57fad8a61963896a authored about 3 years ago by dgw <[email protected]>
db: add `forget_channel()` and `forget_plugin()` methods

Mostly envisioned as "pre-uninstall" utilities for plugins to offer, but
could theoretically bec...

github.com/sopel-irc/sopel - b2766b7e89ef47a9979a7796125ad87e8afbd2a7 authored about 3 years ago by dgw <[email protected]>
Merge pull request #2133 from half-duplex/plugin-version

Expose plugin versions, enable retrieval with `.version`

github.com/sopel-irc/sopel - e4b80beaf2d385e134af16b7f20c9133426e7e53 authored about 3 years ago by dgw <[email protected]>
version: allow retrieving plugin versions

github.com/sopel-irc/sopel - e4a6df094ab3d5250edf1b7fe98191c0524a124d authored about 3 years ago by mal <[email protected]>
plugins: expose version string in meta

github.com/sopel-irc/sopel - 456040eba0d535deb0094b5a03943a657ff8d44e authored about 3 years ago by mal <[email protected]>
Merge pull request #2118 from Exirel/cli-legacy-argument

cli: remove legacy mode for run script

github.com/sopel-irc/sopel - f6147399436284dd4e28598fffa0f7263061071a authored about 3 years ago by dgw <[email protected]>
Merge pull request #2205 from sopel-irc/web.decode-cleanup

tools, tools.web: rework `web.decode()` to use modern stdlib

github.com/sopel-irc/sopel - 0078d5cfe20e0a9ed5d764fe42318500ee684c00 authored about 3 years ago by dgw <[email protected]>
bot: rename plugin/handler to plugin_handler

github.com/sopel-irc/sopel - 912f6167b603f87146871ff2523b9982a2bd998b authored about 3 years ago by Florian Strzelecki <[email protected]>
bot: reduce imports

github.com/sopel-irc/sopel - 1fd7f802368ef5314c146606593920612d6714e3 authored about 3 years ago by Florian Strzelecki <[email protected]>
coretasks: reduce imports

github.com/sopel-irc/sopel - ba011189ca5218279b2198e9fa1bee17745eb182 authored about 3 years ago by Florian Strzelecki <[email protected]>
coretasks: replace import of loader by using tools.jobs

github.com/sopel-irc/sopel - f7d4d29331a40ef56b12162ecbeed955ec834939 authored about 3 years ago by Florian Strzelecki <[email protected]>
tools: remove imports of plugin from tools.target

github.com/sopel-irc/sopel - 4ae46883570493b4fc45d386ffa282e0a26f87df authored about 3 years ago by Florian Strzelecki <[email protected]>
plugin: move privileges to sopel.privileges plus documentation

Co-authored-by: dgw <[email protected]>

github.com/sopel-irc/sopel - 248d905f3b9103ffd111a776c14b47f76104d8a5 authored about 3 years ago by Florian Strzelecki <[email protected]>
irc: remove imports of loader and plugin from irc.backends

github.com/sopel-irc/sopel - 37465d980bc1eb37db36df3b297fb64f33e257d2 authored about 3 years ago by Florian Strzelecki <[email protected]>
Merge pull request #2199 from half-duplex/bot-plugin-proxy

bot: add plugins property

github.com/sopel-irc/sopel - 4f5be5af2bd092ef768cf48bf8da8133bc9356c1 authored about 3 years ago by dgw <[email protected]>
NEWS: Add changelog from 7.1.7 release [skip ci]

github.com/sopel-irc/sopel - d2faa43a847fe70e84accdd4571ffb970ab52c3b authored about 3 years ago by dgw <[email protected]>
Merge pull request #2214 from sopel-irc/wiktionary-multiline-etymology

wiktionary: allow for multi-line etymologies

github.com/sopel-irc/sopel - c19ce6230594e6f6720e9e1448e17db201579de2 authored about 3 years ago by dgw <[email protected]>
Merge pull request #2222 from sopel-irc/adminchannel-hostmask-fix

adminchannel: fix, simplify, and comment hostmask utility function

github.com/sopel-irc/sopel - 8beb56a46061b69008fd922275865368e996d2fc authored about 3 years ago by dgw <[email protected]>
adminchannel, test: further tweaks/fixes to hostmask validation

Created test suite and caught (then fixed) some edge cases.

github.com/sopel-irc/sopel - 95dfb22a4bd06dd18bf2de19d29086b97f93f04d authored about 3 years ago by dgw <[email protected]>
adminchannel: use exception instead of sentinel value

If it had been something sensible like `None` I might have let it go,
but using the empty string...

github.com/sopel-irc/sopel - 3f3ec3c05edab000ce268f269b06bd67c3863abe authored about 3 years ago by dgw <[email protected]>
adminchannel: fix, simplify, and comment hostmask utility function

I came for the LGTM alert about an unmatchable caret, and stayed for the
completely undocumented...

github.com/sopel-irc/sopel - f9498490084401db621d0046a716f451b4293160 authored about 3 years ago by dgw <[email protected]>
cli: flatten check root exception handling

github.com/sopel-irc/sopel - de879ddf35834b5159221b797b1315274bf4b196 authored about 3 years ago by Florian Strzelecki <[email protected]>
cli: set start as the default sub-command

github.com/sopel-irc/sopel - 9d85e4c4093e4764097289619b876bc688a08fb6 authored about 3 years ago by Florian Strzelecki <[email protected]>
cli: remove legacy mode for run script

github.com/sopel-irc/sopel - 39811b726369f80e9a9cb38484e830780a56f5a5 authored about 3 years ago by Florian Strzelecki <[email protected]>
Merge pull request #2209 from sopel-irc/reddit-flair

reddit: add flair text to link/submission output

github.com/sopel-irc/sopel - 377cbd6dd8630e99a7cb00b5e74b4ef9f4c59602 authored about 3 years ago by dgw <[email protected]>
Merge pull request #2216 from sopel-irc/reddit-bare-comments

reddit, test: even more of the comments link format is optional

github.com/sopel-irc/sopel - 831f797d327c1f6c134b17888876cc1d660b766b authored about 3 years ago by dgw <[email protected]>
test: improve `reddit` suite to check which handler matched

github.com/sopel-irc/sopel - 7aeed0c5c2e12410bda89d54f99ae783b540316e authored about 3 years ago by dgw <[email protected]>
Merge pull request #2213 from sopel-irc/plugins-py2-TODO

plugins: execute TODO that was waiting for end of py2 support

github.com/sopel-irc/sopel - 8f84de7a1725a48ccb492463a98212ab0d564524 authored about 3 years ago by dgw <[email protected]>
Merge pull request #2215 from sopel-irc/welcome-nick

coretasks: alert owner if nick in `RPL_WELCOME` does not match config

github.com/sopel-irc/sopel - fbe6ad44f806660fc40f5f5d4f3f11b300d504d1 authored about 3 years ago by dgw <[email protected]>
Merge pull request #2200 from half-duplex/isupport-prefix-order

isupport: maintain PREFIX ordering

github.com/sopel-irc/sopel - 03b5cae3e0eae5af09454a39640427526a267e0c authored about 3 years ago by dgw <[email protected]>
Fix line endings in reddit plugin test suite

github.com/sopel-irc/sopel - 7af388922b628dcd378f4a2ea44248a5a9c78616 authored about 3 years ago by dgw <[email protected]>
reddit, test: even more of the comments link format is optional

Reddit will accept /r/subreddit/comments/id, /comments/id, or even just
/id... The variations ne...

github.com/sopel-irc/sopel - 2bad1e1bcb53f6b060a1d2daacb191706304617b authored about 3 years ago by dgw <[email protected]>
Merge pull request #2208 from sopel-irc/reddit-shortlink-overlap

reddit: fix matching twice for reddit.com without www.

github.com/sopel-irc/sopel - b1fed8837726cecf2cc150abfed4e32b56bdad45 authored about 3 years ago by dgw <[email protected]>
coretasks: alert owner if nick in RPL_WELCOME does not match config

Inspired by a recent PR to the "horse docs" site, which adds a paragraph
about this.

github.com/sopel-irc/sopel - 8252e1f8630e6ee8abdd1cbdc32a053e9cf1f855 authored about 3 years ago by dgw <[email protected]>
wiktionary: allow for multi-line etymologies

Technically "multi-paragraph", but that's clunky to say.

If the concatenated etymology is too l...

github.com/sopel-irc/sopel - 7ba79000aaa9f24fa064424ad3e2fe9cb80f6155 authored about 3 years ago by dgw <[email protected]>
plugins: execute TODO that was waiting for end of py2 support

github.com/sopel-irc/sopel - 9af117a27c1ce1676b61b3cad9ba899e8ee554bc authored about 3 years ago by dgw <[email protected]>
Merge pull request #2131 from Exirel/irc-modes-rework

irc: rework parsing of modestrings

github.com/sopel-irc/sopel - a8dcb769d2cf00dc20b36313e2c924fc5e013c0e authored about 3 years ago by dgw <[email protected]>
test: add tests for reddit plugin URL matching

github.com/sopel-irc/sopel - e876a48ab552186090b278ec151ca0dcf02773ec authored about 3 years ago by dgw <[email protected]>