Valentin Lorentz
160bcc8b6b
Revert "irclib: Fill the nick and prefix of simulated echo messages."
...
This reverts commit 1fe414764c
.
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.)
2020-10-22 20:04:23 +02:00
James Lu
5ee63ebe96
SedRegex: test "nick, " prefix for explicit reference as well as "nick: "
2020-10-18 13:44:05 -07:00
James Lu
6c138d66ba
SedRegex: follow config preference for strictRfc checking
...
Also add some tests to check that nicks containing the sed separator character are handled correctly.
2020-10-18 13:44:05 -07:00
Valentin Lorentz
1fe414764c
irclib: Fill the nick and prefix of simulated echo messages.
2020-10-17 14:22:48 +02:00
Valentin Lorentz
5195ff8e12
Web: Add new @location command, to follow HTTP redirects.
...
Useful to un-tinify URLs.
2020-10-13 22:28:52 +02:00
James Lu
d52e2aa829
SedRegex: rename SearchNotFound -> SearchNotFoundError
2020-10-12 19:50:53 -07:00
James Lu
b05fe01d66
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).
2020-10-12 19:48:56 -07:00
James Lu
9adb4f0e8c
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.
2020-10-12 19:45:18 -07:00
James Lu
ffa24bf56e
SedRegex: add a no match test case
2020-10-12 18:53:54 -07:00
Valentin Lorentz
c04b31ae32
RSS: include channel name in 'feed is announced but does not exist' error log.
2020-10-10 11:51:56 +02:00
Valentin Lorentz
4bd5d8eb33
RSS: Fix announce removal to work with net+chan-specific config
...
It only removed the value from the chan-specific value.
2020-10-10 11:51:56 +02:00
mogad0n
df6ebc78a0
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
2020-10-07 21:42:53 +02:00
Valentin Lorentz
4213d95356
plugin setup: declare the long_description is in markdown
...
Else PyPI rejects it because it can't parse it as ReST.
2020-10-07 19:46:56 +02:00
Valentin Lorentz
16b7fd9f37
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.
2020-09-30 10:25:22 +02:00
Valentin Lorentz
48b24769c2
irclib: Document classes better, especially instance attributes.
2020-09-27 15:51:01 +02:00
Valentin Lorentz
38b0541f04
Autocomplete: fix typo in README.
2020-09-27 15:24:05 +02:00
Valentin Lorentz
5d80b2eec9
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.
2020-09-19 17:08:52 +02:00
Valentin Lorentz
0a6bb49fe6
irclib: Fix crash on CAP NEW.
...
Turns out, it wasn't tested so it never worked...
2020-09-19 16:55:51 +02:00
Valentin Lorentz
6da0e7fc5f
Math: Fix test on Python 3.10 (nightly)
2020-09-19 10:38:07 +02:00
Valentin Lorentz
49e03decc4
.travis.yml: don't install opt deps on py 3.4 and 3.5.
...
feedparser 6 doesn't support these versions.
2020-09-19 10:29:41 +02:00
Valentin Lorentz
0102d64cf4
RSS: fix tests with feedparser 6.
...
Mocks the urllib API it uses instead of an internal function.
2020-09-19 10:15:23 +02:00
Valentin Lorentz
f4d6bd11be
registry: forbid direct access to Regexp.setValue.
...
This is not a regression; this was already forbidden before
23417b0675
, and this commit was not
tagged/released yet at the moment I'm writing this one.
2020-09-15 09:59:08 +02:00
Valentin Lorentz
ac94c5291e
registry: fix Regexp initialization when the default value is not None.
2020-09-15 09:57:15 +02:00
Valentin Lorentz
864315cc5f
Config: Don't prepend @ to config value names if their only children are networks.
2020-09-09 15:23:58 +02:00
Valentin Lorentz
bdbb74f046
BadWords: Re-allow words with a space (aka 'phrases')
...
I disallowed it in f3f628ddba
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.
2020-09-05 22:59:09 +02:00
Valentin Lorentz
23417b0675
registry: Fix regression preventing default None value for Regexp.
2020-09-05 22:20:38 +02:00
Valentin Lorentz
6a3be33fcd
registry: Don't use an internal state for Regexp, it breaks net- and chan- specific values.
2020-09-05 21:40:40 +02:00
Valentin Lorentz
f3f628ddba
BadWords: disallow adding words with a space in them.
...
Deserialization splits on spaces, so they are not preserved properly.
2020-09-05 21:37:32 +02:00
Valentin Lorentz
97016b9c55
Exempt trusted users from being ignored.
...
Closes GH-66.
2020-09-05 16:42:28 +02:00
Valentin Lorentz
77682cc50b
ChannelLogger: Add tests for non-relayed messages when rewriteRelayed is True.
2020-08-30 14:52:45 +02:00
Valentin Lorentz
01dc289cd6
ChannelLogger: write tests for relayed privmsg
2020-08-30 14:42:10 +02:00
Valentin Lorentz
7887001ea3
ChannelLogger: write tests for privmsg and notice.
2020-08-30 14:36:33 +02:00
Valentin Lorentz
a33af98af1
ChannelLogger: add tests for getLog.
2020-08-30 12:19:36 +02:00
Valentin Lorentz
811ccfe3bf
ChannelLogger: update comment
2020-08-29 22:53:25 +02:00
Valentin Lorentz
532d38d6da
ChannelLogger: Fix typo in variable name.
...
Bug introduced in f253da049d
.
2020-08-29 22:49:06 +02:00
Valentin Lorentz
6f5d8c3011
Autocomplete (+ Fediverse): configure Black.
2020-08-29 18:44:32 +02:00
Valentin Lorentz
7710edb5fe
Autocomplete: flake8
2020-08-29 18:39:03 +02:00
Valentin Lorentz
d0eb48c90e
Autocomplete: more readable test failures.
2020-08-29 18:38:57 +02:00
Valentin Lorentz
6f34f377e5
Autocomplete: return only the common prefix + one word.
2020-08-29 18:38:39 +02:00
Valentin Lorentz
efb4d476a5
Autocomplete: Only return the end of the current word (or the next one if the current word is finished)
2020-08-29 18:19:00 +02:00
Valentin Lorentz
fbf9f0166d
Autocomplete: Fix name of response tag.
2020-08-29 16:42:19 +02:00
Valentin Lorentz
a55fbab591
Autocomplete: Initial implementation.
...
This plugin implements the first version of
https://github.com/ircv3/ircv3-specifications/pull/415
2020-08-29 16:33:29 +02:00
Valentin Lorentz
fe84bfbbb6
callbacks: add comments to findCallbacksForArgs.
2020-08-29 16:29:40 +02:00
Valentin Lorentz
f253da049d
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.
2020-08-23 16:34:59 +02:00
Valentin Lorentz
91d2a2860f
ChannelLogger: Fix regression preventing outgoing messages from being logged.
...
Since eb1e27e20b
, IrcCallback.__call__ filters out
privmsgs and notices sent by the bot itself unless echoMessage=True is set.
2020-08-23 16:32:47 +02:00
Valentin Lorentz
5dc72d2b34
Rename IrcCallback.echo_message to IrcCallback.echoMessage.
...
For consistency with 'alwaysCall' and 'noIgnore'.
2020-08-23 16:27:22 +02:00
Valentin Lorentz
761fc2353e
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.
2020-08-01 21:46:26 +02:00
Valentin Lorentz
57da6d04e2
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.
2020-08-01 21:45:08 +02:00
Valentin Lorentz
9317a67345
.travis.yml: don't test optional dependencies on pypy3 + trusty, python-cryptography can't build against the system openssl anymore.
2020-07-25 15:46:12 +02:00
Valentin Lorentz
8f72c418e5
callbacks: don't crash when the prefix is from network services.
2020-07-25 15:29:23 +02:00