Commit graph

2074 commits

Author SHA1 Message Date
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
jesopo
3bb54a4808 upate IRCUser.id when a user changes their nickname 2018-08-19 10:19:54 +01:00
jesopo
1ae1206b8a .add -> .append typo in channel_save.py 2018-08-19 00:20:24 +01:00
jesopo
9a3f2e5de6 Change the database to give channels and users ids and use those in the settings
tables
2018-08-19 00:19:53 +01:00
jesopo
88eb7b695f show uptime in 1w1d1h1m1s format 2018-08-18 21:54:12 +01:00
jesopo
8386e45343 check if a table exists before making it instead of catching the sqlite
exception
2018-08-18 21:53:50 +01:00
jesopo
33b48f5ea3 .wrote -> .write typo in words.py 2018-08-18 18:29:06 +01:00
jesopo
4da8a4ac39 Added code to preprocess check a command that only requires authentication, not
a permission
2018-08-18 18:28:41 +01:00
jesopo
054a98c0c8 Added !resetkarma in karma.py 2018-08-18 18:28:27 +01:00
jesopo
dacf74e2b1 Show spin colour, make sure there's bet amounts for all bets, fix street regex,
show total winnings and support low/high for !roulette in coins.py
2018-08-18 18:26:47 +01:00
jesopo
ea9073d12f Add indexes to settings tables 2018-08-18 18:26:04 +01:00
jesopo
84a793caf2 Support multiple bets in one go with !roulette in coins.py 2018-08-16 11:54:51 +01:00
jesopo
8ef02fdbd8 Added streets and big/small to !roulette 2018-08-15 18:33:14 +01:00
jesopo
eb3155d3e0 implemented !roulette in coins.py 2018-08-15 17:55:05 +01:00
jesopo
bc6278f9df username -> lastfm_username 2018-08-15 10:34:58 +01:00
jesopo
51cf5c56d4 save !to commands for the target user, not the user sending the command! 2018-08-13 18:19:17 +01:00
jesopo
0f09184e48 Add setting to prevent sending a random quote on quit 2018-08-13 16:04:27 +01:00
jesopo
63418dc0f3 Don't show actual lastfm name unless it was explicitly provided 2018-08-13 16:04:08 +01:00
jesopo
b369f5d6e8 Use regex match to avoid coin values less than 0.01 2018-08-13 16:01:06 +01:00