Commit Graph

11797 Commits

Author SHA1 Message Date
Valentin Lorentz ef081746b1 commands: Silence noisy logging of command evaluation 2022-07-29 10:29:48 +02:00
Valentin Lorentz ee60431396 Add debug logging when skipping SASL mechanisms
It is useful to figure out what you forgot to configure
2022-07-29 10:03:39 +02:00
Valentin Lorentz f549ec12c6 Add debug logging of SASL mechanisms 2022-07-29 09:45:09 +02:00
Valentin Lorentz 796f717d09 requirements.txt: Classify and provide a rationale for each dependency 2022-07-20 18:31:24 +02:00
Valentin Lorentz 7b9a944603 Remove dependency on 'mock'
It is a backport of unittest.mock for Python versions before 3.3,
which we do not support anymore.
2022-07-20 18:25:27 +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
Pratyush Desai 964acac058 for #1490 extend usage examples 2022-07-13 08:56:30 +02:00
James Lu 65d88440c2 supybot-plugin-doc: default to RST
None of the current maintainers are sure what stx is??
2022-07-09 14:24:13 -07:00
James Lu 95f6b1698e Aka, Alias: replace obsolete LastFM example 2022-07-09 14:15:57 -07:00
James Lu 988fe08945 .gitignore: add doc-* paths from supybot-plugin-doc 2022-07-09 14:15:33 -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
Valentin Lorentz 3ecb37de10 test_callbacks: Add PluginRegexpTestCase.testReply to check basic behavior 2022-07-06 22:05:30 +02:00
Valentin Lorentz 6a943b8342 test_callbacks: Fix PluginRegexpTestCase to actually check regexp callbacks 2022-07-06 22:04:33 +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
Valentin Lorentz b3443a5a4c setup: Fix install of subpackages when pip-installed from git repositories
It seems setuptools needs to be explicitly told to include subpackages
in this case.
2022-06-22 20:31:59 +02:00
SamStrongTalks d04e8161d5
Add ability to exclude channel from self censoring (#1508) 2022-06-17 16:44:12 +02:00
Valentin Lorentz 6379a9d43a supybot-reset-password: Update help string to match the man page 2022-06-17 09:11:35 +02:00
Valentin Lorentz a65960bfdf Add missing man page for supybot-reset-password. 2022-06-17 09:09:20 +02:00
Valentin Lorentz fd04fccaec i18n: Validate value of supybot.language 2022-06-17 00:29:38 +02:00
Valentin Lorentz 93370b6f0e utils: Rewrite i18n initialization
The previous implementation was messy and needlessly complicated

This simplifies the logic and removes hackiness by making utils/str.py
handle internationalization logic itself, instead of bending over
backwards to load logic from the parent package at import time.
2022-06-17 00:05:51 +02:00
Valentin Lorentz 4a620bf7f0 Socket: Use the right variable to initialize the reconnect delay 2022-06-16 22:35:08 +02:00
Valentin Lorentz 94d669ebec Make the minimum reconnect delay configurable 2022-05-28 13:53:05 +02:00
Valentin Lorentz 32198d42c2 i18n: Skip fuzzy strings
The German translation currently has at least one fuzzy string
with a missing %s; and several translations are completely wrong.
2022-04-27 22:15:43 +02:00
Valentin Lorentz 109f938b0c Implement +draft/channel-context 2022-04-22 18:30:31 +02:00
Valentin Lorentz 1d4a43ed1b AutoMode: Fix crash on servers without ISUPPORT PREFIX 2022-04-16 12:05:43 +02:00
Valentin Lorentz 94c7c7dfa3 supybot-plugin-create: Remove fallback for missing supybot.i18n
It is unlikely new plugins will be used on stock Supybot or Gribble.
2022-04-08 13:02:31 +02:00
Valentin Lorentz 9ec4eb9563 irclib: Fix assertion failure on InspIRCd when Sigyn plugin is loaded 2022-04-08 12:44:42 +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 088d0f54dd irclib: Catch exception from outFilter, as with inFilter 2022-03-17 22:29:10 +01:00
Valentin Lorentz 862fca1602 conf: Use imports instead of sys.modules to detect module availability
`conf.supybot.databases()` may be called without any plugin supporting
sqlite3 being loaded yet, which causes `sqlite3` to be missing from
`sys.modules`; so it wouldn't be used by plugins loaded afterward.
2022-03-06 13:39:47 +01:00
Valentin Lorentz d58d8d4a71 conf: Prioritize sqlite3 over sqlalchemy in supybot.databases
It's usually a better choice for plugins that implement both
2022-03-06 13:39:41 +01:00
Valentin Lorentz 9e995d8ac2 conf: Remove 'sqlite' module from supybot.databases
It is wholy replaced by 'sqlite3', now
2022-03-06 13:39:19 +01:00
PeGaSuS 80b26c013d
Fix typo in conf.py (#1501)
Fixed typo that lead to a wrong variable name being pointed out
2022-03-06 12:30:02 +01: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 78bdc469e4 htmlToText: Don't replace inline element tags with spaces
They are not meant to be displayed like this, so they look weird sometimes.
For example, Mastodon splits long links between spans, so the Fediverse plugin
always displayed them broken.
2022-02-19 21:00:51 +01:00
Valentin Lorentz bc76f7ead4 Fix utils.time.iana_timezone on python < 3.9 2022-02-17 12:18:13 +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 f13d275076 sandbox/update_pot.py: Run msgmerge as well 2022-02-06 00:12:42 +01:00
Valentin Lorentz 24f0e21319 sandbox/update_pot.py: Also generate .pot file for the core 2022-02-06 00:11:20 +01:00
Valentin Lorentz 736430de5b Modernize sandbox/update_plugins_messagespot.py 2022-02-05 23:51:04 +01:00
Valentin Lorentz 5b7b2bd85b Fix chmods 2022-02-05 23:37:39 +01:00