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
2019-10-12 21:05:55 +01:00
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
2019-10-11 13:07:57 +01:00
Mark Veidemanis
c3d0cb04b6
Pass all arguments from debug into print
...
Allows for multi-argument debug() statements without ugly + or %s
operators.
2019-10-11 13:04:58 +01:00
Mark Veidemanis
324af04de0
Don't return the same thing twice
...
The add_relay and provisionRelay functions both returned the alias.
Only use the output from one function.
2019-10-11 13:02:39 +01:00
Mark Veidemanis
f9619a5bc4
Remove help entry for del
2019-10-08 21:12:06 +01:00
Mark Veidemanis
31c9e64790
Implement function to set up multiple relays
2019-10-08 21:11:04 +01:00
Mark Veidemanis
33cb173db6
Switch to using Redis for LIST storage
2019-10-08 21:10:42 +01:00
Mark Veidemanis
7e90080a2c
Set up Redis database which isn't cleared on quit
2019-10-08 21:07:54 +01:00
Mark Veidemanis
da14a86e70
Fix getting LIST output to work with more networks
...
* Parse ISUPPORT properly if more than one channel prefix is supported
* Retry getting LIST another way is the response is empty
2019-10-08 21:00:57 +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
c92e618076
Remove the del command
2019-10-08 20:53:10 +01:00
Mark Veidemanis
06d3dd4d7e
Implement storing analytics on a LIST response
2019-10-08 18:17:32 +01:00
Mark Veidemanis
15b394bd79
Implement requesting a LIST and parsing the output
2019-10-06 21:10:44 +01:00
Mark Veidemanis
aa54759337
Additional error checking on user record deletion
2019-10-05 18:22:14 +01:00
Mark Veidemanis
f0fff7c958
Implement sorting relay output by custom keys
2019-10-05 18:20:51 +01:00
Mark Veidemanis
5eda50af13
Use net and num instead of name in relay output
2019-10-05 18:13:04 +01:00
Mark Veidemanis
78e4d6bd66
Rename 'message' to 'msg' and 'target' to 'channel'
2019-10-05 00:51:00 +01:00
Mark Veidemanis
ddadeb617c
Change message to msg in relay output and in functions, include name in connection notifications instead of net
2019-10-03 18:02:00 +01:00
Mark Veidemanis
89894287b3
Add error handling to exec command and fix minor bug in cleaning up relays
2019-10-02 21:25:15 +01:00
Mark Veidemanis
872d08be3e
Implement exec command for running raw Python code
2019-10-02 20:46:00 +01:00
Mark Veidemanis
d35f96de87
Error checking on alias removal and clean up when removing relays
2019-10-02 20:45:28 +01:00
Mark Veidemanis
a3b81f8849
Implement more automated provisioning of aliases and relays, and remove networks cleanly
2019-10-02 20:26:05 +01:00
Mark Veidemanis
0f31d7f5e2
Implement admall command to run commands as the administrative relay user
2019-10-02 13:46:02 +01:00
Mark Veidemanis
b19dfcc113
Add alias.json to gitignore
2019-09-29 23:55:22 +01:00
Mark Veidemanis
32309ecec2
Change alias definitions to be global, so aliases can be reused across different networks
2019-09-29 22:45:16 +01:00
Mark Veidemanis
355a80b19b
Fix the all and allc commands so they work with the new data format
2019-09-29 14:57:36 +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
006f8db6f6
Update the class name in the single command loader and import the debug function which it uses
2019-08-25 23:12:51 +01:00
Mark Veidemanis
2d70d5af11
Add error checking in places, set up automatic relay provisioning and fix starting bots
2019-08-25 21:29:11 +01:00
Mark Veidemanis
ff74968ff8
Merge branch 'master' into datarestructure
2019-08-19 20:19:42 +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
545282e201
Add deduplication precision toggle, fix printing odd characters and implement sending messages to all instances of a certain network, or all networks associated with a certain alias
2019-08-16 21:27:23 +01:00
Mark Veidemanis
22bd0d3ac6
Don't crash if the part message is null
2019-08-15 22:14:45 +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
1ec0e1f7e6
Remove provisioning restrictions, move all user tracking code to monitoring module, fix proper network name not being passed to the relay
2019-08-12 21:03:47 +01:00
Mark Veidemanis
51b89b9d05
Use the ISO format for time
2019-08-11 22:05:34 +01:00
Al Beano
63539a4edb
Merge branch 'master' into datarestructure
2019-08-11 22:01:29 +01:00
Al Beano
e5adcfef4c
Rework data structures, storing all front-end network data in Network objects
2019-08-11 21:58:14 +01:00
Mark Veidemanis
1c8cbf808b
Send fake quit and nick messages to every channel
2019-08-11 21:54:52 +01:00
Mark Veidemanis
3a92ebab6b
Convert nickname and messages to lowercase before comparison
2019-08-11 21:54:51 +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
Al Beano
f6657cb905
Merge branch 'command_class' into aliasgen
2019-08-10 11:45:21 +01:00
Al Beano
15bc195648
Add automatic alias generation function
2019-08-10 11:44:31 +01:00
Al Beano
88077782f3
Rename classes representing commands to <CommandName>Command
2019-08-09 23:49:21 +01:00
Mark Veidemanis
56840e0060
Add the network number in ZNC relay notifications
2019-08-06 12:49:29 +01:00
Mark Veidemanis
c0b45c1db6
Fix adding of time to relay messages
2019-08-05 23:10:06 +01:00
Mark Veidemanis
0ee8ae0ead
Remove keyword store from gitignore file
2019-08-05 22:52:06 +01:00
Mark Veidemanis
68c6aa969d
Remove keyword system, implement ZNC notifications to relay, remove exact from cast fields and fix security bug in relay
2019-08-05 22:51:16 +01:00
Mark Veidemanis
0637f762ea
Add network name to fields shown in relay notifications
2019-08-04 04:22:40 +01:00
Mark Veidemanis
4ce093bfbe
Implement a running count of the number of events per minute
2019-07-28 15:07:46 +01:00