Valentin Lorentz
4046a1b201
ChannelIdDatabasePlugin: Make the format of showRecord() configurable.
2020-05-14 18:45:04 +02:00
Valentin Lorentz
9e57913674
plugins/__init__.py: internationalize strings.
2020-05-14 18:42:22 +02:00
Valentin Lorentz
e90b89f5b2
Owner: Honor supybot.reply.error.detailed on command syntax errors.
2020-05-13 19:58:06 +02:00
Valentin Lorentz
a9eb31f1b5
Scheduler: Preserve network across restarts.
2020-05-12 18:32:37 +02:00
Valentin Lorentz
27edb4f6c9
Fediverse: Lower timeout of networkless tests.
...
There are many calls to assertSnarfNoResponse, so there's a lot
of time wasted sleeping, while these commands are fast enough
to answer in less than 0.1s
2020-05-10 21:42:41 +02:00
Valentin Lorentz
dc2fe4d5f3
Fediverse: Deduplicate username formatting and add some error handling.
2020-05-10 21:39:15 +02:00
Valentin Lorentz
2c9e6544f5
Fediverse: Add @status.
2020-05-10 21:12:05 +02:00
Valentin Lorentz
4e74c6dbb3
Fediverse: Make URL snarfer take precedence over Web.
2020-05-10 16:19:13 +02:00
Valentin Lorentz
6ea8b6bb31
Fediverse: Move test data to its own module.
2020-05-10 15:11:10 +02:00
Valentin Lorentz
d1854cfc9b
Fediverse: Add URL snarfer.
2020-05-10 14:52:55 +02:00
Valentin Lorentz
5908b86635
Fediverse: Add option format.statuses.showContentWithCW
2020-05-10 13:37:40 +02:00
Valentin Lorentz
a52e7fa91b
Fediverse: Show content warnings.
2020-05-10 13:04:01 +02:00
Valentin Lorentz
7511984a60
Fediverse: Fix compatibility with Python 3.4 and 3.5.
2020-05-10 11:21:08 +02:00
Valentin Lorentz
27219409b4
Fediverse: Document how to enable HTTP signatures.
2020-05-10 11:17:35 +02:00
Valentin Lorentz
ec1b1be8ff
Fediverse: Add proper tests.
2020-05-10 10:44:56 +02:00
Valentin Lorentz
759fca5eba
Switch names of TimeoutDict and ExpiringDict.
...
For consistency, as TimeoutQueue has guaranteed deletion after the timeout,
like the new TimeoutDict (ex-ExpiringDict).
2020-05-10 08:42:25 +02:00
Valentin Lorentz
d205a9b5f8
Fediverse: Use ExpiringDict instead of TimeoutDict for the cache, it guarantees expiry after the timeout.
2020-05-10 08:34:36 +02:00
Valentin Lorentz
cf2142ddd2
Fediverse: Sign headers Date and Host to prevent replays.
2020-05-09 22:18:03 +02:00
Valentin Lorentz
fd702a6a92
Fediverse: Add @statuses command.
2020-05-09 21:39:58 +02:00
Valentin Lorentz
4f027f2cbf
Config: Add @searchhelp, to search in the help string of config vars and groups.
2020-05-09 21:07:23 +02:00
Valentin Lorentz
ba0738c540
Fediverse: Generate instance key automatically.
2020-05-09 20:55:57 +02:00
Valentin Lorentz
d5e241cb0c
Fediverse: run Black.
2020-05-09 20:55:28 +02:00
Valentin Lorentz
e9ff57a1c9
Fediverse: Add usernameSnarfer.
2020-05-09 20:47:11 +02:00
Valentin Lorentz
76950126b5
Fediverse: Fix Python 3.4 compatibility.
2020-05-09 20:42:38 +02:00
Valentin Lorentz
79f13f3051
Fediverse: Add @featured command.
2020-05-09 20:29:24 +02:00
Valentin Lorentz
cb679d8599
Fediverse: Bug fixes.
2020-05-09 20:29:05 +02:00
Valentin Lorentz
d20bdbb5b7
Fediverse: Remove test @post command.
2020-05-09 19:29:00 +02:00
Valentin Lorentz
70fa18d155
Fediverse: Better error on unknown profile.
2020-05-09 19:28:37 +02:00
Valentin Lorentz
e87a14826e
Fediverse: First draft.
2020-05-09 19:27:34 +02:00
Valentin Lorentz
bd1d7c9fa1
Config: Add @searchvalues.
2020-05-08 22:02:05 +02:00
Valentin Lorentz
b07376d16f
Config: Exclude network pseudo-vars from @search.
2020-05-08 22:02:05 +02:00
Valentin Lorentz
428f5ca5dc
Misc: Show a basic help when @help is called without an argument and customHelpString isn't set.
2020-05-08 12:37:07 +02:00
Valentin Lorentz
d627ba7683
Scheduler: Make @list show period and time before next run.
2020-05-06 18:15:53 +02:00
Valentin Lorentz
482658529b
Scheduler: Add --delay option, to add an offset before the first run.
...
Closes GH-397.
2020-05-02 20:02:06 +02:00
Valentin Lorentz
ad05468257
Scheduler: Preserve period offset on restarts.
...
Partial fix for GH-397.
2020-05-02 18:28:41 +02:00
Valentin Lorentz
3ecc18e659
Scheduler: Add persistence tests.
2020-05-02 17:37:46 +02:00
Valentin Lorentz
ecc2c32950
Add support for storing STS policies.
...
If on an insecure connection: reconnect.
If on a secure connect: store it and do nothing else.
For now, stored STS policies are not read when connecting to an
insecure server.
2020-05-01 19:46:19 +02:00
Valentin Lorentz
3eb20adaf2
Fix extra arguments to irc.reply() being ignored by messages returned by '@more'.
...
This change builds all the ircmsg objects directly in irc.reply, with
the original arguments.
A side effect is that if a config var is changed between the initial command
call and the call to '@more', this commit makes it use the old values,
but that shouldn't be too much of an issue.
Closes GH-1405.
2020-04-11 16:40:07 +02:00
Valentin Lorentz
5e91a68ab0
Misc: Fix drop of the last (nb_mores % plugins.Misc.mores) messages.
...
If the last batch had less than plugins.Misc.mores messages;
getting the last messages of the batch would raise an IndexError,
causing the whole batch to be dropped.
2020-04-11 16:36:14 +02:00
Valentin Lorentz
f19079c75e
Misc: rewrite @more tests to fully check the output.
...
This uncovered a few bugs; next commits will fix them.
2020-04-11 16:09:24 +02:00
Valentin Lorentz
37a7029618
SedRegex: when looking up config vars, strip statusmsg prefix from channel, and use network name for lookup.
2020-04-11 15:04:11 +02:00
Valentin Lorentz
0b0da9716d
callbacks: honor network-specificity of supybot.reply.whenAddressedBy.
...
A side-effect is that plugins should now pass 'irc' instead of 'irc.nick'
when they call 'callbacks.addressed()'.
2020-04-11 15:00:46 +02:00
Valentin Lorentz
2953126fca
test: Make assertNoResponse default to a non-zero timeout for threaded plugins.
...
Else it doesn't reliably check there is no response.
2020-04-11 00:17:16 +02:00
Valentin Lorentz
7e48ba0ba8
SedRegex: Use assertSnarfNoResponse instead of assertNoResponse.
...
assertNoResponse was only passing by accident on faster machines.
2020-04-11 00:16:01 +02:00
Valentin Lorentz
2bbd43fd85
ChannelStats: Skip checks of nick in irc.state.channels[channel] when channel databases are linked.
...
It crashes with KeyError because databases.plugins.channelspecific sets
channel='#', which is a non-existent channel.
And it doesn't make sense to check for presence in channel if the DB is
shared between all channels anyway.
2020-04-07 21:20:01 +02:00
James Lu
c212ee0e5e
SedRegex: allow matching text with the trailing suffix missing
...
From: 866875ec5d
2020-04-02 10:00:40 -07:00
James Lu
c399272173
SedRegex: make callback matching case sensitive
...
This fixes a TypeError issue mentioned in d296bbb949
.
2020-04-02 10:00:39 -07:00
James Lu
13c03716c5
Revert "SedRegex: Make pattern case-insensitive."
...
This reverts commit d296bbb949
.
2020-04-02 09:47:32 -07:00
Valentin Lorentz
d296bbb949
SedRegex: Make pattern case-insensitive.
...
To fixes a mismatch between callbacks, which use flags=re.I by default,
and SED_REGEX.search which isn't; so 'S/foo/bar/' errored because it
matches case-insensitively so _unpack_sed is entered, but then _unpack_sed
fails to match it case-sensitively.
2020-04-02 17:30:57 +02:00
Valentin Lorentz
e2d72c5a43
Fix msgfmt warnings.
2020-03-26 22:10:28 +01:00