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
Valentin Lorentz
fccb4f705b
RSS: Log feed URL when feedparser.parse raises exceptions
2022-08-07 19:17:15 +02:00
Valentin Lorentz
4db32e24a5
Ctcp: Fix 'RuntimeError: dictionary changed size during iteration'
2022-08-06 15:09:10 +02:00
Valentin Lorentz
0780624450
Time: Fix typo
2022-08-06 15:08:51 +02:00
Valentin Lorentz
b8dce0d7db
Time: Skip new assertions on Python 3.6 so testSeconds passes
2022-08-02 13:16:21 +02:00
Valentin Lorentz
8f837a676d
Time: Add support for omitting space in @seconds
2022-08-02 13:01:08 +02:00
Valentin Lorentz
cd0f9f2628
Polls: Make nick matching case-insensitive
...
This prevents the same nick from voting twice by changing
the capitalization
2022-07-31 09:04:27 +02:00
Valentin Lorentz
28c52c2818
Poll: Add @poll list command
2022-07-30 21:25:47 +02:00
Valentin Lorentz
2afa3c49a1
Fediverse: run black
2022-07-30 21:23:10 +02:00
Valentin Lorentz
461c091b94
Fediverse: Hide channel actor on PeerTube
2022-07-20 18:15:51 +02:00
Valentin Lorentz
34f8842273
Fediverse: Add support for descriptions with line breaks
2022-07-20 18:10:14 +02:00
Valentin Lorentz
2df2bc28d0
Fediverse: Add support for videos
2022-07-20 17:57:29 +02:00
Valentin Lorentz
d67fb2a8b2
Autocomplete, Fediverse, Geography, Poll: Run Black
2022-07-20 17:53:09 +02:00
pratyushd
5d8f59bf80
add conditional to respond acc to kick being true or not ( #1512 )
...
Co-authored-by: Pratyush Desai <pratyush.desai@liberta.casa>
2022-07-13 21:02:28 +02:00
964acac058
for #1490 extend usage examples
2022-07-13 08:56:30 +02:00
James Lu
95f6b1698e
Aka, Alias: replace obsolete LastFM example
2022-07-09 14:15:57 -07:00
Valentin Lorentz
96b7f51e71
callbacks: Ignore chathistory batches in PluginRegexp
...
This is consistent with what we already do with commands; and generally
makes sense, as we don't want to re-send titles and others when cycling
on UnrealIRCd (which includes a chathistory batch when joining when
chmode +H is set, despite umode +B)
2022-07-06 22:07:37 +02:00
James Lu
d00113e92d
PluginDownloader: replace automatic 2to3 step with a simple warning
...
The previous heuristic runs into false positives when imports are merged in __init__.py
More broadly though, it's unlikely automatic 2to3 is particularly useful in 2022 - plugins that were written ~10 years ago are unlikely to work even if syntax errors are fixed.
2022-06-23 22:31:17 +02:00
James Lu
8ccf2c7175
PluginDownloader: drop legacy Python 2-only repos
...
Most of these haven't been updated in ~10 years and are unlikely to work out of the box today (obsolete web APIs, etc.)
2022-06-23 22:31:17 +02:00
SamStrongTalks
d04e8161d5
Add ability to exclude channel from self censoring ( #1508 )
2022-06-17 16:44:12 +02:00
Valentin Lorentz
1d4a43ed1b
AutoMode: Fix crash on servers without ISUPPORT PREFIX
2022-04-16 12:05:43 +02:00
Valentin Lorentz
eb6fc932d9
Web: Fix matching for youtube
2022-04-04 23:29:47 +02:00
Valentin Lorentz
21ea999e3c
Time: Add support for UTC offsets as tztime arguments.
2022-04-04 22:07:06 +02:00
Valentin Lorentz
4f3d6fc39f
Geograpy: Fix formatting of negative non-integral offsets (and improve others)
2022-04-04 22:06:19 +02:00
Valentin Lorentz
66d986e820
Web: Add overrides to support Youtube and Reddit; remove Twitter from tests.
2022-03-03 22:16:53 +01:00
Valentin Lorentz
76f7eced5d
Fediverse: Update tests broken by previous commit
2022-02-19 21:18:24 +01:00
Valentin Lorentz
4e60d8812d
Misc: Make @last handle --regexp in a single process for all messages
...
Spawning one process for each message was a little silly, considering
there can be thousands of messages.
Plus, some instances do reach the timeout after running for a few weeks,
so we really need to fix this.
Ideally, `regexp_wrapper` should also be removed from other plugins
(Todo, Notes, ...) as they have the same issues, but this will do for
now.
2022-02-16 21:27:28 +01:00
Valentin Lorentz
4b892c2b1d
all: Update .pot and .po files
2022-02-06 00:14:47 +01:00
Valentin Lorentz
5b7b2bd85b
Fix chmods
2022-02-05 23:37:39 +01:00
James Lu
0ed743bb8e
Format: allow empty substrings in 'replace'
...
This allows for easy substring removal without having to use regex.
2022-01-28 17:50:31 -08:00
Valentin Lorentz
da549e4fde
Geography: Print current UTC offset next to timezones.
2022-01-16 20:45:41 +01:00
Valentin Lorentz
880efbbd27
Merge branch 'geography' into testing
2022-01-16 19:44:22 +01:00
Valentin Lorentz
28b28fe3cf
Config: Fix crash happening since the previous commit
2022-01-11 20:38:14 +01:00
Valentin Lorentz
dcca9f9637
RSS: Make feed announces actually network-specific
...
.getSpecific() always returned the channel-specific but non-network-specific var,
unless the channel-specific and network-specific one was manually set.
2022-01-11 20:13:39 +01:00
Valentin Lorentz
74f86654b1
Remove fallbacks for old Python versions.
2022-01-01 18:11:36 +01:00
Valentin Lorentz
7fade191c3
Google: Update suggestions in the deprecation warning
...
1. DDG is now built-in
2. GoogleCSE is actually limited to site-specific search
2021-12-23 20:09:49 +01:00
Valentin Lorentz
caa5aa3d84
Config: Replace inconsistent terminology
2021-12-19 21:11:26 +01:00
Valentin Lorentz
e223b507dd
utils.time: Add support for timezones without a slash.
...
eg. UTC, CET, ...
2021-12-07 23:30:16 +01:00
Valentin Lorentz
ed9dffdd7f
supybot-plugin-doc: Remove extra space + regenerate all READMEs.
2021-12-04 03:19:12 +01:00
Valentin Lorentz
828fff9cc0
supybot-plugin-doc: Add missing newlines + regenerate all READMEs.
2021-12-04 02:50:28 +01:00
Valentin Lorentz
f1824fc7db
Config: Fix crash when reseting registry.Pattern
2021-12-03 17:28:05 +01:00
Valentin Lorentz
baa8cda814
Fix bypassed cache invalidation checks, causing '@config reload' to be partially ignored
...
`registry.Value.__call__()` is a wrapper around access to
`registry.Value.value`, that checks if the value was set before the latest
call to `registry.open_registry`; and updates the `value` if needed.
When accessing `registry.Value.value` directly, this cache can't be
invalidated, causing the old value to still be used, until the next call
to `registry.Value.__call__()`.
2021-12-03 16:56:06 +01:00