Commit Graph

49 Commits

Author SHA1 Message Date
Juhani Krekelä c6c8e02a3b Handle connection being reset 2024-02-12 19:19:40 +02:00
Juhani Krekelä 9f0dacca0d Handle timeouts while creating a connection 2023-10-26 22:10:30 +03:00
Juhani Krekelä c23f48c329 Handle connection being reset while reading 2023-06-16 11:31:49 +03:00
Juhani Krekelä 6aa6236031 Fix typo "Mo data" → "No data" 2023-03-21 00:13:26 +02:00
Juhani Krekelä 9f5f74c456 Flush log output after each line in case output is buffered 2021-12-12 17:07:00 +02:00
Juhani Krekelä 2c6d35347c Revert "Log to stderr if run non-interactively"
This reverts commit deae8043e1.
2021-12-12 17:05:31 +02:00
Juhani Krekelä deae8043e1 Log to stderr if run non-interactively 2021-12-12 17:01:54 +02:00
Juhani Krekelä 424e6c7b67 Log connection attempts to server 2021-12-12 16:45:52 +02:00
Juhani Krekelä ed314735f9 Disable interactive console if stdin is not a tty 2021-12-12 16:37:58 +02:00
Juhani Krekelä f6fe53385d Add built-in authentication to o3-base 2021-05-02 00:40:22 +03:00
Juhani Krekelä 635cab7440 Don't allow sending to the closed server socket if we are reconnecting 2019-05-11 15:32:27 +03:00
Juhani Krekelä baaa93d2fa Add irc.quit() 2018-08-19 19:52:42 +03:00
Juhani Krekelä b2ca8a0599 Only pass bytestrings (and not bytearrays) to user code 2018-06-14 10:50:30 +03:00
Juhani Krekelä b4233fda4a Support full print()-style control in API.log() 2018-02-25 21:22:27 +02:00
Juhani Krekelä 53caed0d1c Add API.set_nick, .set_channels, .log 2018-02-25 21:03:05 +02:00
Juhani Krekelä 49cd979449 Apparently poll.register can fail with TimeoutError. Handle those 2018-02-09 23:06:59 +02:00
Juhani Krekelä 64a31a61e8 Add irc.part and irc.get_channels 2018-01-20 17:01:02 +02:00
Juhani Krekelä 03f0011e62 Add botcmd.on_quit hook for bot cleanup 2018-01-20 16:54:13 +02:00
Juhani Krekelä a74173fee2 Replace irc.bot_response and irc.bot_response_bytes with an interface that autoconverts if needed 2018-01-20 16:49:37 +02:00
Juhani Krekelä 6a2a7503cb Add bot_response_bytes 2018-01-03 21:32:00 +02:00
Juhani Krekelä 002f1eecf8 Read config from a configuration file 2018-01-03 18:08:24 +02:00
Juhani Krekelä 029083b661 Remove an out-of-date TODO 2018-01-03 01:11:21 +02:00
Juhani Krekelä df82f06fa9 Ping timeout faster, and don't crash if network is unreachable 2018-01-02 20:50:12 +02:00
Juhani Krekelä bb71e5ae9c Have bot reconnect by default on connection failures 2018-01-02 20:33:17 +02:00
Juhani Krekelä e292dc2b4c Add API.cron, for easier bot access to the cron functionality 2018-01-02 18:33:04 +02:00
Juhani Krekelä 1081a6d092 Add botcmd.on_connect hook, to allow better control over bot bringup 2018-01-02 18:31:23 +02:00
Juhani Krekelä c910f08b1e Add flood protection 2018-01-01 00:26:54 +02:00
Juhani Krekelä 4f523ef534 Update comments to match reality 2017-12-31 22:08:33 +02:00
Juhani Krekelä 11d770010f Remove a TODO for timeouting, as it has been implemented 2017-12-31 22:03:01 +02:00
Juhani Krekelä d3a214ec86 Add ping timeouting 2017-12-10 17:43:39 +02:00
Juhani Krekelä 72056025fb Fix API.error() 2017-12-10 15:46:53 +02:00
Juhani Krekelä 7ce9b45166 Fix typo in API docstrings 2017-12-10 14:43:37 +02:00
Juhani Krekelä 6689131bc7 Add bot_response() to API 2017-09-13 23:17:30 +03:00
Juhani Krekelä 984af5b68e Modify the built-in config in ircbot.py 2017-09-06 20:47:16 +03:00
Juhani Haverinen 401f65735e Bot is mature enough, point it at ##hymnnos 2017-09-05 19:18:17 +03:00
Juhani Haverinen ce25127299 Implement the hymmnos dictionary search feature 2017-09-05 15:09:57 +03:00
Juhani Haverinen 4bc3f12d42 Add get_nick() to API and add docstrings to API commands 2017-09-05 14:15:01 +03:00
Juhani Haverinen 164cede500 Have logger as its own thread 2017-09-05 14:11:15 +03:00
Juhani Haverinen abb579bc88 Move API class to ircbot.py 2017-09-05 13:48:03 +03:00
Juhani Haverinen f4077cdd3e Make bot autojoin channel and move nick and username to server config 2017-09-05 13:45:28 +03:00
Juhani Haverinen 36ab28cd71 Add start of line handling, don't log PONGs 2017-09-05 12:47:47 +03:00
Juhani Haverinen 4c7fe56950 Implement PING/PONG 2017-09-05 11:40:44 +03:00
Juhani Haverinen 2e1bc6a6b1 Use enums for message types in channels 2017-09-05 11:24:58 +03:00
Juhani Haverinen 044fc0d4bd Make the debug interface nicer to use 2017-09-05 11:03:41 +03:00
Juhani Haverinen fcc1978743 Handle the case of having several full messages in input buffer 2017-09-05 10:58:58 +03:00
Juhani Haverinen 0657f423f3 Use channels for internal communication 2017-09-05 10:55:33 +03:00
Juhani Haverinen 4e1efa5b61 Use a lock in send_line_raw and don't thread sending of data through the mainloop 2017-09-05 10:05:02 +03:00
Juhani Haverinen 8cfec71fb1 Skeleton of the IRC bot 2017-09-05 00:10:10 +03:00
Juhani Haverinen ee530a4acf Start work on the base of the IRC bot 2017-09-04 22:49:01 +03:00