Valentin Lorentz
3c1c4a69e9
callbacks: Make snarfers' output paginatable with @more
...
by moving the 'smart' reply() method from NestedCommandsIrcProxy
to ReplyIrcProxy.
There is no reason only commands should have a paginated output
and not snarfers defined in PluginRegexp.
2021-04-16 23:38:44 +02:00
Valentin Lorentz
24ca278b93
Reorganize the kwargs of _sendReply
...
I think it's more readable and modular this way
2021-04-16 23:11:02 +02:00
Valentin Lorentz
ab3dbcfecd
Fix computation of message overhead in multiline batches.
2021-04-16 23:09:01 +02:00
Valentin Lorentz
6b1460e160
Log loading times for each plugin
...
It makes it easier to debug long startup times.
2021-04-11 16:35:42 +02:00
Valentin Lorentz
fd873fa0a5
httpserver: Don't serve_forever when documenting
...
1. it binds the port, which is useless while documenting
2. in some circumstances, it prevents supybot-plugin-doc from exiting
(because the server threads are still running)
2021-04-11 13:24:10 +02:00
Valentin Lorentz
9869136289
src/setup: Add support for ReST readmes by default
2021-04-11 10:38:05 +02:00
Valentin Lorentz
cd02444f87
supybot-plugin-doc: Add labels for all command and config variables
...
So they can be referenced from elsewhere in the doc.
2021-04-06 00:33:07 +02:00
Valentin Lorentz
4fc6580a09
callbacks: Document replySuccess() and error()
2021-04-05 22:47:44 +02:00
Valentin Lorentz
f11684a1cf
callbacks: Add/improve method docstrings
2021-04-05 20:34:49 +02:00
Valentin Lorentz
66ba7cb020
Plugin: Only show the first paragraph; as the whole help can be very long.
2021-04-05 17:42:40 +02:00
Valentin Lorentz
833af36b08
all plugins: auto-generate READMEs
...
Starting with this commit, there should be no "original" text
in READMEs.
Instead, the entire text should be in docstrings, and READMEs
should be automatically generated from these docstrings.
Motivation:
* The same help is available both via IRC and in the README
(although the README can be more detailed, as only the first
paragraph will be shown on IRC)
* This will allow auto-generating plugin help on docs.limnoria.net
using the same content as the README, as it's sourced from the
docstrings
Additionally, this converts all READMEs from Markdown to ReST,
because the documentation already uses ReST, and other docstrings
in the codebase are in ReST for this reason.
2021-04-05 17:42:31 +02:00
Valentin Lorentz
76b6c56919
supybot-plugin-doc: Fix various edge case issues in the ReST output
2021-04-05 17:40:57 +02:00
Valentin Lorentz
113fc74ca1
Relay: Mention other plugins in the README.
2021-04-05 15:54:13 +02:00
Valentin Lorentz
21657f31ee
Aka, Alias: Remove mentions of Alias in the Aka documentation, and explain Alias is deprecated
2021-04-05 15:00:02 +02:00
Valentin Lorentz
49eef1cd7d
Misc: Make @help mention '@plugin help' when relevant.
2021-04-05 14:39:41 +02:00
Valentin Lorentz
9323302704
Socket: Recover from socks.GeneralProxyError exceptions.
2021-04-05 13:41:29 +02:00
Valentin Lorentz
16fc2aef93
supybot-plugin-doc: Add option --output-filename
...
It can be used like this to generate README.rst files:
```
supybot-plugin-doc --plugins-dir plugins/ --format rst --output-filename='plugins/$name/README.$format'
```
2021-04-05 12:27:33 +02:00
Valentin Lorentz
524e409322
supybot-plugin-doc: Fix bugs with --plugins-dir
2021-04-05 12:26:47 +02:00
Valentin Lorentz
6b9de3d09d
supybot-plugin-doc: Add explicit target for each plugin reference
...
It can be useful to reference it from elsewhere in the doc
2021-04-05 12:26:47 +02:00
Valentin Lorentz
5b98503fd3
supybot-plugin-doc: Add config option for the page title
2021-04-05 11:32:09 +02:00
Valentin Lorentz
a7fb46f526
supybot-plugin-doc: Update value of supybot.databases
...
Required for Aka, etc.
2021-04-05 11:31:43 +02:00
Valentin Lorentz
24f20dcb86
Factoids, Services: Fix crash when imported by supybot-plugin-doc
2021-04-05 11:30:59 +02:00
Valentin Lorentz
c28d517d6f
irclib: Copy messages before altering them at all
...
Fixes a bug triggered by Relay when it relays to a network that supports
labeled-response and an other that doesn't
2021-04-02 20:54:21 +02:00
Valentin Lorentz
b030a7bb76
callbacks: Fix py 3.4 support
2021-04-01 20:10:17 +02:00
Valentin Lorentz
d452a7051c
callbacks: Don't write nick prefixes in the middle of multiline messages.
2021-04-01 20:10:17 +02:00
Richard
911f875c1f
PluginDownloader: Change default branch from master to HEAD
...
Many people are renaming their default branches from master to main or
something else (I just renamed mine). Using HEAD works no matter what
the default branch is named.
2021-04-01 20:10:17 +02:00
Valentin Lorentz
a003eff7a5
Config: Document network-specific variables in @list output
2021-04-01 20:10:17 +02:00
Valentin Lorentz
41c5589bea
utils.str: Rely only on the documented methods of textwrap.TextWrapper.
...
'_split_chunks()' should be fine, but '_wrap_chunks()' is the only one explicitly
documented as overridable, so it's probably safer to use.
2021-04-01 20:10:17 +02:00
Valentin Lorentz
91a4083ae1
Misc: Clamp the number of lines returned by @more to the draft/multiline max-lines value, if any.
2021-04-01 20:10:17 +02:00
Valentin Lorentz
bbc2e9de0d
irclib: 'lift' message tags to the batch when sending a multiline batch
2021-04-01 20:10:17 +02:00
Valentin Lorentz
92399bb6a7
drivers: Don't strip all whitespaces before parsing messages.
...
They matter in multiline messages, and there isn't much point to
stripping them anyway.
2021-04-01 20:10:17 +02:00
Valentin Lorentz
7cb3ae12da
Misc: Make @more reply in batches when possible.
2021-04-01 20:10:17 +02:00
Valentin Lorentz
bf90a7c94d
callbacks: Make reply() send multiline batches when supybot.reply.mores.instant > 1
2021-04-01 20:10:17 +02:00
Valentin Lorentz
d5d22985f5
irclib: Remove special-casing of the last instant message in _sendReply
...
There is no reason for it to be special; and this special-casing would be
annoying when we add support for outgoing multiline batches.
2021-04-01 20:10:17 +02:00
Valentin Lorentz
de29218bdb
irclib: Make NestedCommandsIrcProxy._replyOverhead count in bytes instead of chars
...
It was, once again, a bug to count characters, because they
might contain multi-byte characters, and truncation happens
after the 512th byte.
2021-04-01 20:10:17 +02:00
Valentin Lorentz
8a3efe4379
irclib: Split _sendReply from NestedCommandsIrcProxy.reply
...
This function was getting uncomfortably big.
2021-04-01 20:10:17 +02:00
Valentin Lorentz
567618392f
Add tests + fix bugs
2021-04-01 20:10:17 +02:00
Valentin Lorentz
99a6a7cde9
raise exceptions instead of logging, so we get a helpful traceback
2021-04-01 20:10:16 +02:00
Valentin Lorentz
c7939d3eb5
[wip] typo
2021-04-01 20:10:16 +02:00
Valentin Lorentz
26f2d9a292
[wip] idea for ordering batches in Irc.queue
2021-04-01 20:10:16 +02:00
Valentin Lorentz
e19436a4ba
[wip] support outgoing batches
2021-04-01 20:10:16 +02:00
Valentin Lorentz
8b90884fa0
irclib: Copy messages before echoing them
...
Fixes a bug triggered by Relay when it relays between three or more networks.
2021-04-01 20:09:28 +02:00
Valentin Lorentz
f390ade16d
Anonymous: Add CLIENTTAGDENY test
2021-03-18 20:28:15 +01:00
Valentin Lorentz
ac0d7952a7
Anonymous: Add @react command
...
Gated behind supybot.protocols.irc.experimentalExtensions, as usual.
Spec: https://ircv3.net/specs/client-tags/react
2021-03-18 20:20:09 +01:00
Valentin Lorentz
d60cc5c92a
irclib: add method getClientTagDenied
...
To allow plugins to check if they should send a tag or not.
2021-03-18 19:56:30 +01:00
Valentin Lorentz
544f137c64
Anonymous: Simplify/modernize @internationalizeDocstring and var setting in test.
2021-03-18 19:56:30 +01:00
Valentin Lorentz
7861040c37
Merge branch 'logtoirc' into testing
2021-03-17 21:22:29 +01:00
Valentin Lorentz
2990fcd302
README+setup: Update supported Python versions
2021-03-13 13:15:41 +01:00
Valentin Lorentz
f1a5ab4866
String: Add unicodename and unicodesearch commands.
2021-03-11 22:49:13 +01:00
Valentin Lorentz
54342765cd
LogToIrc: Make variables channel- and network-specific when relevant
2021-03-11 20:20:53 +01:00