Commit Graph

32 Commits

Author SHA1 Message Date
Mark Veidemanis 5cc38da00e
Implement deduplicating channels 2022-08-16 22:01:35 +01:00
Mark Veidemanis c302cd25da
Implement API endpoint for network listing 2022-07-25 18:05:53 +01:00
Mark Veidemanis 8c9ec3ab9c
Implement getting number of channels and users 2022-07-21 13:40:18 +01:00
Mark Veidemanis 80c016761f
Reformat again 2022-07-21 13:40:09 +01:00
Mark Veidemanis 2fecd98978
Reformat project 2022-07-21 13:40:05 +01:00
Mark Veidemanis 27cafa1def
Revert "Reformat project"
This reverts commit 64e3e1160aa76d191740342ab3edc68807f890fb.
2022-07-21 13:40:01 +01:00
Mark Veidemanis da678617d8
Reformat project 2022-07-21 13:39:59 +01:00
Mark Veidemanis 7c855e09c0
Reformat code with pre-commit 2022-07-21 13:39:41 +01:00
Mark Veidemanis 7485bbefd1 Move WHO and NAMES logging to trace 2020-10-31 16:52:00 +00:00
Mark Veidemanis db7e5677d3 Fix decoding issue with some Redis keys 2020-10-28 22:30:49 +00:00
Mark Veidemanis a1e045793c
Start implementing prefixes 2020-07-09 19:43:47 +01:00
Mark Veidemanis 8103c16253
Fix syntax error in redis query 2020-05-31 21:54:43 +01:00
Mark Veidemanis 40e1f38508
Add additional error handling in user queries 2020-05-31 13:44:34 +01:00
Mark Veidemanis b4fa747853 Fix LIST handling and message parsing
* Always use simple LIST syntax if it succeeded once after a failed
complex query
* Reject asking for a LIST twice
* Quickly discard any ISUPPORT messages that don't contain things we
need to use
* Detect the server name and drop any messages from the server
2019-10-20 16:44:33 +01:00
Mark Veidemanis f34de8940f Improve performance in userinfo
* Implement a nick -> user mapping, preventing a superfluous SSCAN on
the entire dataset for when networks are disconnected
* Use one thread for all channels when a network instance is
disconnected, instead of one thread per channel
* Made returns comprising of only a list into tuples
2019-10-17 20:19:35 +01:00
Mark Veidemanis a027a0b4f6 Fix getting user records by nickname
Use -1 to refer to unlimited records instead of an arbitrarily large
number.
2019-10-08 20:53:39 +01:00
Mark Veidemanis aa54759337 Additional error checking on user record deletion 2019-10-05 18:22:14 +01:00
Mark Veidemanis 15ca45e5df Implement Ctrl-C handling and fix a large number of small bugs 2019-09-28 19:46:10 +01:00
Mark Veidemanis c63f301b7f Defer initialUsers, initialNames and delChannel to threads to improve performance 2019-08-19 20:12:42 +01:00
Mark Veidemanis f34ddab6fc Improvements to query and self event detection, implement all command and debug flags 2019-08-15 21:20:49 +01:00
Mark Veidemanis 2757256d4f Implement a single function for all callbacks from IRC hooks and send a seperate notification if an action takes place that concerns a bot 2019-08-11 21:54:22 +01:00
Mark Veidemanis 7cd6bc3616 Purge metadata entries on quit and escape glob characters 2018-10-21 00:49:15 +01:00
Mark Veidemanis 7d7ef69d98 Avoid doing pointless lookups against numbered networks 2018-10-14 14:47:08 +01:00
Mark Veidemanis 44aa0f1727 Implement users command to see the mutual users of one or more channels and squash some bugs 2018-10-08 20:08:10 +01:00
Mark Veidemanis cfefa1d627 Implement a command to get the channels common to one or more users 2018-10-07 20:48:39 +01:00
Mark Veidemanis 2cb0b5d4a6 Add a count parameter to ensure all entries are searched 2018-08-27 21:10:49 +01:00
Mark Veidemanis ad00e0c07d Make the Redis socket configurable 2018-08-27 20:52:39 +01:00
Mark Veidemanis 36105c7e9a Move user metadata info into redis 2018-08-27 20:42:49 +01:00
Mark Veidemanis b31b5d40e8 Make monitor notifications ignore numbers to support multiple networks in only one reference 2018-08-26 19:08:27 +01:00
Mark Veidemanis d168d69732 Import the main module properly and fix some oddities in Twisted to prevent it from discarding some data 2018-03-14 20:14:02 +00:00
Mark Veidemanis da6c45f093 Implement counting keyword events and a unified buffers system for when the master channel is unavailable 2018-03-10 13:54:04 +00:00
Mark Veidemanis cb7142ef88 Separate out everything into files and implement a modules system to segment commands 2018-02-23 22:05:40 +00:00