Ecosyste.ms: OpenCollective

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

github.com/sopel-irc/sopel

:robot::speech_balloon: An easy-to-use and highly extensible IRC Bot framework. Formerly Willie.
https://github.com/sopel-irc/sopel

Clean up Makefile, redux [skip CI]

* Added back coverage-related targets
(at least one human dev *did* still use them 🙇‍♂️)
* Gro...

5817104fb5f6e1aaf7f5b1aea98519e2bc425b2f authored over 3 years ago by dgw <[email protected]>
coretasks: fix bad WHO loop, update querytype

who_reqs, which is used to track WHO requests to the server, had flipped
keys/values and was nev...

f11dca5376f723ec87ab09fd5a54ae32645a5052 authored over 3 years ago by Humorous Baby <[email protected]>
coretasks: Clear prior modes on RPL_CHANNELMODEIS

9fdb70af8b50e0373a56360ae4b06d61444e1a95 authored over 3 years ago by mal <[email protected]>
Merge pull request #2086 from sopel-irc/urlcallback-exception-fix

plugins.rules: `URLCallback` shall handle invalid URLs by ignoring them

0cbc386b23c10adadac6846681b94a900e464377 authored over 3 years ago by dgw <[email protected]>
trigger: document that `args` is a list

47846f012ea8ecc91e23ff5510431db4287b5143 authored over 3 years ago by mal <[email protected]>
coretasks, irc: implement CertFP / SASL EXTERNAL authentication

2bcd1ed90e547c7b7e7ac9dbb990426da993cc00 authored over 3 years ago by dgw <[email protected]>
admin: add .raw command to send raw IRC messages

36749e0e1e4b83c53f61143e8480be9af8817a66 authored over 3 years ago by Trevor Bergeron <[email protected]>
db: surgically remove eldritch horror

An attribute that only exists sometimes is just asking for trouble,
indeed. Exirel is right.

049a6442067634a6186b622d9a83aa35d86e0bc9 authored over 3 years ago by dgw <[email protected]>
fixup left-over doc snippet that's no longer correct

7ffa1886104c3e73c85348e85f39def13f6f0bac authored over 3 years ago by dgw <[email protected]>
coretasks: handle legacy UHNAMES token in ISUPPORT

0b4a00ae450fdbc915fb5fbe2b2c7cfd3d13da51 authored over 3 years ago by dgw <[email protected]>
coretasks: add userhost-in-names IRCv3 CAP support

0aa5674a39d1f3daee7ea23d4ed232bb8e9468d6 authored over 3 years ago by dgw <[email protected]>
irc: rawlog repr() & no strip(), log decode fail

Print rawlog with repr() so we don't need a hex editor to find problems
with whitespace or non-p...

6ae88a6da218b5c9e015033a3c09b22c0e5e6b7f authored over 3 years ago by mal <[email protected]>
tests: add test for ENV override of config vars

6c554b82439e2d7f79b5a0438a3fcb293980e2cc authored over 3 years ago by Humorous Baby <[email protected]>
tests: add fixture to del leaked config ENVs

Unsets config ENVs that cause `cli` tests to fail.

Specifically, tests that assume:
- `options....

ae150799c8c9689b3097d2864711ebb67c9577e4 authored over 3 years ago by Humorous Baby <[email protected]>
Merge pull request #2085 from sopel-irc/contrib-cleanup

contrib: cleanup

e2d8439caae33ed3dfe08f0c164d1e8323fd6f7d authored over 3 years ago by dgw <[email protected]>
wikipedia: rename commands to free up `.w`

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

7b7f8ba4775b72148e0c2e2f1b2af6c39ba5ab8a authored over 3 years ago by xnaas <[email protected]>
docs: fix some outdated stuff about configuration/logging

By suggestion of Exirel, made it a bit more prominent that log files'
names are based on the `ba...

22ce1a73712c4a48a6aa88a1585c177b18ce8100 authored over 3 years ago by dgw <[email protected]>
coretasks: handle `BOT` ISUPPORT token & mode

ea64af1c758344e96f7a7c4bb3e40cb94f0a0508 authored over 3 years ago by dgw <[email protected]>
config, db: support `db_url` setting to override the individual options

00f47d833c10801f128270a11515bbd7f01d2572 authored over 3 years ago by dgw <[email protected]>
plugins.rules: simplify `URLCallback.match()` method

4c1467e784be2b3144f08531c9141f1e360b76af authored over 3 years ago by dgw <[email protected]>
plugins.rules: handle `ValueError` from `urllib.parse.urlparse`

Ignoring invalid URLs is much better than spitting out "Fatal error in
core" and dumping a trace...

82529881cb6c69543bd17d1058de6504733511e2 authored over 3 years ago by dgw <[email protected]>
test: fix incorrect class name in test_url_callback_parse

37946ef798859ab44b7d8213a39894dcc1b760d8 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2084 from half-duplex/fix-booleanattr-default

config: fix BooleanAttribute default=True

56d84d115659df05c21486e1a91552842f93b235 authored over 3 years ago by dgw <[email protected]>
contrib: remove VERY outdated RPM package spec & script

Seriously, the version in there was 3.3. That was what, 2013 sometime?
Hella old.

4dbae86ab3daa93bad4e07bf44af4ffa5bf37742 authored over 3 years ago by dgw <[email protected]>
contrib: delete outdated and unused release script

9e33245474be86d10d35473c6758376da2927c92 authored over 3 years ago by dgw <[email protected]>
config: fix BooleanAttribute default=True

dd87be544b9d8d52ff0fea87444d0918774626cb authored over 3 years ago by mal <[email protected]>
Merge pull request #2077 from sopel-irc/tld-cache-clear

tld: fix `.tldcache clear` command breaking `.tld` until manual update

269498a8ce29d75cf5235cf21ce3c4a851341154 authored over 3 years ago by dgw <[email protected]>
tld: fix `.tldcache clear` command breaking `.tld` until manual update

Workaround in 7.1.0 is to run `.tldcache update` immediately after
`.tldcache clear`, or to run ...

7fb3b26f3f80bfc85702c6ea52ad1e2d4b3cf9bd authored over 3 years ago by dgw <[email protected]>
Merge pull request #2078 from HumorBaby/gha-limit-to-sopel-irc

gha: only run jobs when events are for 'sopel-irc' owned repos

16f26e6e5047bbdad44c45670611a06d3f93c698 authored over 3 years ago by dgw <[email protected]>
gha: branch filters don't like regex

We'll see later if the maintenance-branch patterns work, but for now
what's important is making ...

9dcbb8faf3f426f07ceeb1f76c9e34f6e0741d58 authored over 3 years ago by dgw <[email protected]>
gha: only run jobs when events are for 'sopel-irc' owned repos

c03a0099d9ebe4e68cd5c0bfe3a24a69f851eba9 authored over 3 years ago by Humorous Baby <[email protected]>
Merge pull request #2075 from sopel-irc/gha-github-actions-setup

ci: switch to GitHub Actions

9c92df6faee928f8a3fc27a88a3d731cdc3ff1c6 authored over 3 years ago by dgw <[email protected]>
ci: switch from Travis CI to GitHub Actions

* Moved over linting/style-check/test actions
* Reimplemented Coveralls data upload
* Removed un...

d8381837d29e132b5022da7f4fa6696beb3d0bbc authored over 3 years ago by dgw <[email protected]>
Clean up Makefile

We obviously don't need a `make travis` recipe any more.

Other little things that nobody needs ...

4eec2296dd5d4296aab710f18f0d84f869c66a8c authored over 3 years ago by dgw <[email protected]>
Bump version to 8.0.0-dev, the first step of our next journey [skip CI]

d6baf77fce135e8b44ca0195b341f66d8d629904 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2073 from sopel-irc/travis-cutback

build: remove EOL Python versions from Travis config

04b5fef6c29533a3fcab8f7c3d1b70601cecd939 authored over 3 years ago by dgw <[email protected]>
Release 7.1.0

8eec49f720eb2c3b1e78d2d1b97560aaebbb9c59 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2076 from sopel-irc/tld-cctld-fix

tld: ccTLD data moved to its own wiki page

ca8ebccb3444a00a5e1204390d14d5a5643b6f8a authored over 3 years ago by dgw <[email protected]>
clock: fix missing space [skip CI]

81f5c2ecdbcc5ef7aae3c182e11c41e87e46acb5 authored over 3 years ago by dgw <[email protected]>
pronouns: accept more styles of user input

2f05a7d65d02d56beb71b7a86d93abd626b8fd66 authored over 3 years ago by mal <[email protected]>
tld: ccTLD data moved to its own wiki page

c5b614815a5c2458f833e46271c742ebd735178c authored over 3 years ago by dgw <[email protected]>
Merge pull request #2074 from sopel-irc/another-currency-api-bites-the-dust

currency: switch default to exchangerate.host; remove ratesapi.io

12f8640525d2e8eaa716c07abcfafd3a851604a4 authored over 3 years ago by dgw <[email protected]>
currency: ratesapi.io appears to have been bought, too

exchangerate.host is now the default, and the only keyless API included.

b02cc85480cc3c8013ac6a89bc0b12c2f330889c authored over 3 years ago by dgw <[email protected]>
Merge pull request #2071 from sopel-irc/clean-in-trim_docstring

loader: use `inspect` to make callable docs consistent

b6fb3b3a21206e442a4ced6b07f0867517343b60 authored over 3 years ago by dgw <[email protected]>
doc: add missing `versionadded` for `default` params in `db` getters

Missing since #1673, first released in 7.0.0-rc1. Whoops.

Doc changes only, so [skip CI].

88c16f7f170c8782278c631187e6a099417359f6 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2072 from sopel-irc/freenode-to-libera

Substitute Libera Chat for all public-facing references to freenode

f849a3171a7b846b53976896990eac17fbdf989d authored over 3 years ago by dgw <[email protected]>
loader: use `inspect` to make callable docs consistent

Our own `trim_docstring` function is OK, but definitely not perfect.
What it returns can be inco...

a70b1e6f653d4cac9ef8964d60b01943d284068f authored over 3 years ago by dgw <[email protected]>
Merge pull request #2069 from eliocamp/patch-1

pronouns: add 2-word pronouns aliases

31371b89feb39b6a54301fe322d72e891bb1a125 authored over 3 years ago by dgw <[email protected]>
pronouns: add 2-word pronouns aliases

Co-authored-by: Florian Strzelecki <[email protected]>
Co-authored-by: dgw <dgw@techn...

d8399a5b61be490c22c0fd077deb58c86b03099d authored over 3 years ago by Elio Campitelli <[email protected]>
build: remove EOL Python versions from Travis config

Oldest is now Python 3.6, set to reach end-of-life in December 2021.

This will help us conserve...

f052e619dc31f5a028907c80d960101931dbe217 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2067 from Exirel/docs-plugin-tests

docs: plugin tests & minor improvement

2d47406e0ec1ef916b17f6935ea2e6f161ec03e5 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2066 from sopel-irc/find-no-empty-bold

find: don't output useless bold formatting for empty replacement

0a6e5ee37c47a08332821d1507d49a5d1a9c3bdc authored over 3 years ago by dgw <[email protected]>
Substitute Libera Chat for all public-facing references to freenode

I elected to leave the tests alone, since those could just as well use
`irc.example.com` and wor...

7f1b4c378c271cbac9eea6305d5290a45012f8fe authored over 3 years ago by dgw <[email protected]>
build: pin Sphinx and MarkupSafe to dead-snake-compatible versions

I'm not too bothered about making these bulletproof, since they're only
used for building docs a...

d7a538d022706fbab0cde800610554fba578f553 authored over 3 years ago by dgw <[email protected]>
tests: add clear_message_sent to mock backend

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

9f1525e43cdf904ba69053abbd47e4f52aea3d5a authored over 3 years ago by Florian Strzelecki <[email protected]>
docs: plugin automated tests chapter

Thanks to my editor! <3

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

a623dd77ebfd235cdb805bc6537f9cb5c5c4255a authored over 3 years ago by Florian Strzelecki <[email protected]>
Merge pull request #2065 from sopel-irc/auto-join-threads-MockIRCServer

tests: `MockIRCServer` methods should block by default

6c142b13723289680b332f4f316fff63bfacf915 authored over 3 years ago by dgw <[email protected]>
Merge pull request #1988 from Duckle29/curr_format

currency: add thousands separator, dynamic precision, and optional HTTPS for Fixer

2dd80d0e6bf742e4e585539a4ab12e5924865f5e authored over 3 years ago by dgw <[email protected]>
find: don't output useless bold formatting for empty replacement

f3ec1226c9061cd74811f3f863e47bedaee069de authored over 3 years ago by dgw <[email protected]>
Merge pull request #2064 from sopel-irc/wiktionary-etymology-citations

wiktionary: fix fetching etymology containing citations

93f1e7686bd5d8a424b52130323f9a99fecd8fcd authored over 3 years ago by dgw <[email protected]>
tests.factories: add new `join_threads` arg to `IRCFactory`

b0a9a0d59c3fe93c77f5cd06fed448e7f77958e7 authored over 3 years ago by dgw <[email protected]>
tests.mocks: allow overriding `join_threads` in `MockIRCServer` methods

297b71ba7f79b304e8f7d465a675d96c72367f89 authored over 3 years ago by dgw <[email protected]>
test: remove redundant thread-joining from `isup` suite

7fcb48721714c8b179124e34b0950015c5347b2f authored over 3 years ago by dgw <[email protected]>
tests.mocks: `MockIRCServer` joins running triggers' threads by default

With 30 new lines of code (of which only about half is actual code), a
solid 20 lines can be rem...

1bdf10a77fa927a23562cb90345098bc3349b0f3 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2063 from sopel-irc/isup-fallthrough-regression

isup: fix double output, and add tests

c1093402f3cc4d91645f0a7b78b2fe625aeef04e authored over 3 years ago by dgw <[email protected]>
docs: fix minor mistakes in `tests` submodules

`factories.BotFactory` had an outdated example (old method name).

`pytest_plugin.ircfactory` co...

7b906d4800a25516d10b19e120e7f021c1829097 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2058 from sopel-irc/deprecated-log-output

tools: Convert `deprecated` decorator to use logging output

0b5499ee19c6444f4edb2b38f13dae1aef77d9d5 authored over 3 years ago by dgw <[email protected]>
currency: keep amount around in string form for output

Kind of annoying to get things like "1e06 XLM" in the output when we've
been so careful to make ...

181f9dafd15433f5e282e9fcddfc9bc6e90fa16d authored over 3 years ago by dgw <[email protected]>
currency: make Fixer HTTPS configurable & make API key URL-safe

Exirel mentioned the possibility that an API key could contain invalid
characters, theoretically...

2f693f37e4a5f53de93ab2da831a1eb646060e4e authored over 3 years ago by dgw <[email protected]>
currency: Fixer API no longer allows HTTPS on free plans

2b403b760e311a193e3b0524e04872be238d6ad0 authored over 3 years ago by Mikkel Jeppesen <[email protected]>
currency: add thousands separator and dynamic precision

e48a4eb5c3ecbed61cf26077d307dfdc17da8c00 authored over 3 years ago by Mikkel Jeppesen <[email protected]>
test: first use of `bot.running_triggers` property as intended

The previous `time.sleep()` approach was suggested on IRC, and I just
ran with it because at the...

2adb425a4d07cf89be30d253e6b20cfd1391ba4f authored over 3 years ago by dgw <[email protected]>
test: deduplicate `isup` suite with fixtures

8a98b10682506d1589f14a9cd203bd0184dce779 authored over 3 years ago by dgw <[email protected]>
isup, test: replace `plugin.example()` decorator with test suite

Made simpler thanks to the recent addition of `requests-mock` to Sopel's
dev-requirements.txt fi...

eb6090014c2545b68d15e144e904a189bf628a29 authored over 3 years ago by dgw <[email protected]>
isup: alternative control flow

Co-Authored-By: Exirel <[email protected]>

60ce8c2495ced855506e430710af532ed9f5834c authored over 3 years ago by dgw <[email protected]>
isup: fix "looks fine" being sent after "looks down" messages

Regression introduced in 5af0eea249238485d70c8e14743358a50115b0f4.

9f20e23212329014f7a12fc05f9325395f696fbd authored over 3 years ago by dgw <[email protected]>
tools: more robust module-name filtering in `deprecated()` logging

Co-Authored-By: Exirel <[email protected]>

1c6fea63b45562a99ea62419427e3e8b344ec826 authored over 3 years ago by dgw <[email protected]>
tools: Convert `deprecated` decorator to use logging output

No more `stderr()` calls!

Bit annoying that we have to use both `inspect` *and* `traceback`, bu...

8e4982ae0c7be08ba22a217e27654251cb1cbf9e authored over 3 years ago by dgw <[email protected]>
Merge pull request #2060 from sopel-irc/currency-api-changes

currency: API switch & backup option

559987df678d3f09da05173cec3c181d12134d88 authored over 3 years ago by dgw <[email protected]>
wiktionary: lazily match <sup> tag contents

Long etymology might have multiple citations. Greedy matching selects
everything between the fir...

e5a1d6c0c616e64acb467c819ec11203db0208c6 authored over 3 years ago by dgw <[email protected]>
wiktionary: fix fetching etymology containing citations

Excluding markup with 'id="' in it is only for definition modes. When
looking for etymology, we ...

8d5e1f97df9924760c56609d28ddc00526d0883e authored over 3 years ago by dgw <[email protected]>
Merge pull request #2059 from sopel-irc/deprecated-bool-settings

core, modules: replace deprecated uses of `parse=bool` in settings

308f142b989ffe1d46b5437c91a1e12ff99cf44c authored over 3 years ago by dgw <[email protected]>
Merge pull request #2056 from sopel-irc/find_updates-tests

find_updates, test: create test to verify error case behavior

a6ff24e7885f6b781b4aed269b3533c16aecb314 authored over 3 years ago by dgw <[email protected]>
test: update VCR.py cassette for currency plugin

da41847d5589f57574fd1a0bd98ea279310d8d09 authored over 3 years ago by dgw <[email protected]>
currency: configurable fiat API

Not quite the "custom" option I was planning to implement, but that
could still happen later. Pr...

aecd7bfabd72db766550ef46769f047da98513f3 authored over 3 years ago by dgw <[email protected]>
currency: switch keyless API endpoint to ratesapi.io

exchangeratesapi.io was bought and started requiring an API key.

527fc68f2d368c40741fb3dff4c7f2ef31be5339 authored over 3 years ago by dgw <[email protected]>
url: `parse=bool` in `ValidatedAttribute` is deprecated

622e7555e67175f1d70da352984d56831e07843c authored over 3 years ago by dgw <[email protected]>
tell: `parse=bool` in `ValidatedAttribute` is deprecated

11d625053c99520364e62aa6a522efc521e7aa0a authored over 3 years ago by dgw <[email protected]>
safety: `parse=bool` in `ValidatedAttribute` is deprecated

b47555470d1a46f67f5c6c74ace77596969d9976 authored over 3 years ago by dgw <[email protected]>
help: `parse=bool` in `ValidatedAttribute` is deprecated

c898f0e0b78f3141393bfd688ef25fb0d4efff65 authored over 3 years ago by dgw <[email protected]>
currency: `parse=bool` in `ValidatedAttribute` is deprecated

d4d24e658ffc0a22ce73adb5aa4880c10151a2af authored over 3 years ago by dgw <[email protected]>
admin: `parse=bool` in `ValidatedAttribute` is deprecated

190d1e1f07912e30b9be950b074384be879bf702 authored over 3 years ago by dgw <[email protected]>
config.core_section: `parse=bool` in `ValidatedAttribute` is deprecated

1fdfb7a665bb41a9b7b67b717f90553cad5d3310 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2053 from sopel-irc/currency-KeyError

currency: improve error handling

a033cb18596655b57305ef16174a3651c599940a authored over 3 years ago by dgw <[email protected]>
find_updates, test: create test to verify error case behavior

requests-mock 1.9.1 officially supports Python 2.7 and 3.4-3.9. Tested
locally on Python 3.3 (no...

3bcb1997ffbd43e2195da0c16006dbbf2e6a56fe authored over 3 years ago by dgw <[email protected]>
Merge pull request #2052 from sopel-irc/find_updates-UnboundLocalError

find_updates: return in ALL the appropriate failure cases

ed2b8254c15ca784c6bac585aeec4b9effdae1e8 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2050 from sopel-irc/bot.say-better-trailing

irc: more ways for `bot.say()` to help with overlength messages

057043a0e89d820666f99ce7ea7b5b1ac4ff7f48 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2047 from Exirel/improve-cli-user-friendly

cli: various user-friendly error messages

9ffcb18aaf0f23f12ce0b5750de57dc622f5ca76 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2041 from Exirel/backend-coretasks-timeout-and-logs

irc: timeout and logs

69927f2cb50ddf7650255d5cbd4f4fcf113e66f3 authored over 3 years ago by dgw <[email protected]>
Merge pull request #2037 from Exirel/plugins-more-rule-lazy

plugins: rule_lazy, find_lazy, and search_lazy

b1b9a197f4f0244dc9621f79238422ec148eeed2 authored over 3 years ago by dgw <[email protected]>