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
tell: avoid errors produced by empty tellee
github.com/sopel-irc/sopel - 973a489355540d68b95db01a49e983ac7a740bcc authored about 1 year ago by dgw <[email protected]>Co-authored-by: Florian Strzelecki <[email protected]>
github.com/sopel-irc/sopel - 4edc3529b62898284814fbffd761ebd9a298c7cb authored about 1 year ago by James Gerity <[email protected]>bot: properly deprecate `search_url_callbacks()` method
github.com/sopel-irc/sopel - 6fc9eee6585082f8794d91dabde2d8ffb1e1d447 authored about 1 year ago by dgw <[email protected]>plugin: add capability.__str__ for better logs
github.com/sopel-irc/sopel - f3c88e62ddfc55456995cbacf49f8e328f1f68e2 authored about 1 year ago by dgw <[email protected]>github.com/sopel-irc/sopel - 972b94e3271be2a43ec6726f6ed69b50f9416817 authored about 1 year ago by dgw <[email protected]>
Co-authored-by: bronzeguy <[email protected]>
Co-authored-by: dgw <dg...
plugin: `require_bot_privilege()` implies `require_chanmsg()`
github.com/sopel-irc/sopel - 6a25d173444ea50025c4e7cae98f727d49c00b4e authored about 1 year ago by dgw <[email protected]>
If the bot needs a channel privilege for a given callable, it probably
wants to do something rel...
That decorator is the only thing wot *might* actually get people to
notice that they're still us...
wikipedia: fix urlparse usage
github.com/sopel-irc/sopel - 120477fe28f470f9308163203c43688ff9121e12 authored about 1 year ago by dgw <[email protected]>Co-authored-by: dgw <[email protected]>
github.com/sopel-irc/sopel - 43b56a42f86f24a888648c701bf7f5dd367f27a6 authored about 1 year ago by James Gerity <[email protected]>
Co-authored-by: dgw <[email protected]>
Co-authored-by: Florian Strzelecki <florian.strzelecki@...
make: run flake8 on specific directories
github.com/sopel-irc/sopel - 5f860bbc64a682e0f128237edaa1e4516b72528e authored about 1 year ago by dgw <[email protected]>docs: FAQ entry on logging + some minor clarification
github.com/sopel-irc/sopel - 7be94c3ada89855f27c73bf9693d8755d1c604e7 authored about 1 year ago by dgw <[email protected]>github.com/sopel-irc/sopel - 7c84903841b7d4d7b053cd9f6bb368d7222b5548 authored about 1 year ago by dgw <[email protected]>
It is relative to the config's `homedir`, which is the config's parent
folder by default but can...
There is always a log format and a log date format because those options
in the core section hav...
github.com/sopel-irc/sopel - 31d065907b2ed1149964799c7c1aede6103bf9d8 authored about 1 year ago by Trevor Bergeron <[email protected]>
github.com/sopel-irc/sopel - 6c1756b64daec6346412c07cf61e89f94c980318 authored about 1 year ago by James Gerity <[email protected]>
docs: install and running instance documentation
github.com/sopel-irc/sopel - 7693af3356f59be7c825cafd91251dc88f5caf2a authored about 1 year ago by dgw <[email protected]>
* explain how to install Sopel in the doc
* explain how to manage plugins
* explain how to use s...
coretasks: fix SASL EXTERNAL without password set
github.com/sopel-irc/sopel - 7b03d9c587dba5fdf64400c9e0d855bd8ffdab19 authored about 1 year ago by dgw <[email protected]>github.com/sopel-irc/sopel - 6b59e3a42786062892b2960716253fedab5c062b authored about 1 year ago by Trevor Bergeron <[email protected]>
github.com/sopel-irc/sopel - efea7486becf1f740be5af0626fc0d5cea66725e authored about 1 year ago by Florian Strzelecki <[email protected]>
docs: set `maxdepth` or `titlesonly` on overly-long TOCs
github.com/sopel-irc/sopel - 3ff58c160ecc7a9d51f1e06426d456c7db4d985a authored about 1 year ago by dgw <[email protected]>
Pointed to the "convenient" way of handling overlength messages via
optional arguments to `bot.s...
Just fixing a couple more Sphinx warnings. If only the warnings from
Sphinx always looking for "...
We have the choice of two not-great situations:
1. Concise `datetime` imports with broken cross...
github.com/sopel-irc/sopel - e05b2e6d96bace2b5e5123330e1427be0da3f800 authored about 1 year ago by dgw <[email protected]>
This is a supposedly "experimental" option that was added in Sphinx 4.0,
but here we are using S...
Without doing this, we get some very ugly Sphinx output for the class,
and a few cryptic warning...
Didn't touch the toctree in `run.rst` because the PR expanding Sphinx
install/run documentation ...
plugin: type-hint `priority` argument as `Literal[]`
github.com/sopel-irc/sopel - 179ab82bf867e27e0eb1f55917155898e1ae329a authored about 1 year ago by dgw <[email protected]>irc, bot, builtins: add & use `AbstractBot.make_identifier_memory()` helper
github.com/sopel-irc/sopel - 9103422fbf4aba0995f70e3b6f1e7e8c2d2b4a31 authored about 1 year ago by dgw <[email protected]>coretasks, docs: fix auto-saving `.blocks add host`; improve "Ignoring Users" docs & x-refs
github.com/sopel-irc/sopel - 72493dcd4bd0b44d88a3a72f6c1948cfbd695ecd authored about 1 year ago by dgw <[email protected]>github.com/sopel-irc/sopel - 1196b195061d7403a2633074858a6d3250d85fba authored about 1 year ago by dgw <[email protected]>
github.com/sopel-irc/sopel - 89b8d49c53381759a11b7a490454c1f8b3676009 authored about 1 year ago by dgw <[email protected]>
This will flag any use of unrecognized values for the callable priority.
It makes a good interme...
privileges, plugin, tools.target, docs: channel privileges as IntFlag
github.com/sopel-irc/sopel - 51300a1ab854d6ec82d90df1bc876188c03335ff authored about 1 year ago by dgw <[email protected]>
Eliminated the link (to a webpage we're probably going to delete) in
favor of directly specifyin...
github.com/sopel-irc/sopel - b8bec6abd6f02cbb89516dd9ed892ede63cf1eb7 authored about 1 year ago by dgw <[email protected]>
Maybe still not perfect, but there's at least a way to find out what
might make a callable "bloc...
github.com/sopel-irc/sopel - 46977b61cd00c9112e12e6927fb31d1ab2215319 authored about 1 year ago by dgw <[email protected]>
github.com/sopel-irc/sopel - 31e1c1e69d8c02bc61449dc1a8c08841ea0ab94c authored about 1 year ago by dgw <[email protected]>
github.com/sopel-irc/sopel - acc0bf0b5d03f814d34124bf8be30cd366d4ab6d authored about 1 year ago by dgw <[email protected]>
github.com/sopel-irc/sopel - d504c206009eac71d47e777c2752d7007111b0b1 authored about 1 year ago by dgw <[email protected]>
github.com/sopel-irc/sopel - ed0cbcaad9fc7930f568bcf36633d93785ce4a37 authored about 1 year ago by dgw <[email protected]>
This is a convenience method for people who just want default behavior
matching what Sopel itsel...
github.com/sopel-irc/sopel - 739970e3291c5bb794dabbd8b3c25e71bd147000 authored about 1 year ago by dgw <[email protected]>
plugin: clean up redundant in-docstring parameter type annotations
github.com/sopel-irc/sopel - 89fec76b30f0e0f4f3eb824516b58619a560756f authored about 1 year ago by dgw <[email protected]>memories: test/fix interactions between `SopelIdentifierMemory` ↔ `dict`
github.com/sopel-irc/sopel - d212dd10e905fc2d90e5cf8284c24a7bbd270859 authored about 1 year ago by dgw <[email protected]>
Since the whole point of this type is to have a thread-safe version of
`collections.defaultdict`...
Comparing two `SopelIdentifierMemory` instances using `==` already
worked, but if one side of th...
github.com/sopel-irc/sopel - 34a7a0bee55669924cf7a8d5ceb54e3f8a3d60cd authored about 1 year ago by dgw <[email protected]>
Comes with a slight bonus refactoring to share the argument-processing
code previously inlined i...
New `|` / `|=` operators added in Python 3.9 for dicts. However, because
we're now defining thei...
Prior to some of the recent work done on this class, calling `.clear()`
on a `SopelIdentifierMem...
Constructing a `SopelMemory` by passing kwargs as key-value pairs is not
currently supported. Th...
I'm timid about changing the actual method signature for `__init__()`,
but could be talked into ...
Co-authored-by: SnoopJ <[email protected]>
github.com/sopel-irc/sopel - c47f5eaa1e4021de4b8d754ca84c6c687912b177 authored about 1 year ago by dgw <[email protected]>Co-authored-by: SnoopJ <[email protected]>
github.com/sopel-irc/sopel - 4db56c7bb644a5d875d471274800f96c3b74207e authored about 1 year ago by dgw <[email protected]>
Calling `.copy()` on a `SopelIdentifierMemory` now returns the correct
type of object (`SopelIde...
Resolves `KeyError` currently raised if the `key` parameter (`str`)
doesn't match the internal (...
github.com/sopel-irc/sopel - f1cff9cc0a393916237e9b9e39c4dd746ffb9435 authored about 1 year ago by dgw <[email protected]>
test: explicitly specify `testpaths`
github.com/sopel-irc/sopel - 16871a763b72c67e7c82f8ee42bc858d8200e9b9 authored about 1 year ago by dgw <[email protected]>plugins: avoid crash on broken symlink
github.com/sopel-irc/sopel - 15a3b73702f555c05219dc0e3214a53315192588 authored about 1 year ago by dgw <[email protected]>github.com/sopel-irc/sopel - 393202544a437ca0a36ce21e6f809a670818f719 authored about 1 year ago by James Gerity <[email protected]>
github.com/sopel-irc/sopel - 74d6b8d2a8c3ec08f25d18be9e4b652610f33bb0 authored about 1 year ago by James Gerity <[email protected]>
github.com/sopel-irc/sopel - 9e45e9a896a4f737485248aab314d88b83f670c8 authored about 1 year ago by James Gerity <[email protected]>
github.com/sopel-irc/sopel - 181d813846eefce7554bda23566abf03762949c5 authored about 1 year ago by James Gerity <[email protected]>
tools, tools.calculation: docs/type-hint improvements, API fixes, better test coverage
github.com/sopel-irc/sopel - 3b91a767b022b1a83a7b3feb5b1f8f3305775a7a authored about 1 year ago by dgw <[email protected]>
Nasty assertions on exception args... Really need to refactor that silly
ExpressionEvaluator.Err...
Contrary to its parameter descriptions, `pow_complexity()` was NOT able
to handle `float` inputs...
Co-authored-by: dgw <[email protected]>
github.com/sopel-irc/sopel - 15849f651faea42b356aebc546d57ebf003c97c8 authored about 1 year ago by James Gerity <[email protected]>github.com/sopel-irc/sopel - 08b670c7c2bc562e0a3d28685041c63d070cfa52 authored about 1 year ago by dgw <[email protected]>
The appearance of `Any` in the docs for plugin decorators bugged me so I
worked on the type anno...
I've definitely gone a little beyond that exact description in the name
of improving consistency...
Super-duper deemphasized that privileges are integer values. Removed the
actual values from code...
I figure getting "rewrite sopel/privileges.py (97%)" is the most
justified I'll ever be in my li...
The history and brief overview of how IRC privileges work is not part of
the module/class docume...
dice: bugfixes, type hints, and additional tests
github.com/sopel-irc/sopel - d9b6a74f1d4835ecc6544881ad5b38338e1a0f4f authored about 1 year ago by dgw <[email protected]>github.com/sopel-irc/sopel - 6a8bbdb0c9835369b7f91d7940f00dbfaacc2ec7 authored about 1 year ago by dgw <[email protected]>
calc: improve help output, test coverage (now 100%)
github.com/sopel-irc/sopel - 0371d0b0154aefdfbc95233a809caaa596cf8dc8 authored about 1 year ago by dgw <[email protected]>config: space before zone in `default_time_format`'s default
github.com/sopel-irc/sopel - 5de26c105d8d9bee72facae9c42d32565d249ebf authored about 1 year ago by dgw <[email protected]>contrib: add tox data directory to gitignore
github.com/sopel-irc/sopel - 440122d75534e11ae6f826bf97d0a1d2df2f2572 authored about 1 year ago by dgw <[email protected]>github.com/sopel-irc/sopel - 14a2fc3495d8128511ebac4f49ce56259467e004 authored about 1 year ago by James Gerity <[email protected]>
As Exirel pointed out, 0 isn't a negative number, and who knows? The
plugin's behavior could sta...
Matching on the dice expression pattern only once is more efficient, and
it simplifies the code....
Not that these docstrings are visible anywhere, but it still feels good.
One particularly trick...
github.com/sopel-irc/sopel - 3eeb6ee9fe45ac6ea773f6c692af6fe5cafa1240 authored about 1 year ago by dgw <[email protected]>
There are still 3 missed lines (2 partial branches) that I don't believe
are possible to test us...
We still have uncovered lines/missed branches, and this rewrite actually
takes the file coverage...
A selection of rolled dice can pass the equation evaluator's complexity
checks but still yield a...
Raise an exception if something goes wrong. Let the caller take care of
sending output to IRC ba...
The equation evaluator has been taking care of this since 2013, when the
`addition` argument was...
github.com/sopel-irc/sopel - 716419b7c4dcbf7ee89bef62779d44a0a3bccf25 authored about 1 year ago by dgw <[email protected]>
Python 3.5 changed `compile()` (which `eval_equation()` uses, far down
the call stack) to raise ...
Stops the bot replying with an error *and also* outputting a result.
Only one or the other shoul...
github.com/sopel-irc/sopel - 650b47477e9bdac34525cf1ef97d7b692ebca832 authored about 1 year ago by dgw <[email protected]>
These additional cases (and a new error handler) cover as much of the
`tools.calculation` submod...
Add Python 3.12 support
github.com/sopel-irc/sopel - 9023957cf480c4e55d23478dc6ae12a590ac2d9d authored about 1 year ago by dgw <[email protected]>Oops! All Error Cases!
...were not covered by the test suite. That was the easiest 100% ever.
github.com/sopel-irc/sopel - c66731f623e190aa9198dca7cc99a96151ff4d4e authored about 1 year ago by dgw <[email protected]>