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
Aminda Suomalainen
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
Valentin Lorentz
2cfc821203
Web: Allow configuring higher peekSize on Youtube
2022-10-28 14:18:52 +02:00
Valentin Lorentz
d0a484c11c
Sort remaining nondeterministc sets of values
...
Closes GH-1516
2022-10-20 18:35:58 +02:00
Valentin Lorentz
8c17505221
User: Sort output of @capabilities
...
It's more readable than a random order.
2022-10-13 21:46:50 +02:00
Valentin Lorentz
a6aa5530dd
Ensure files written with AtomicFile are read in UTF8
...
With some locale configurations (not that uncommon on CentOS), open() may
default to non-UTF8 encodings (eg. ANSI_X3.4-1968).
This is usually not an issue, because we use open() both for writing and
reading. However, AtomicFile implicitly enforces UTF8; which needs to be
mirrored when reading.
2022-10-06 09:49:42 +02:00
James Lu
b1cfb87e71
String: allow multi-character inputs in "ord" and "unicodename"
...
This allows them to support emoji ZWJ sequences, which render like one character but are actually multiple.
2022-10-06 08:31:22 +02:00
Valentin Lorentz
169824a9d2
Math: make `@icalc` fail early when result is too large
...
This avoids inconsistent errors between CPython 3.10.7 and older
versions; and the result would not be readable anyway.
Closes GH-1517.
2022-09-18 20:06:34 +02:00
Valentin Lorentz
bc3a441888
Poll: Make answers case-insensitive
2022-09-18 19:25:48 +02:00
Valentin Lorentz
200acdfa93
registry: Normalize values before checking they are valid
...
Otherwise, normalization is useless, and gives a surprising error message,
such as:
```
<user> config plugins.rss.sortfeeditems oldestfirst
<bot> Error: Valid values include 'asInFeed', 'oldestFirst', 'newestFirst', 'outdatedFirst', and 'updatedFirst', not 'oldestFirst'.
```
2022-09-07 12:31:22 +02:00
Valentin Lorentz
86b389618f
MessageParser: Ignore chathistory batches
...
To be consistent with commands and PluginRegexp (snarfers)
2022-08-16 00:23:33 +02:00