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

admin: check arguments and add logs

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

github.com/sopel-irc/sopel - 1356fd654dbfe0ce832d26e34aabd8cb69c4de9d authored over 4 years ago
py: better reply on error

github.com/sopel-irc/sopel - 880ca01f6316cd1e418585d951ec6a4a725ca5f5 authored over 4 years ago
tld: Use Wiki API

github.com/sopel-irc/sopel - 6d5f0004a4ad613ff73e587cafa3c34eb3f8124c authored over 4 years ago
cli, setup: hard-code Python 2 EOL message

Updates to Python 2.x stopped months ago. Any future release is certain
to be installed and run ...

github.com/sopel-irc/sopel - 79bddad99b5691c175825ed0f9a9c3049eb424d0 authored over 4 years ago
tld: small tweak to parser's handling of superscript

Without this, some TLDs like `.бел` won't be included in the data table.

Originally added while...

github.com/sopel-irc/sopel - 35fd6054555d9fb6c6fef56df92717a66de19dfe authored over 4 years ago
choose: validate type passed to `_format_safe()`

Because Python doesn't have a static type system.

github.com/sopel-irc/sopel - 582baadfa6392ccc68a1780c1831070fe5db67c4 authored over 4 years ago
test_modules_choose: more tests for expected character classes

github.com/sopel-irc/sopel - e1a1789999a6e08a309718000fcc9ea397d5912f authored over 4 years ago
module: `as` imports are no longer needed

github.com/sopel-irc/sopel - 3d7ec8f8fe4e06c79d64856cfb111103efc4578e authored over 4 years ago
plugin: keep old-school plugin devs happy w/plural command decorators

The aliases' docstrings should prevent Sphinx from outputting the same
documentation twice; a si...

github.com/sopel-irc/sopel - b2a8b0729d2bf7134935b81a7516d0b0010e9dc7 authored over 4 years ago
choose: comment blocks inspired by Exirel

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

github.com/sopel-irc/sopel - bb0af62f56114b3277c668c413d8620bc855daa1 authored over 4 years ago
test_modules_choose: we'll aspire to fix these XFAIL tests someday

github.com/sopel-irc/sopel - 078c4ac8d4b1428b51a8b336cd0ede3dc642fe46 authored over 4 years ago
choose: implement own `strip()`-like function, safe for IRC formatting

Python's built-in `strip()` method for strings considers some control
codes used for IRC formatt...

github.com/sopel-irc/sopel - e880c123da785757a32a109a5a9b624e990a684c authored over 4 years ago
test_modules_isup: fix module docstring (these don't test `remind`)

github.com/sopel-irc/sopel - 3087846db9809401af313c8305447c2f4fee49ab authored over 4 years ago
formatting: CONTROL_FORMATTING lists all known format chars

This is for plugin convenience, as otherwise they'd all need to build
their own lists of constan...

github.com/sopel-irc/sopel - ddc23cbfeecdfdecb04b773b11adc4a151bda8ae authored over 4 years ago
irc.utils: rename "module" param & attribute to "plugin"

The old "module" attr will stick around as a deprecated property until
Sopel 8.0. Until then, an...

github.com/sopel-irc/sopel - 33b094baefc77d5b81a5bd1b6bc446781192e7b1 authored over 4 years ago
plugins.handlers: small fixes (all uses of "module" are correct)

github.com/sopel-irc/sopel - 850a178aed41c901c52c75d905123da12cd51782 authored over 4 years ago
plugins: audit docs for outdated use of "module" vs. "plugin"

github.com/sopel-irc/sopel - d5854f82966aed75ce8adcd91bbceeb4b24c3c9e authored over 4 years ago
logger: decorate `get_logger()` with deprecation info

It won't start emitting any warnings until 8.0, but we won't have to
remember to decorate it lat...

github.com/sopel-irc/sopel - e02a286d6c1bbdc79e2306e1b0d4f999b2c84706 authored over 4 years ago
irc: audit for outdated use of "module" vs. "plugin"

I'm doing this because it's easier to drop the change later than skip
over it now and then remem...

github.com/sopel-irc/sopel - 650e67207781e380532d103276432e0f8b10a05e authored over 4 years ago
irc.utils: fix docs for `CapReq` param `prefix`

The empty string is also allowed; it means "request this if no other
CapReq forbids it".

github.com/sopel-irc/sopel - f8ed9e5fbfb67a41b8fe46a189215b7fa99d3993 authored over 4 years ago
coretasks: audit for outdated uses of "module" vs. "plugin"

github.com/sopel-irc/sopel - 6fa4bb1050fbfa7e9171e2e764efa7965b5f4c48 authored over 4 years ago
admin: add .chanlist command to show what channels Sopel is in

This was requested on our IRC channel. Instead of just telling the user
how to write their own c...

github.com/sopel-irc/sopel - a42a3a5e079a3c92f95e722387366fc62b5faa64 authored over 4 years ago
irc, test_irc: handle multibyte chars in dest when splitting messages

The new test fails without the change in `irc` itself, proving that the
previous algorithm would...

github.com/sopel-irc/sopel - 830fbef6f2d5fda155fe16aa7029e4fb2c580b8e authored over 4 years ago
irc: calculate safe message length in `bot.say()` when splitting

Not quite ready to make this the default behavior, but plugins that make
use of `max_messages` a...

github.com/sopel-irc/sopel - b7bf5e72a451990b5767251f712f021a2acaf983 authored over 4 years ago
test_irc: verify behavior of `bot.say()`'s `trailing` parameter

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

github.com/sopel-irc/sopel - bf7337ed963682f9b05e33683f8f326465c446aa authored over 4 years ago
bot, irc: implement optional continuation indicator for `bot.say()`

New optional parameter to `bot.say()` allows specifying a suffix that
Sopel will append to a mes...

github.com/sopel-irc/sopel - 0a6d1eaf99ff218c852e46b55d5ec528233c3397 authored over 4 years ago
config: small refactoring and unit tests for types

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

github.com/sopel-irc/sopel - 7c8fd587a766988af213c3aec148e62bdd1c6af2 authored over 4 years ago
Merge pull request #1928 from sopel-irc/fail-sasl-on-unadvertised-mech

coretasks: better SASL handling

github.com/sopel-irc/sopel - 005a53452fdd96dde1dd266b1587d67170665317 authored over 4 years ago
coretasks: SASL event handlers should be unblockable

github.com/sopel-irc/sopel - 69338e1daa8ab876196ca3b2a93e32cf11248f7b authored over 4 years ago
coretasks: refactor repeated SASL setting checks into helper function

github.com/sopel-irc/sopel - 70e442e4d3e56c7ae58c66e92841a60d45f6a6ef authored over 4 years ago
coretasks: minor code style

github.com/sopel-irc/sopel - 93c82c921de6817509836556ec907f53512c3069 authored over 4 years ago
coretasks: more better SASL logic

Handles SASL 3.1 advertised mechanisms, sent after Sopel's configured
mechanism fails, *sometime...

github.com/sopel-irc/sopel - 5604651d66365198a87ec6980573e79a2f65b8b2 authored over 4 years ago
Merge pull request #1859 from sopel-irc/announce-batch

announce: send announces to TARGMAX channels at once, if advertised

github.com/sopel-irc/sopel - b16cfcd8e1197e4e85727f00f56c69f01c890aac authored over 4 years ago
coretasks: simplistic SASL mechanism verification

This only works for SASL 3.2 spec. In 3.1, the supported mechanisms are
only advertised after (a...

github.com/sopel-irc/sopel - 58eb6e944c1b0208a64bcabca8ee1a9a1adfb88c authored over 4 years ago
test: work around quirk of vcrpy + Python 3.3

Seems like the tests for `currency` work (locally) if 0 runs first, but
not if 1 runs first. Sor...

github.com/sopel-irc/sopel - 5c19545b824195df392395a28a36dd8cc4f8b018 authored over 4 years ago
test: re-record all VCR.py cassettes

Only one live response that had changed, for the `.suggest` command's
example test in `search`. ...

github.com/sopel-irc/sopel - d40996c1bb005503099bfcc2bd3c9af5a8ea6a07 authored over 4 years ago
test: add helper make targets for VCR cassette management

`test_novcr` is now a shortcut to run pytest with `--disable-vcr`.
The old `test_novcr` has beco...

github.com/sopel-irc/sopel - 189b338c0d92ef22aba5fb2054a76cf2dca6ca94 authored over 4 years ago
tld: add .tldcache command

Allows viewing last update time, forcing the cached data to update, and
clearing the cached data...

github.com/sopel-irc/sopel - 5e45e6d29fe6f2a8772c941d8e00556edf01f029 authored over 4 years ago
Merge pull request #1948 from sopel-irc/tools-convenience-imports

tools: make `time` and `web` always accessible by importing `tools`

github.com/sopel-irc/sopel - 0cd434af8aef8e5122c49790f27612085c30d07c authored over 4 years ago
test, isup: verify behavior of `None` in `get_site_url()`

github.com/sopel-irc/sopel - 0059659f32ba106e21817ff3d7d2350b0d62dcc8 authored over 4 years ago
isup: refactor obsolete if/else

Simplifies handler function (flattens the logic a bit).

github.com/sopel-irc/sopel - 5af0eea249238485d70c8e14743358a50115b0f4 authored over 4 years ago
announce: check that message argument is set

See comments in #1859 and #1953.

github.com/sopel-irc/sopel - ce10d0a5ae47f0668ac3f2313a0eee54d1919061 authored over 4 years ago
version: tweak command docstring for clarification

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

github.com/sopel-irc/sopel - 539c733b204f39c93e0c307b0d6e43c2c2f75d4c authored over 4 years ago
tools: make `time` and `web` always accessible by importing `tools`

It's really silly that anyone who wants to use the `time` submodule has
to do `import sopel.tool...

github.com/sopel-irc/sopel - 0db69e01a691acc80f500a064da0338754bd3130 authored over 4 years ago
adminchannel: check formatted topic against TOPICLEN, if sent by server

github.com/sopel-irc/sopel - 02a53b3e82882c36ced2779d3a366fa13845ac9f authored over 4 years ago
adminchannel: import cleanup & punctuation fix

github.com/sopel-irc/sopel - c36e0bde594ea63ed82de615f306d0a5b0ed1839 authored over 4 years ago
docs: note about quoted values; minor tweaks to examples

In particular, added an example of `logdir` and `log_raw` usage, since
I noticed those were miss...

github.com/sopel-irc/sopel - cae966baaeb7dd90ce336ae54b6a66699904238a authored over 4 years ago
config.core_section: improve docs of path- & log-related settings

Copied note about relative path behavior from `pid_dir` to both `logdir`
and `ca_certs` docstrin...

github.com/sopel-irc/sopel - 624f9f24f60ae167b24966d082c5f1c627e542c2 authored over 4 years ago
ip: add note about relative `GeoIP_db_path` value behavior

github.com/sopel-irc/sopel - d465f332b50982597c7977c2b78401bd14b27e9d authored over 4 years ago
meetbot: enforce absolute `meeting_log_path`

github.com/sopel-irc/sopel - 64a71690d6c54e2138583a0a15b5a3cc9112ec50 authored over 4 years ago
package: allow '-' or '.' before release level

We have been using e.g. '7.0.0.rc2', but `_version_info()` parsed such
version strings incorrect...

github.com/sopel-irc/sopel - 074e1f1d61c6ba6b62b794d082dbfc56e6d069eb authored over 4 years ago
find_updates: restore unstable release handling

github.com/sopel-irc/sopel - 0e13d068cdf76da0bee6e4ff5982f055bd32abe2 authored over 4 years ago
find_updates: replace startup-check flag global with bot memory value

github.com/sopel-irc/sopel - c19548c61548569e05ad874d7222cffaf1d7da0e authored over 4 years ago
announce: send announces to TARGMAX channels at once, if advertised

Reduces the bot's network overhead, and might make servers happier.

github.com/sopel-irc/sopel - b7b6b46a84e29e26a6a6b921debf57735661a4c0 authored over 4 years ago
Merge pull request #1938 from Exirel/tools-memory-key-factory

tools: new `SopelIdentifierMemory` class

github.com/sopel-irc/sopel - 54e42747959d86ddc1ba40bc02098cb3ab7d9439 authored over 4 years ago
Merge pull request #1940 from sopel-irc/isup-tweak

isup: fix error-series HTTP status codes; get away from assuming TLD

github.com/sopel-irc/sopel - a0002671cb370902d1dab85f654fb05c00b632cd authored over 4 years ago
reddit: remove stray hard-coded message prefix missed in #1937

github.com/sopel-irc/sopel - 2009dbfe8a4e4d24910b8bf955c7e5483bd133a1 authored over 4 years ago
coretasks: reduce "useless MODE message" logspam

Check whether the MODE message target is a nick *first*, before checking
how many arguments it h...

github.com/sopel-irc/sopel - 6ca689fdc4646d632a67916f124db978e110af9c authored over 4 years ago
Merge pull request #1939 from sopel-irc/tld-revamp

tld: comprehensive rewrite

github.com/sopel-irc/sopel - f896c414934b13115d9b966c811d088eb5d321c6 authored over 4 years ago
plugins: use tools.SopelIdentifierMemory in plugins

github.com/sopel-irc/sopel - 89435649ce0bf7a1b3003914e77226008a6e1366 authored over 4 years ago
tools: new SopelIdentifierMemory class

github.com/sopel-irc/sopel - c4618e3e5922a0492c9d419c66143725fe6501f8 authored over 4 years ago
Merge pull request #1930 from Exirel/handle-nick-already-used

core: change/recover in-use nick; fix obsolete USER command syntax

github.com/sopel-irc/sopel - 11abde6d83691a96b5c44e74b6b000c0e8b62aeb authored over 4 years ago
bot: prevent sys.exit when loading plugin to crash the bot

github.com/sopel-irc/sopel - 6cfda5d94a02b3d5511e558aef56736b102a3a73 authored over 4 years ago
coretasks, admin: minor style fix for bot.write

github.com/sopel-irc/sopel - 9f91b3e9f3dbf3aefdcacea0c93a9ed37ef8dcbc authored over 4 years ago
coretasks: assume + only if core.modes does not start with + or -

github.com/sopel-irc/sopel - a0dbb9d5131dadeacdc651741590cd8a9f785aac authored over 4 years ago
irc: quick import and docstring cleanup

github.com/sopel-irc/sopel - 17674ea0eaeebfb414fb0054f48791f919313b84 authored over 4 years ago
irc: send proper USER command

As discussed with @dgw on IRC, the proper USER command should be:

USER <username> 0 * :<real n...

github.com/sopel-irc/sopel - fe8059cb184a15cdd32bfaef45af1fec260d6667 authored over 4 years ago
irc: backend now handles server error

github.com/sopel-irc/sopel - 6ab97bd3938f6d107a1b6a83c5391a48d9582ff5 authored over 4 years ago
core: change and recover nick when already used

github.com/sopel-irc/sopel - f02e2d0c7d106a449cbe50d62bbc5cf3495d276f authored over 4 years ago
Merge pull request #1936 from Exirel/plugin-collect-decorated-callables-only

loader, plugin: load decorated callables only

github.com/sopel-irc/sopel - daaef673886a688746cebde333bd8d8b6abb218c authored over 4 years ago
isup: give specific reason for "down" verdict

Specified timeout values, both to improve response time of the command
and to make the connect/r...

github.com/sopel-irc/sopel - 50ace55f2b6309b59792aeda332e12ed79472a16 authored over 4 years ago
isup: block querying invalid/test TLDs & local names with dot in path

Includes tests, since that's how I verified that it used to be allowed.

github.com/sopel-irc/sopel - 778fc4f2b75a1a0155949befb49d39c3ba33c390 authored over 4 years ago
Merge pull request #1932 from sopel-irc/sphinx-css-tweaks

docs: add space before attribute lists

github.com/sopel-irc/sopel - fff86431147f540251061a18eb9d84e8dc27ab16 authored over 4 years ago
isup: don't assume `.com` any more if dot is missing

The "com" TLD is nowhere near as common as it once was. It's probably
better to just inform the ...

github.com/sopel-irc/sopel - 2863d727c7c7ca28e3759db5ceca7cdfb5773272 authored over 4 years ago
isup: let's just use `.startswith()` instead of slicing

github.com/sopel-irc/sopel - e504eacd0b147b21df2f271e05aa3f71c19aefb3 authored over 4 years ago
isup: consider error status codes as "down"

This explains so much about how I'd check a site that's clearly down if
I visit it in my browser...

github.com/sopel-irc/sopel - adc043e9acd97378be4fb900369dc533705238b9 authored over 4 years ago
tld: use TLD list from IANA to validate queried items' existence

List is cached in `bot.memory` at runtime, and persisted to a plugin
value in `bot.db` at shutdo...

github.com/sopel-irc/sopel - 1a0b4ee0b1b63acf41fdf5f0116b4353d3d5ca5b authored over 4 years ago
tld: add basic formatting support (bold & italic) to TLD data parser

Also moved the data-processing step inside the parser object, because
having a helper function f...

github.com/sopel-irc/sopel - f67737db60e453c22f58b1317a0b01b6aabf4b69 authored over 4 years ago
tld: completely overhaul data fetching from Wikipedia

Replaced those horrid (and ugly) regex patterns with a bare-bones HTML
parser, an in-memory look...

github.com/sopel-irc/sopel - 816ac868d12f16f6a732e100afa3b80fffd159f5 authored over 4 years ago
Merge pull request #1937 from Exirel/consistency-plugins-output

plugins: check consistency of plugin code and their output formatting

github.com/sopel-irc/sopel - 19522fce13da182b683d6534ed48da6e8bd15a22 authored over 4 years ago
build: pin `coveralls` requirement on old Python versions

github.com/sopel-irc/sopel - c9d721c924fc6f262f63dbcf43b038b043e6fe5b authored over 4 years ago
emoticons: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* no output prefix for emotes, they are too pure!

github.com/sopel-irc/sopel - ab0cac770a3bc63d04f1f3579d3c42619a3f6bd3 authored over 4 years ago
meetbot: proper imports

github.com/sopel-irc/sopel - 855f98a2dc1c378fb6c9eb49c76b07760472ec10 authored over 4 years ago
ip: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* replaced `bot.say` by `bot.reply` for error cases
...

github.com/sopel-irc/sopel - 8b6318fbcf92dcbdcb5f9d7bf8bfbb95e10589e9 authored over 4 years ago
lmgtfy: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* replaced `web.quote` by Python's built-in `urlencode`

github.com/sopel-irc/sopel - a7e4390eae0bf9c662413e4721af899662fbc470 authored over 4 years ago
find: check output consistency

* replaced `sopel.module` by `sopel.plugin`

github.com/sopel-irc/sopel - efa279822f1cb235980f226f41b234ee0d969e93 authored over 4 years ago
invite: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* replaced `return bot.reply` by 2 lines

github.com/sopel-irc/sopel - e213bd5f2d7c7460baa0cb870545068ec164114b authored over 4 years ago
unicode_info: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* used `plugin.output_prefix` with `bot.say` method
...

github.com/sopel-irc/sopel - 0e5ee11fecd771fd5696059d4ce578a2ba058c4f authored over 4 years ago
isup: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* used `plugin.output_prefix` with `bot.say` method

github.com/sopel-irc/sopel - 98e33ee9fbb21a67e6aed49aaa1a14451f83769c authored over 4 years ago
instagram: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* used `plugin.output_prefix` with `bot.say` method
...

github.com/sopel-irc/sopel - c92eba90c7a15d4a42c55d662f9f277da2c33a98 authored over 4 years ago
find_updates: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* add manual output prefix in job

github.com/sopel-irc/sopel - f7695ab1b75c4367dee048e28a1f1105bce1d89c authored over 4 years ago
py: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* removed obsolete `if main` block

github.com/sopel-irc/sopel - 72da978926541edc08ec91957ab28e2ee6b5d2c1 authored over 4 years ago
reddit: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* replaced `bot.say` by `bot.reply` for error cases
...

github.com/sopel-irc/sopel - fa9516a0222dfaeeda088aa7202c44e5a9227479 authored over 4 years ago
bugzilla: proper config import

github.com/sopel-irc/sopel - eea3e4a8250c6546d71fbed54183aeca0a6cdb5b authored over 4 years ago
ping: replace sopel.module by sopel.plugin

github.com/sopel-irc/sopel - ec8629f5147baf1aea3d6d1e50b2d32f679b43ab authored over 4 years ago
help: replace sopel.module by sopel.plugin

github.com/sopel-irc/sopel - 4d299d1ead6d9914ed517f15bf97ba7852fd06d7 authored over 4 years ago
countdown: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* used output prefix with `bot.say`

github.com/sopel-irc/sopel - 48e3f30c6c088fbcc24b99a744ba533af48c9902 authored over 4 years ago
calc: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* used output prefix with `bot.say`
* removed obsole...

github.com/sopel-irc/sopel - 927938123693395f85fc3f99f0de472dff953ab0 authored over 4 years ago
units: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* used `plugin.output_prefix` with `bot.say` method
...

github.com/sopel-irc/sopel - e875c63aa623ac3e77c43a7f22af853fe450978b authored over 4 years ago
uptime: check output consistency

* replaced `sopel.module` by `sopel.plugin`
* used `plugin.output_prefix` with `bot.say` method

github.com/sopel-irc/sopel - f156e8c469b27e601ea931bb7ef2780ce27241cd authored over 4 years ago