310f933091
bot: fix duplicate unregister KeyError and improve connection error logging
...
continuous-integration/drone/push Build is passing
Silently ignore KeyError when unregistering an already-removed FD from
the poll loop (servers can queue multiple close events). Also include
the exception message when a server connection fails at startup.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 22:34:14 +07:00
26282cb81d
server: Replace hand-rolled IRC with irc (jaraco) library
...
Switch the IRC server implementation from the custom socket-based parser
to the irc Python library (SingleServerIRCBot), gaining automatic
exponential-backoff reconnection, built-in PING/PONG handling, and
nick-collision recovery for free.
- Add IRCLib server (server/IRCLib.py) extending ThreadedServer:
_IRCBotAdapter wraps SingleServerIRCBot with a threading.Event stop
flag so shutdown is clean and on_disconnect skips reconnect when
stopping. subparse() is implemented directly for alias/grep/rnd/cat.
- Add IRCLib printer (message/printer/IRCLib.py) calling
connection.privmsg() directly instead of building raw PRIVMSG strings.
- Update factory to use IRCLib for irc:// and ircs://; SSL is now
passed as a connect_factory kwarg rather than post-hoc socket wrapping.
- Add irc to requirements.txt.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 22:34:14 +07:00
de2c37a54a
matrix: Add Matrix server support via matrix-nio
...
Implement Matrix protocol support with MatrixServer (ThreadedServer subclass),
a Matrix message printer, factory URI parsing for matrix:// schemes, and
matrix-nio[e2e] dependency.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 21:53:15 +07:00
622159f6b5
server: Add threaded server implementation
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 15:47:41 +07:00
32ebe42f41
Don't compile for arm (requires rust ?????)
continuous-integration/drone/push Build is passing
2025-02-07 23:38:49 +01:00
ea0ec42a4b
openai: Add commands list_models and set_model
2025-02-07 23:38:23 +01:00
23f043673f
Add openai module
2025-02-07 21:41:02 +01:00
ac432fabcc
Keep in 3.11
continuous-integration/drone/push Build encountered an error
2023-10-15 01:19:30 +02:00
38b5b1eabd
Also build for arm64
continuous-integration/drone/push Build encountered an error
2023-10-14 23:01:11 +00:00
84fef789b5
Ignore decoding error when charset is erroneous
continuous-integration/drone/push Build is passing
2023-05-23 09:20:21 +02:00
45a27b477d
syno: Fix new service URL
continuous-integration/drone/push Build is passing
2023-05-08 19:07:12 +02:00
a8472ecc29
CI: Fix build on arm
continuous-integration/drone/push Build is passing
2023-01-18 15:27:38 +01:00
861ca0afdd
Try to connect multiple times (with different servers if any)
continuous-integration/drone/push Build encountered an error
2023-01-17 21:55:25 +01:00
9f83e5b178
Dockerfile: Point home into volume
continuous-integration/drone/push Build is passing
2022-01-06 14:10:30 +01:00
68c61f40d3
Rework Dockerfile and run as user
continuous-integration/drone/push Build is passing
2022-01-06 12:52:09 +01:00
60a9ec92b7
Rework Dockerfile
continuous-integration/drone/push Build is passing
2021-05-11 10:46:53 +02:00
8dd6b9d471
Fix a strange problem with saved PID file between runs
continuous-integration/drone/push Build is passing
2020-12-01 00:47:14 +01:00
13c643fc19
Add missing deps in container
continuous-integration/drone/push Build is passing
2020-11-08 14:04:42 +01:00
5ec2f2997b
Add drone CI
continuous-integration/drone/push Build was killed
2020-10-18 18:06:16 +02:00
faa5759645
suivi: add UPS tracking infos
2019-12-03 15:54:50 +01:00
37a230e70e
suivi: kuse new laposte API to get infos
2019-12-03 15:54:50 +01:00
904ad72316
suivi: fix usps
2019-12-03 15:54:49 +01:00
f17f8b9dfa
nntp: keep in memory latests news seen to avoid loop
2019-12-03 15:54:49 +01:00
d56c2396c0
repology: new module
2019-12-02 17:49:08 +01:00
b369683914
nntp: use timestamp from servers to handle desynchronized clocks
2019-11-09 14:46:32 +01:00
aee2da4122
Don't silent Exception in line_treat. Skip the treatment, but log.
2019-09-21 02:01:29 +02:00
1f2d297ea1
Update travis python versions
2019-09-21 01:16:52 +02:00
Maxence
b72871a8c2
Remove rms.py module
...
It should be replaced by a more generic:
!news https://www.fsf.org/static/fsforg/rss/events.xml which can be
aliased.
2019-09-21 01:15:13 +02:00
644a641b13
nntp: fix bad behaviour with UTF-8 encoded headers
...
Read-Also: https://tools.ietf.org/html/rfc3977
2019-09-10 15:50:17 +02:00
4499677d55
whois: don't use custom picture anymore
2019-08-22 15:51:36 +02:00
87b5ce842d
cve: fix module with new cve website
2019-08-22 15:51:10 +02:00
144551a232
imdb: fix unrated content
2019-06-14 19:33:51 +02:00
7854e8628f
news: reduce link URL by default
2019-02-03 12:59:17 +01:00
85c418bd06
feed: fix RSS link handling
2019-02-03 12:59:17 +01:00
20c19a72bc
urlreducer: new function to be used in responses' treat_line
2019-02-03 12:59:17 +01:00
9417e2ba93
urlreducer: define DEFAULT_PROVIDER later
2019-02-03 12:59:17 +01:00
517bf21d25
imdb: fix series changed attributes
2019-02-03 12:59:17 +01:00
fa0f2e93ef
whois: update module
2018-12-30 10:59:10 +01:00
b349d22370
events: ModuleEvent don't store function argument anymore
2018-12-30 00:42:21 +01:00
8605932702
imdb: follow imdb.com evolutions
2018-12-03 23:55:25 +01:00
10b8ce8940
smmry: add keywords options
2018-09-25 21:25:57 +02:00
445a66ea90
hooks: keywords can have optional values: place a question mark before =
...
{
"keyword?=X": "help about keyword (precise the default value if needed)"
}
2018-09-25 21:25:02 +02:00
46541cb35e
smmry: handle some more options
2018-09-25 21:23:46 +02:00
8224d11207
smmry: use URLStack from urlreducer module
2018-09-25 20:50:53 +02:00
15064204d8
smmry: don't ask to URLencode returned texts
2018-09-25 20:46:43 +02:00
67dee382a6
New module smmry, using https://smmry.com/ API
2018-09-25 20:43:21 +02:00
f1da640a5b
tools/web: fix isURL function
2018-09-25 20:42:51 +02:00
2fd20d9002
nntp: Here it is!
2018-09-09 19:33:42 +02:00
31abcc97cf
event: extract dict before call without init data
2018-09-09 19:17:56 +02:00
53fe00ed58
tools/web: new function to retrieve only headers
2018-08-30 12:59:55 +02:00