Commit Graph

5987 Commits

Author SHA1 Message Date
Valentin Lorentz
d435442b39 Admin: Actually clean up test channel from configuration
943f39745d did not actually because:

1. the 'part' command is not available (it's in the Channel plugin)
   so it just didn't do anything
2. one of the tests was missing the cleanup
2024-04-26 09:04:45 +02:00
Valentin Lorentz
943f39745d Admin: Fix leftover state change in testPart
it affects Channel's testPart
2024-04-18 19:47:22 +02:00
Valentin Lorentz
c8030be71a Web: Need to download even more Javascript from Youtube 2024-04-18 19:33:55 +02:00
Valentin Lorentz
03c638705f Channel: Fix error in @part when channel is configured but not joined
This typically happens when banned from the channel, and returning an error
gives bot admins the impression @part did not remove the channel from
the auto-join list
2024-04-12 19:17:13 +02:00
Valentin Lorentz
ca8565b6d8 RSS: Don't log tracebacks for HTTP errors 2024-03-09 11:47:10 +01:00
Valentin Lorentz
a2e55ca1f6 RSS: Update link to feedparser 2024-01-03 18:37:11 +01:00
Valentin Lorentz
d55a08c63e Regenerate plugin READMEs 2024-01-03 18:37:11 +01:00
Stathis Xantinidis
5ca0fcd87c Changed whois provider domain to whois.iana.org
The previous was giving timeouts
2023-12-15 22:18:10 +01:00
Valentin Lorentz
06c88581ec Services: Improve error on missing password or NickServ nick 2023-11-18 22:02:36 +01:00
Valentin Lorentz
fffdd82571 Fediverse: Catch URLErrors raised when checking webfinger support 2023-10-29 12:40:48 +01:00
Valentin Lorentz
689c633e92 Web: Fix crash on socket.timeout on snarfed URLs 2023-10-29 12:32:33 +01:00
Valentin Lorentz
3f9ab4b89c Web: Fix crash on trailing ';' in Content-Type 2023-10-28 09:47:55 +02:00
Valentin Lorentz
faa6474271 Geography: Add support for OSM node ids 2023-10-27 11:31:06 +02:00
Valentin Lorentz
2008088a07 RSS: Copy $summary to $description on Atom feeds
Otherwise $description would remain feedparser's default, which is
unescaped <content>; but $description is the only usable one on RSS
feeds.
2023-10-17 19:57:29 +02:00
Valentin Lorentz
04f0d70113 RSS: Add support for $content/$summary_detail/$title_detail 2023-10-17 19:00:54 +02:00
Valentin Lorentz
e7824213ae Debug: Remove useless shebang 2023-10-17 19:00:54 +02:00
4ed318d06f NickCapture: fix typo thus -> this 2023-10-16 21:10:34 +02:00
Matias Wilkman
7cd700b4ae
Seen: show when the target is currently in the channel (#1559) 2023-10-09 19:31:50 +02:00
Matias Wilkman
5ccc035021
report channel counts and modes in status (#1562) 2023-10-05 21:13:55 +02:00
Valentin Lorentz
119a93a744 PluginDownloader: Fix typo 2023-09-24 19:58:10 +02:00
Matias Wilkman
fa01b019ed added a new repo for plugindownloader 2023-09-24 08:07:56 +02:00
Valentin Lorentz
850b4c3f69 MessageParser: Log and skip current regexp on error 2023-09-22 14:20:55 +02:00
famfo
91accc0458
SedRegex: Implement changing of sed response per channel (#1556)
Fixes #1433

Co-authored-by: Val Lorentz <progval+github@progval.net>
Co-authored-by: James Lu <hello@jlu5.com>
2023-09-19 08:56:36 -07:00
Valentin Lorentz
5ab7c8a749 Services: I still didn't test that code 2023-09-08 23:54:47 +02:00
Valentin Lorentz
f905036d7a Services: Add missing import
It's needed since acad80296a
2023-09-08 22:47:54 +02:00
Eric Mertens
9e82e3f16c Add command to manually initiate SASL 2023-09-05 20:13:21 +02:00
Valentin Lorentz
acad80296a Services: Update 'identified' state using SASL status
Otherwise features like auto-opping are permanently unavailable when using
SASL instead of NickServ IDENTIFY
2023-08-29 22:49:18 +02:00
Valentin Lorentz
5357f50bed Geography: Replace Canada/Newfoundland with America/St_Johns in tests
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1040997
2023-08-10 08:02:50 +02:00
Valentin Lorentz
71ae97ef5e MessageParser: On syntax error, detail which action caused the error
This can help users debug it.
2023-08-02 20:39:00 +02:00
Valentin Lorentz
bb3d456fdf RSS: Add support for feed attributes in template string
See https://feedparser.readthedocs.io/en/latest/common-rss-elements.html#accessing-common-channel-elements
2023-07-26 14:21:34 +02:00
Valentin Lorentz
8168c52939 RSS: Fix traceback in tests with new feedparser versions 2023-07-26 14:20:45 +02:00
James Lu
b4bf877e77 Network: accept empty args in 'command' and 'cmdall'
Closes GH-1541
2023-06-30 19:40:49 -07:00
Valentin Lorentz
97d67777d6 RSS: Sort entries in @rss responses as in announces 2023-06-08 19:58:50 +02:00
Valentin Lorentz
ac84fa4d68 ircquote: Use labeled-response when possible to reply to the user 2023-06-08 19:55:47 +02:00
Tasos Sahanidis
6021f0e6d9
String: Display regex error on invalid group reference (#1537) 2023-06-04 12:51:27 -07:00
James Lu
416a05e326
Route commands from Network.command back to the original network (#1540)
Add a replyIrc parameter to ReplyIrcProxy to run a command on one network, but route the replies to another.
This fixes a long standing issue where replies for remote commands are often lost to the void, as the nick of the caller may not exist on the target network (or worse, it could belong to a completely unrelated person).

Closes GH-556.

Co-authored-by: Val Lorentz <progval+git@progval.net>
2023-06-04 12:39:56 -07:00
Valentin Lorentz
922b00c8c3 Fediverse: Use default headers
Some instances behind Cloudflare block requests without a User-Agent
header.
2023-01-28 13:00:16 +01:00
Valentin Lorentz
efed7d8081 Move the 'ignore=False' trick from callbacks to Scheduler
I fear putting it in callbacks would be overzealous and reset it
within the processing of the same message, eg. when using conditional
to set the 'ignore' tag before other nested commands run.
2023-01-19 10:31:13 +01:00
Valentin Lorentz
f409111872 callbacks: Fix interference between Scheduler.repeat, Anonymous, and nested commands
Specifically, the issue is with Anonymous using irc.noReply() in
the first call, preventing nested commands' result from being used.

Before this commit, the second and third responses in the test would be
only "1" and "2" instead of "1 ['foo']" and "2 ['foo']".
2023-01-19 10:19:01 +01:00
Valentin Lorentz
b42596a021 Regenerate READMEs 2023-01-12 22:24:16 +01:00
Valentin Lorentz
02a0204f80 Services: Improve doc of plugins.Services.nicks 2023-01-12 22:24:16 +01:00
Valentin Lorentz
501770e544 Fediverse: Add support for missing host-meta document 2022-12-28 15:12:18 +01:00
James Lu
21a2ace7a1 Services: allow adjusting GHOST command
Anope 2.x has renamed this to /ns recover

Closes GH-1510
2022-12-24 08:53:26 +01:00
Valentin Lorentz
1a7c14f4b3 Web: Decode using the charset advertized in response headers
And fall back to the sniffing when not present
2022-11-26 09:06:47 +01:00
Valentin Lorentz
e6c4da0fff Channel: Fix and re-enable disabled tests 2022-11-23 19:25:22 +01:00
Valentin Lorentz
314fad36eb Modernize tests
Thanks to https://pypi.org/project/teyit/
2022-11-20 19:33:23 +01:00
Valentin Lorentz
fd248dc521 Channel: Fix documentation, --exact cannot be combined 2022-11-20 19:07:44 +01:00
Valentin Lorentz
d7d97d3b93 Google: Remove broken commands 2022-11-10 01:48:49 +01:00
Valentin Lorentz
4da1291876 URL: Lazily deserialize records from the end in @last
Before this commit, the plugin first fetched a list of all
(deserialized) records in a list, then reversed the list, and iterated
on the reverse list.
This proved to be slow, with most of the time being spent in
`dbi.DB._newRecord` (which essentially deserializes one list of CSV).

After this commit, the list is reversed first, then the plugin iterates
on its generator, which calls `_newRecord` on records as they are
requested.

This means that when there are many URLs in the database, `@last` does
not need to waste time deserializing most records, when the result is
near the end (and if the result is the first record, then it does
exactly as much work as before).
2022-10-30 20:46:35 +01:00
Valentin Lorentz
f4ac7f88fe RSS: Don't crash on invalid variable name
It's confusing not to have feedback on IRC when a variable name
is typoed.
2022-10-28 22:41:43 +02:00