Commit graph

4392 commits

Author SHA1 Message Date
jesopo
c10a35b6c0 Log exceptions when calling events 2018-08-30 14:32:59 +01:00
jesopo
01a5032e87 Load whitelist in start.py, pass to ModuleManager.load_modules 2018-08-30 11:41:02 +01:00
jesopo
568d714fb2 Return config from Config.load_config instead of setting it on bot 2018-08-30 11:40:41 +01:00
jesopo
c5d445c715 IRCServer.remove_own_mode doesn't take an "arg" 2018-08-30 11:17:00 +01:00
jesopo
ebd3ab47c8 Add missing "," in channel_op.py 2018-08-30 11:15:57 +01:00
jesopo
b216ed081b Add missing ":" in IRCLineHandler.LineHandler.mode() 2018-08-30 11:15:18 +01:00
jesopo
2d4a1d42ce Only get highlight-spam-threshold setting when there's more than one highlight
in a line
2018-08-30 11:14:19 +01:00
jesopo
49cc4d8d7b Add help and usage for commands in channel_op.py 2018-08-30 11:13:26 +01:00
jesopo
bfca9bc207 default events on IRCLineHandler should use original_line, not line 2018-08-30 11:13:05 +01:00
jesopo
9b7c7035f9 Refactor handling MODE in IRCLineHandler 2018-08-30 11:12:48 +01:00
jesopo
ceb73f586c Only show 2 biggest units in !seen 2018-08-29 15:52:04 +01:00
jesopo
745141cb6d Give EventHooks their event name .lower() 2018-08-29 15:51:51 +01:00
jesopo
669aa32c31 Report actual topic setter (use 333, not 332) 2018-08-29 15:17:06 +01:00
jesopo
3ec521538a Print topics in print_activity.py 2018-08-29 14:57:40 +01:00
jesopo
76d7a8de36 Delete "permissions" setting when it's empty 2018-08-29 14:34:52 +01:00
jesopo
43ab3cbd10 Factor ping interval and ping timeout in to the main loop's minimum interval 2018-08-29 14:33:27 +01:00
jesopo
5535bac4c7 Forgot to add IRCBuffer.py when I renamed it from IRCLog.py. oops. 2018-08-29 12:55:20 +01:00
jesopo
4045c55ba3 Add missing comments in IRCLineHandler.LineHandler 2018-08-29 12:54:47 +01:00
jesopo
bb3eaff14a Fix CAP logic that was broken by recent IRCLineHandler refactor 2018-08-29 12:44:09 +01:00
jesopo
0b95dfb98b Do a default event for received data if there's no hooks for it 2018-08-29 12:43:54 +01:00
jesopo
fead75cd2f Refactor IRCLineHandler in to an object that uses .on("raw") events 2018-08-29 12:20:25 +01:00
jesopo
a4a12a70c4 Change throttling mechanics to be "x lines per y seconds" 2018-08-29 08:38:43 +01:00
jesopo
6ecae3b261 Add the ability to only require authentication if your nickname is registered 2018-08-28 18:16:19 +01:00
jesopo
ab9869aecb Change verbose logging to use propper logging system 2018-08-28 17:30:52 +01:00
jesopo
423eacaefe Do throttling based on line count, not byte count 2018-08-28 17:30:14 +01:00
jesopo
b9d4e11b77 Add !givepermission and !removepermission to permissions.py 2018-08-28 16:53:21 +01:00
jesopo
b47bf49830 Log event path along with timing in EventHook.call 2018-08-28 16:35:24 +01:00
jesopo
672b22e62c Change command.py to use call_limited 2018-08-28 16:35:07 +01:00
jesopo
2728a8422f change IRCServer.Server.__str__ to return hostname:port instead of full __repr__ 2018-08-28 16:05:43 +01:00
jesopo
5602b95d70 Added .call_limited() to EventHook to avoid having a kwarg outside of **kwargs
in .call()
2018-08-28 16:04:35 +01:00
jesopo
4922ee8f4a Allow users to see their internal IDs and channel IDs 2018-08-28 15:33:56 +01:00
jesopo
f8a6aa087b Save when a user sends their "first" words (won't be correct for old users) 2018-08-28 15:33:41 +01:00
jesopo
527d548743 Seperate .waiting_send() and throttle logic 2018-08-28 15:32:50 +01:00
jesopo
9a78dabcc2 80 cols! 2018-08-28 15:15:04 +01:00
jesopo
ab543022c4 Improve IRCServer.Server's __repr__ 2018-08-28 15:14:41 +01:00
jesopo
f2b2ac52e7 Send a PONG event, use the right arg when sending a WHO 2018-08-28 15:14:22 +01:00
jesopo
0ff36444d4 expand kwargs in assure_call when we've got a hook 2018-08-28 15:13:56 +01:00
jesopo
b2259c2ea8 Added !channelsetoverride in set.py 2018-08-28 14:55:57 +01:00
jesopo
b62cd4be84 .log -> .buffer, i missed this one! 2018-08-28 14:55:35 +01:00
jesopo
b699c120a0 Change how specific events assure their hooks gets the event independant of
loading order
2018-08-28 14:55:08 +01:00
jesopo
ef16817ad5 Switch to time.monotonic for comparisons, only send data at most once every .5
seconds and only send max 512 bytes at a time
2018-08-28 14:36:16 +01:00
jesopo
1b8c663c1a Made "you need to be authenticated" message more helpful 2018-08-28 12:48:08 +01:00
jesopo
5aa73cd64b Only allow users to send coins to users that have had coins before 2018-08-28 12:45:42 +01:00
jesopo
d8466ecf6d Require authentication to use or potentially lose coins 2018-08-28 12:42:10 +01:00
jesopo
2806a915bc Add !resetcoins in coins.py 2018-08-28 12:39:16 +01:00
jesopo
3398398a11 Fix typo in database.user_settings.delete 2018-08-28 12:38:59 +01:00
jesopo
20b90f955b Check if event objects should be purged after an event is called 2018-08-28 12:24:39 +01:00
jesopo
e5a5fa5c4b modules/logging.py -> IRCLogging.py; IRCLog.py -> IRCBuffer.py; change logging
to be an object on the server object instead of an event call
2018-08-28 12:23:57 +01:00
jesopo
ea9b6f32dc Prevent users sending coins to themselves 2018-08-25 20:09:44 +01:00
jesopo
da74357807 Use a zero-width joiner in Utils.prevent_highlight instead of zero width space 2018-08-20 11:03:01 +01:00