https://github.com/ProgVal/Limnoria

sort by:
Revision Author Date Message Commit Date
2990fcd README+setup: Update supported Python versions 13 March 2021, 12:15:41 UTC
f1a5ab4 String: Add unicodename and unicodesearch commands. 11 March 2021, 21:49:13 UTC
0919b9f ircmsgs: Fix function docstrings. 11 March 2021, 18:46:05 UTC
cb7a395 irclib: truncate outgoing messages to 512 bytes, not 512 chars 11 March 2021, 18:02:55 UTC
c0527b6 String: update docstrings of ord/chr, we're using unicode now 10 March 2021, 21:19:35 UTC
9bfa145 httpserver: improve error handling when binding ports 1. better error messages 2. try binding other ports even if one fails 09 March 2021, 22:14:23 UTC
ce03729 ShrinkUrl: Improve error messages when opening the database. 09 March 2021, 22:13:16 UTC
36800ed ShrinkUrl: Fix tinyurl.com test 09 March 2021, 22:12:54 UTC
11e79e4 Remove the '(XX more messages)' when the next message is sent immediately after It's pointless and looks stupid. It will look even more stupid when we enable multiline, because the suffixes will be in the middle of the concatenated message. 05 March 2021, 20:19:02 UTC
f98542e Add testReplyInstant I'm going to mess with instant replies to add support for multiline, so it's good to have a safety net. 05 March 2021, 20:11:43 UTC
4aca6e3 Add support for receiving commands from draft/multiline batches. 04 March 2021, 20:34:25 UTC
975a910 Services: Fix conditional on supybot.protocols.irc.experimentalExtensions It was always true-ish because we tested the variable itself instead of its value. 04 March 2021, 20:30:07 UTC
f8c5221 do43x: add the current nick to the list of tried nicks. The original nick was never added to the list... 04 March 2021, 20:29:23 UTC
af5364b .travis.yml: Disable optional dependencies on py3.6, python-cryptography no longer supports it. 04 March 2021, 19:33:35 UTC
de9b518 .travis.yml: try to fix irctest run 04 March 2021, 19:09:37 UTC
8b497af Services: Add support for REGISTER responses in nested batches. 04 March 2021, 17:48:15 UTC
6f6dad8 Add proper support for nested batches. 03 March 2021, 22:32:00 UTC
9719bb7 irclib: Send the bot user mode when advertized by the server It is enabld by default in order to be a good netizen, but can be overridden by admins if needed. References: * * https://github.com/ircv3/ircv3-specifications/pull/439 28 February 2021, 10:11:29 UTC
78dc45e Aka: eliminate race condition in tests? Sometimes (very rarely), the test errors with: ``` ====================================================================== FAIL: testHistsearch (Aka.test.AkaChannelTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python3/dist-packages/supybot/test.py", line 214, in runTest originalRunTest() File "/usr/lib/python3/dist-packages/supybot/plugins/Aka/test.py", line 67, in testHistsearch self.assertResponse('histsearch .*', '@echo foo') File "/usr/lib/python3/dist-packages/supybot/test.py", line 402, in assertResponse self.assertEqual(m.args[1], expectedResponse, AssertionError: '@aka add histsearch "last --from [cif true[80 chars]"]]"' != '@echo foo' - @aka add histsearch "last --from [cif true \"echo test\" \"echo test\"] --regexp [concat \"m/$1/\" [re s/g// \"@2\"]]" + @echo foo : '@echo foo' != '@aka add histsearch "last --from [cif true \\"echo test\\" \\"echo test\\"] --regexp [concat \\"m/$1/\\" [re s/g// \\"@2\\"]]"' ``` ie. histsearch returns the 'aka add' message instead of the 'echo foo' one. My guess is that if they happen too closely to each other, they get added to the history in the wrong order (how? it's not threaded) So this commit works around the issue by making the regexp unambiguous. 20 February 2021, 23:18:03 UTC
85549bf Services: Fix typo in docstring 30 January 2021, 18:41:26 UTC
18baff9 .travis.yml: Add use releases for python 3.8 and 3.9 27 January 2021, 17:19:23 UTC
c016ed5 Services: Add support for batches as reply to REGISTER/VERIFY. Oragono uses them. 25 January 2021, 21:03:08 UTC
1c6c1cb Services: Add initial implementation of the @register and @verify commands. Using this early draft specification: https://gist.github.com/edk0/bf3b50fc219fd1bed1aa15d98bfb6495 25 January 2021, 20:57:12 UTC
e54751f Make the email regexp less strict. The former one disallowed too many valid address, eg. those containing quotes or square brackets. 25 January 2021, 18:49:08 UTC
7110b8f Relay: Set msg.channel before passing it to _sendToOthers. _sendToOthers expects msg.channel to be 'in otherIrc.state.channels', but IrcMsg objects don't have their 'channel' attribute set until they are passed through irclib, so it was left unset, which means messages were never sent at all. Regression introduced in c1ae3f5c81cc8cf4effc7670e99c9270e31a1c9c. 15 January 2021, 20:25:02 UTC
aceb7ba .travis.yml: Allow failures for pypy3 + opt deps. 'cryptography' can't be installed because of errors thrown by gcc. 11 January 2021, 23:55:48 UTC
772ec8d When getting STS policy over insecure connection, reuse the exact same IP address Otherwise, if some IP addresses don't work (eg. all odd ones), the bot will consecutively fail because it can't connect, then connect + get STS + reconnect, then fail again, then connect + get STS, etc. 11 January 2021, 22:22:21 UTC
ba77de0 Try all IP addresses of a hostname. Fixes a regression in ecc2c32950efd0389d9d2c6b37ea7fb2728ab1d1 that caused Socket.py to ignore the IP address entirely after computing it, and to call getSocket() and connect() with the hostname instead. 05 December 2020, 13:26:52 UTC
771c05c irclib: Fix test failure FAIL: testMoreIsCaseInsensitive (Misc.test.MiscTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File /home/travis/virtualenv/python3.8-dev/lib/python3.8/site-packages/supybot/test.py, line 214, in runTest originalRunTest() File ./plugins/Misc/test.py, line 260, in testMoreIsCaseInsensitive self.assertNotError('more %s' % nick.upper()) File /home/travis/virtualenv/python3.8-dev/lib/python3.8/site-packages/supybot/test.py, line 355, in assertNotError m = self._feedMsg(query, **kwargs) File /home/travis/virtualenv/python3.8-dev/lib/python3.8/site-packages/supybot/test.py, line 526, in _feedMsg response = self.irc.takeMsg() File /home/travis/virtualenv/python3.8-dev/lib/python3.8/site-packages/supybot/log.py, line 368, in m return f(self, *args, **kwargs) File /home/travis/virtualenv/python3.8-dev/lib/python3.8/site-packages/supybot/irclib.py, line 1308, in takeMsg assert not msg.tagged('emulatedEcho') AssertionError I don't understand why it's happening or why it's only that specific test, but there we go. 10 November 2020, 08:47:36 UTC
81a7530 Network: add @capabilities command. 09 November 2020, 20:45:01 UTC
c062787 irclib: use a dedicated tag to detect emulated echo-messages, instead of receivedAt. Plugins implementing inFilter do not set receivedAt, so incoming messages rewritten by inFilter would be detected as echo messages, and ignored by most plugins. 04 November 2020, 10:32:20 UTC
903ecee Simplify checkIgnored code from previous commit 04 November 2020, 10:32:20 UTC
d24130f resolve warnings about 'is not' and integer comparisons (#1435) running supybot-adduser (or supybot-reset-password) with a recent python would result in the warning: > ``` > /usr/local/bin/supybot-adduser:59: SyntaxWarning: "is not" with a literal. Did you mean "!="? > if len(args) is not 1: > ``` This commits corrects the syntax. ` 29 October 2020, 19:22:34 UTC
76b5a42 supybot.defaultIgnore shouldn't ignore registered users. Even if they are not trusted. This fixes a regression in 97016b9c55e144ce234fdf67880b57dffc12aac3. This happens because 'user._checkCapability' raises a KeyError when the user has neither this cap or the anticap; which was mistakenly caught here by the 'except KeyError' expecting to catch non-existing users. (And that why 'try' blocks should be limited to as few lines as possible.) 25 October 2020, 23:19:57 UTC
160bcc8 Revert "irclib: Fill the nick and prefix of simulated echo messages." This reverts commit 1fe414764c0c2fa291b7d10d663b52c069013058. I initially wrote that commit so that plugins with echoMessage=True can get the nick/prefix from the message (eg. the SkypeRelay plugin in my personal repo). Unfortunately, this breaks any test that does equality comparison on between the result of getMsg()/takeMsg() and an IrcMsg object they crafted themselves. Additionally, the filled in nick and prefix might be inaccurate if the bot changes nick/host at the same time. So instead plugins should check for the None value. (Also, editing IrcMsgs on the fly like this isn't great, and the commit forgot to reset the `_str` attribute.) 22 October 2020, 18:04:23 UTC
5ee63eb SedRegex: test "nick, " prefix for explicit reference as well as "nick: " 18 October 2020, 20:44:05 UTC
6c138d6 SedRegex: follow config preference for strictRfc checking Also add some tests to check that nicks containing the sed separator character are handled correctly. 18 October 2020, 20:44:05 UTC
1fe4147 irclib: Fill the nick and prefix of simulated echo messages. 17 October 2020, 12:22:48 UTC
5195ff8 Web: Add new @location command, to follow HTTP redirects. Useful to un-tinify URLs. 13 October 2020, 20:28:52 UTC
d52e2aa SedRegex: rename SearchNotFound -> SearchNotFoundError 13 October 2020, 02:50:53 UTC
b05fe01 SedRegex: reword "search not found" error "Search not found in the last X *messages*" is a bit confusing because this is really counting the entire history, which includes all other lines of IRC communication (this means pings, /NAMES replies and so on). 13 October 2020, 02:48:56 UTC
9adb4f0 SedRegex: ignore regexp-like messages sent before the plugin is active Reported by fred` at #limnoria. This adds a new message tag applied to all messages SedRegex has seen, in addition to the one for marking messages parsed as a regexp. SedRegex will now look through the message history and check that all messages without the "seen" tag are not in fact a regexp, before marking it as seen so that it doesn't do repeated work. 13 October 2020, 02:45:18 UTC
ffa24bf SedRegex: add a no match test case 13 October 2020, 01:53:54 UTC
c04b31a RSS: include channel name in 'feed is announced but does not exist' error log. 10 October 2020, 09:51:56 UTC
4bd5d8e RSS: Fix announce removal to work with net+chan-specific config It only removed the value from the chan-specific value. 10 October 2020, 09:51:56 UTC
df6ebc7 Add command @scheduler remind This is a safe command for admins to allow as it's limited to text reminders, unlike the equivalent scheduler.add (+ misc.echo) which usually needs to be restricted to prevent abuse 07 October 2020, 19:42:53 UTC
4213d95 plugin setup: declare the long_description is in markdown Else PyPI rejects it because it can't parse it as ReST. 07 October 2020, 17:46:56 UTC
16b7fd9 Misc: Fix log message on invalid commands in private It showed 'Not replying to <command> in None,', since channel is None in private (unlike the former msg.args[0], which was the bot's nick). I wasn't careful enough when I replaced msg.args[0] with msg.channel across the codebase. 30 September 2020, 08:25:22 UTC
48b2476 irclib: Document classes better, especially instance attributes. 27 September 2020, 13:51:01 UTC
38b0541 Autocomplete: fix typo in README. 27 September 2020, 13:24:05 UTC
5d80b2e irclib: Fix crash when MOTD is sent again later in the connection. This can happen with this ZNC module: https://wiki.znc.in/Missingmotd or if a plugin sends a 'MOTD' command. 19 September 2020, 15:08:52 UTC
0a6bb49 irclib: Fix crash on CAP NEW. Turns out, it wasn't tested so it never worked... 19 September 2020, 14:55:51 UTC
6da0e7f Math: Fix test on Python 3.10 (nightly) 19 September 2020, 08:38:07 UTC
49e03de .travis.yml: don't install opt deps on py 3.4 and 3.5. feedparser 6 doesn't support these versions. 19 September 2020, 08:29:41 UTC
0102d64 RSS: fix tests with feedparser 6. Mocks the urllib API it uses instead of an internal function. 19 September 2020, 08:15:23 UTC
f4d6bd1 registry: forbid direct access to Regexp.setValue. This is not a regression; this was already forbidden before 23417b0675ad9de26443108c6b52a8f8b62cbe9e, and this commit was not tagged/released yet at the moment I'm writing this one. 15 September 2020, 07:59:08 UTC
ac94c52 registry: fix Regexp initialization when the default value is not None. 15 September 2020, 07:57:15 UTC
864315c Config: Don't prepend @ to config value names if their only children are networks. 09 September 2020, 13:23:58 UTC
bdbb74f BadWords: Re-allow words with a space (aka 'phrases') I disallowed it in f3f628ddba1dd640fde5db8b3defa72e54393ef7 because they couldn't be deserialized properly. This commit adds a new 'phrases' config var in addition to 'words', that is comma-separated instead of space-separated. 05 September 2020, 20:59:09 UTC
23417b0 registry: Fix regression preventing default None value for Regexp. 05 September 2020, 20:20:38 UTC
6a3be33 registry: Don't use an internal state for Regexp, it breaks net- and chan- specific values. 05 September 2020, 19:40:40 UTC
f3f628d BadWords: disallow adding words with a space in them. Deserialization splits on spaces, so they are not preserved properly. 05 September 2020, 19:37:32 UTC
97016b9 Exempt trusted users from being ignored. Closes GH-66. 05 September 2020, 14:42:28 UTC
77682cc ChannelLogger: Add tests for non-relayed messages when rewriteRelayed is True. 30 August 2020, 12:52:45 UTC
01dc289 ChannelLogger: write tests for relayed privmsg 30 August 2020, 12:42:10 UTC
7887001 ChannelLogger: write tests for privmsg and notice. 30 August 2020, 12:36:33 UTC
a33af98 ChannelLogger: add tests for getLog. 30 August 2020, 10:19:36 UTC
811ccfe ChannelLogger: update comment 29 August 2020, 20:53:25 UTC
532d38d ChannelLogger: Fix typo in variable name. Bug introduced in f253da049d03cc6185d690c8566b0c566cfe48b5. 29 August 2020, 20:49:06 UTC
6f5d8c3 Autocomplete (+ Fediverse): configure Black. 29 August 2020, 16:44:32 UTC
7710edb Autocomplete: flake8 29 August 2020, 16:39:03 UTC
d0eb48c Autocomplete: more readable test failures. 29 August 2020, 16:38:57 UTC
6f34f37 Autocomplete: return only the common prefix + one word. 29 August 2020, 16:38:39 UTC
efb4d47 Autocomplete: Only return the end of the current word (or the next one if the current word is finished) 29 August 2020, 16:19:00 UTC
fbf9f01 Autocomplete: Fix name of response tag. 29 August 2020, 14:42:19 UTC
a55fbab Autocomplete: Initial implementation. This plugin implements the first version of https://github.com/ircv3/ircv3-specifications/pull/415 29 August 2020, 14:33:29 UTC
fe84bfb callbacks: add comments to findCallbacksForArgs. 29 August 2020, 14:29:40 UTC
f253da0 ChannelLogger: rewrite relayed messages echoed by the server The former code worked only with emulated echo-message, as it depends on internal tags. In case echo-message (and labeled-response) is enabled, rely on remembering the label instead. 23 August 2020, 14:34:59 UTC
91d2a28 ChannelLogger: Fix regression preventing outgoing messages from being logged. Since eb1e27e20b206ca29cfc4d3a8bacbaf126980ebc, IrcCallback.__call__ filters out privmsgs and notices sent by the bot itself unless echoMessage=True is set. 23 August 2020, 14:32:47 UTC
5dc72d2 Rename IrcCallback.echo_message to IrcCallback.echoMessage. For consistency with 'alwaysCall' and 'noIgnore'. 23 August 2020, 14:27:22 UTC
761fc23 utils.net: Do not disable TLS certificate check when authorityCertificate is set. It makes sense that manually configuring a CA overrides this value which defaults to False. 01 August 2020, 19:46:26 UTC
57da6d0 utils.net: always check fingerprints if they are set, even if verifyCertificates is False. It makes sense that manually configuring fingerprints overrides this value which defaults to False. 01 August 2020, 19:45:08 UTC
9317a67 .travis.yml: don't test optional dependencies on pypy3 + trusty, python-cryptography can't build against the system openssl anymore. 25 July 2020, 13:46:12 UTC
8f72c41 callbacks: don't crash when the prefix is from network services. 25 July 2020, 13:29:23 UTC
5b52c73 README: point support channel to #limnoria As Supybot upstream is unmaintained, having multiple channels adds to support overhead and makes conversations harder to follow. Also, #limnoria is already the larger of the two channels. [skip ci] 23 July 2020, 18:46:13 UTC
a84eabf Factoids: Add --author filtering to @search. 14 July 2020, 16:16:10 UTC
6e47278 Google: Set User-Agent override. (#1426) With a custom (globally-configured) user-agent, Google may serve a different page, which breaks this plugin. This override disables this custom user-agent and uses a predefined one, which is known to work. 14 July 2020, 12:44:43 UTC
5315cd3 userAgents: avoid potential IndexError random.choice() should only be run after verifying the config has been set. 12 July 2020, 14:42:42 UTC
4c4d002 Fix typo. HttpUserAgent -> HttpUserAgents (#1424) Fixes typo in https://github.com/ProgVal/Limnoria/pull/1423 11 July 2020, 22:13:13 UTC
73de561 Selectable User-Agent for HTTP requests (#1423) https://github.com/ProgVal/Limnoria/issues/1382 11 July 2020, 08:25:09 UTC
e5a04aa DDG: Add region test. 06 July 2020, 20:34:29 UTC
1c1ba11 DDG: Add region and safeSearch configs. 06 July 2020, 20:34:29 UTC
902677a DDG: Fix redirect detection. 06 July 2020, 20:34:29 UTC
0284ed9 irclib: Don't error when 004 is missing umodes and chanmodes. 05 July 2020, 17:45:08 UTC
76edd31 Herald: Use time.monotonic instead of time.time. To prevent jumping backward and forward on system clock changes. 03 July 2020, 19:00:43 UTC
9081f56 Herald: Throttle default heralds. Fixes https://github.com/ProgVal/Limnoria/issues/1372 03 July 2020, 06:39:05 UTC
1389576 DDG: better document the transitions in the parser. 01 July 2020, 18:06:29 UTC
427cf82 DDG: Add debug prints in the parser. 01 July 2020, 18:05:23 UTC
59f1441 Google: Fix plugin. 01 July 2020, 08:37:22 UTC
01f166a Google: Fix plugin. 01 July 2020, 08:37:22 UTC
back to top