Commit Graph

24 Commits

Author SHA1 Message Date
Luca Bigliardi
a63bfa3aad explicitly handle nickserv identify request
handle nickserv identify requests instead of blindly issuing a message
when connected

this helps if nickserv's state is wiped and we are being asked to
re-identify

introduce a `nickserv_identify_patterns` config option. these patterns
are used to guess identify requests of the various nickserv implementations

Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-04-16 18:17:08 +02:00
Luca Bigliardi
9748c8bfbf try to unban ourselves before joining a channel
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-04-16 13:53:06 +02:00
Luca Bigliardi
2eb5fb9aa5 add own logging and define debug flag
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-04-07 03:20:52 +02:00
Luca Bigliardi
dcfa3cccf0 server side cleanup should no longer be necessary w/ new goirc, removing
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-29 16:18:09 +02:00
Luca Bigliardi
559b817262 Add tests for channel join retry logic
Also adopt interface for querying time information, so it can be faked
properly during at test time

Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-29 16:06:36 +02:00
Luca Bigliardi
4d0f1f26b0 Graceful disconnect upon context cancel
Make sure the underlying library context cancellation happens only
after the session has been shutdown.

Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-27 17:29:54 +01:00
Luca Bigliardi
882cecd6a6 simplify half connected test
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-27 17:27:35 +01:00
Luca Bigliardi
2990b5a309 fix ghost test
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-27 15:52:48 +01:00
Luca Bigliardi
0ec08d5ea1 stop storing context received from outside
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-27 12:35:38 +01:00
Luca Bigliardi
0b2fbef1f2 new channel management logic
this should handle bans and kicks a bit better

Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-27 00:49:16 +01:00
Luca Bigliardi
c22e7a0c84 stop using multiple channels in basic conn/auth tests
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-27 00:15:35 +01:00
Luca Bigliardi
4e0b0497f4 move channel-specific tests to new management object
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-26 23:52:07 +01:00
Luca Bigliardi
9690575d68 refactor: move test server in separate file
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-26 23:08:07 +01:00
Luca Bigliardi
cb65b4d28d Add factory-like interface to generate Delayers
Will be used to inject fake delayers in objects created during tests

Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-26 12:34:36 +01:00
Luca Bigliardi
bc13e4be9c Move Delayer/Backoff stub in its own file
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-25 23:28:13 +01:00
Luca Bigliardi
1eeb4dda9c Prevent race condition in TestConnectErrorRetry
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-02-24 20:45:52 +01:00
Luca Bigliardi
2471b866f1 Stop sending messages while disconnected
Make sure the session is up before consuming alert messages.
Also, split main run loop for readability.

Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-02-24 17:17:46 +01:00
Luca Bigliardi
82af7c1f69 Add Context support to Backoff
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-02-24 17:14:40 +01:00
Luca Bigliardi
bde6681de9 Use Context and WaitGroup for routines coordination
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-02-24 15:49:33 +01:00
Luca Bigliardi
826f088241 Handle IRC server password
Introduce optional config parameter 'irc_host_password' to specify the
IRC server password.

Signed-off-by: Luca Bigliardi <shammash@google.com>
2020-11-05 11:05:15 +01:00
Goutham Veeramachaneni
219d3672b7
Clean up so that lint would pass
Signed-off-by: Goutham Veeramachaneni <gouthamve@gmail.com>
2020-01-30 17:38:45 +01:00
Luca Bigliardi
ae6594c606 Add config option to deliver alerts with PRIVMSG
Add `use_privmsg` config option to deliver alerts with PRIVMSG instead
of the default NOTICE.

This addresses a use case described in
https://github.com/google/alertmanager-irc-relay/pull/1 .

Signed-off-by: Luca Bigliardi <shammash@google.com>
2020-01-25 18:03:13 +00:00
Luca Bigliardi
4e1aeaf931 s/notice/msg/
Use a more generic name as there is soon going to be support for PRIVMSG
(see https://github.com/google/alertmanager-irc-relay/pull/1 for
background).

This introduces a backward-incompatible change in the config file for
these two parameters:
- notice_template -> msg_template
- notice_once_per_alert_group -> msg_once_per_alert_group

I am not introducing the new parameters with a deprecation plan since
both parameters are relatively secondary to the core functioning of the
bot (and this is a free time project after all).

Signed-off-by: Luca Bigliardi <shammash@google.com>
2020-01-25 16:42:59 +00:00
Luca Bigliardi
60632b16e6 Initial code check-in
Signed-off-by: Luca Bigliardi <shammash@google.com>
2018-05-21 15:49:47 +01:00