Mark Veidemanis
6ad6d6dc50
Fix channel allocation when relays are provisioned
...
Fix a bug where the channel allocation algorithm failed due to
necessary relays not having been provisioned yet.
Passed the newly created relay numbers to the allocation function
and assumed their CHANMAX would be the same as all other relays for
the same network.
5 years ago
Mark Veidemanis
0321651c20
Implement fair channel allocation in ChanKeep
...
* Allocate channels to relays only if they have free space based on
their chanlimit value
* Minify channels by removing ones that are already covered before
passing them off to be joined
5 years ago
Mark Veidemanis
7a6e3338c0
Implement ChanKeep joining functions
...
* Low-key channel joining with incrementally increasing delay
* Spin up needed instances to be able to cover a certain channel space
* Fix provisioning functions to prevent race conditions with lots of
relays being created at once
* Tweakable switchover from covering all channels to only covering
channels with more users than the mean of the cumulative user count
5 years ago
Mark Veidemanis
31c9e64790
Implement function to set up multiple relays
5 years ago
Mark Veidemanis
33cb173db6
Switch to using Redis for LIST storage
5 years ago
Mark Veidemanis
a027a0b4f6
Fix getting user records by nickname
...
Use -1 to refer to unlimited records instead of an arbitrarily large
number.
5 years ago
Mark Veidemanis
06d3dd4d7e
Implement storing analytics on a LIST response
5 years ago
Mark Veidemanis
15b394bd79
Implement requesting a LIST and parsing the output
5 years ago
Mark Veidemanis
aa54759337
Additional error checking on user record deletion
5 years ago
Mark Veidemanis
f0fff7c958
Implement sorting relay output by custom keys
5 years ago
Mark Veidemanis
78e4d6bd66
Rename 'message' to 'msg' and 'target' to 'channel'
5 years ago
Mark Veidemanis
89894287b3
Add error handling to exec command and fix minor bug in cleaning up relays
5 years ago
Mark Veidemanis
d35f96de87
Error checking on alias removal and clean up when removing relays
5 years ago
Mark Veidemanis
a3b81f8849
Implement more automated provisioning of aliases and relays, and remove networks cleanly
5 years ago
Mark Veidemanis
32309ecec2
Change alias definitions to be global, so aliases can be reused across different networks
5 years ago
Mark Veidemanis
355a80b19b
Fix the all and allc commands so they work with the new data format
5 years ago
Mark Veidemanis
15ca45e5df
Implement Ctrl-C handling and fix a large number of small bugs
5 years ago
Mark Veidemanis
2d70d5af11
Add error checking in places, set up automatic relay provisioning and fix starting bots
5 years ago
Mark Veidemanis
ff74968ff8
Merge branch 'master' into datarestructure
5 years ago
Mark Veidemanis
c63f301b7f
Defer initialUsers, initialNames and delChannel to threads to improve performance
5 years ago
Mark Veidemanis
f34ddab6fc
Improvements to query and self event detection, implement all command and debug flags
5 years ago
Mark Veidemanis
1ec0e1f7e6
Remove provisioning restrictions, move all user tracking code to monitoring module, fix proper network name not being passed to the relay
5 years ago
Al Beano
63539a4edb
Merge branch 'master' into datarestructure
5 years ago
Al Beano
e5adcfef4c
Rework data structures, storing all front-end network data in Network objects
5 years ago
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
5 years ago
Al Beano
15bc195648
Add automatic alias generation function
5 years ago
Mark Veidemanis
56840e0060
Add the network number in ZNC relay notifications
5 years ago
Mark Veidemanis
68c6aa969d
Remove keyword system, implement ZNC notifications to relay, remove exact from cast fields and fix security bug in relay
5 years ago
Mark Veidemanis
0637f762ea
Add network name to fields shown in relay notifications
5 years ago
Mark Veidemanis
4ce093bfbe
Implement a running count of the number of events per minute
5 years ago
Mark Veidemanis
9e1a6613a4
Implement sending of relay messages
6 years ago
Mark Veidemanis
488d81dac8
Fix a race condition in disabling networks post-creation, remove redundant bindhost code and fix a minor bug in the load command
6 years ago
Mark Veidemanis
a4b7bd50b1
Implement additional error checking for provisioning instances and parsing messages, and prevent ZNC from auto-connecting an instance if ConnectOnCreate is off
6 years ago
Mark Veidemanis
8926cb76ec
Renovate the module system and implement adding and resuming pool instances using the new relay/alias/network system
6 years ago
Mark Veidemanis
4efea3f535
Implement the backend for automatically provisioning relays
6 years ago
Mark Veidemanis
7cd6bc3616
Purge metadata entries on quit and escape glob characters
6 years ago
Mark Veidemanis
7d7ef69d98
Avoid doing pointless lookups against numbered networks
6 years ago
Mark Veidemanis
44aa0f1727
Implement users command to see the mutual users of one or more channels and squash some bugs
6 years ago
Mark Veidemanis
a98ed4e4d0
Fix bug in the keyword module
6 years ago
Mark Veidemanis
cfefa1d627
Implement a command to get the channels common to one or more users
6 years ago
Mark Veidemanis
249e99805a
Implement optional x in y matching for attributes in the monitor system
6 years ago
Mark Veidemanis
2cb0b5d4a6
Add a count parameter to ensure all entries are searched
6 years ago
Mark Veidemanis
ad00e0c07d
Make the Redis socket configurable
6 years ago
Mark Veidemanis
36105c7e9a
Move user metadata info into redis
6 years ago
Mark Veidemanis
b31b5d40e8
Make monitor notifications ignore numbers to support multiple networks in only one reference
6 years ago
Mark Veidemanis
de5baf562b
Fix monitors to work properly with multiple groups
6 years ago
Mark Veidemanis
ae017eab36
Show the message on one line in monitor notifications
6 years ago
Mark Veidemanis
00985d29c5
Implement support for more attributes and handle data type collisions when merging monitor group definitions
6 years ago
Mark Veidemanis
bc87ffddf7
Implement monitoring system for flexible metadata matching
6 years ago
Mark Veidemanis
66e7785f6f
Implement query notifications and recognise ZNC's messages
6 years ago
Mark Veidemanis
369ddbe939
Additional checks on keyword matches to prevent errors when no part message is specified
7 years ago
Mark Veidemanis
d168d69732
Import the main module properly and fix some oddities in Twisted to prevent it from discarding some data
7 years ago
Mark Veidemanis
da6c45f093
Implement counting keyword events and a unified buffers system for when the master channel is unavailable
7 years ago
Mark Veidemanis
8dec0b6828
Implement counting of various IRC events
7 years ago
Mark Veidemanis
cb7142ef88
Separate out everything into files and implement a modules system to segment commands
7 years ago