Commit graph

2229 commits

Author SHA1 Message Date
jesopo
69d58eede2 Move src/Utils.py in to src/utils/, splitting functionality out in to modules of
related functionality
2018-10-03 13:22:37 +01:00
jesopo
760c9d8844 Add a way to not add a user automatically in IRCServer.get_user 2018-10-03 11:32:31 +01:00
jesopo
489d508997 Fix BATCH parsing 2018-10-03 11:32:20 +01:00
jesopo
2b349105aa Move parsing IRC lines to src/Utils.py, added base support for parsing outgoing
messages
2018-10-03 11:31:51 +01:00
Evelyn
92477e0fba NR: Fix message colouring 2018-10-03 07:19:59 +01:00
jesopo
9118af5e9c Support changing command responses from PRIVMSG to NOTICE 2018-10-02 21:40:34 +01:00
jesopo
74180cb103 Simplify Utils.seperate_hostmask 2018-10-02 17:59:33 +01:00
jesopo
22740e2faa Re-add lost "!" prefix on stderr prefix 2018-10-02 17:48:07 +01:00
jesopo
e27c0e0a0c Simplify modules/line_handler.handle 2018-10-02 17:47:45 +01:00
jesopo
59a5d1283a Make use of str.partition in Utils.parse_docstring 2018-10-02 17:47:28 +01:00
jesopo
362bbf89f7 ... actually add src/IRCObject.py to git. that should have been present many
commits ago.
2018-10-02 15:16:20 +01:00
jesopo
8f05f66a03 .strip() target name in !karma 2018-10-02 15:14:42 +01:00
jesopo
a9b0dd331b Correctly set nickname-only karma 2018-10-02 15:14:34 +01:00
jesopo
c7e4ae6e12 use Utils.irc_lower, not .lower() 2018-10-02 15:14:06 +01:00
jesopo
150788c6c6 Add !leave to modules/channel_op.py 2018-10-02 14:55:12 +01:00
jesopo
16474dacef Don't complain when modules/karma.py can't find a user when it's in
karma-nickname-only mode
2018-10-02 14:35:35 +01:00
jesopo
67c22416cc Use PRIORITY_MONITOR for keeping count of words (to avoid seeing commands) 2018-10-02 14:29:51 +01:00
jesopo
64733eb37f Implement karma-nickname-only, to only allow karma for users in the current
channel
2018-10-02 14:29:32 +01:00
jesopo
a7563c9653 Pass msgid in send_stdout/send_stdin in modules/commands.py 2018-10-02 14:22:42 +01:00
jesopo
a76f206551 It's 'draft/msgid' not just 'msgid', also actually store 'msgid' in self._msgid 2018-10-01 17:52:04 +01:00
jesopo
26bfd61487 The correct msgid reply tag (at the moment) is '+draft/reply' 2018-10-01 17:28:45 +01:00
jesopo
976b6ae335 Better support for msgtags with PRIVMSGs; put functionality in to
modules/commands.py to reply to specific messages by use of msgids
2018-10-01 17:26:31 +01:00
jesopo
3201f198da EventHook._call takes 3 args 2018-10-01 16:33:04 +01:00
jesopo
e9416034df Typo in modules.commands.py, 'unsafe_call' -> 'call_unsafe' 2018-10-01 16:32:24 +01:00
jesopo
ee96b3310b Some networks send NICK as 'nick!user@host NICK newnick` instead of
'nick!user@host NICK :newnick' (which is RFC compliant but BitBot didn't support
it)
2018-10-01 16:13:08 +01:00
jesopo
cf83c310dd Change trace logging level from 5 to logging.DEBUG-1 2018-10-01 16:04:41 +01:00
jesopo
7eb31820d7 Add call_unsafe functions to EventManager.EventHook, to not swallow errors on
specific function calls (e.g. preprocess.command)
2018-10-01 16:04:06 +01:00
jesopo
6af738107b Implement client-side bindhost 2018-10-01 14:06:50 +01:00
jesopo
59243f492f Implement src/IRCObject.py to convert specific objects in to strings when
passing them to modules/scripts.py scripts
2018-10-01 13:48:55 +01:00
jesopo
120acf54ec Add 'trace' logging level for src/Database.py and src/EventManager.py very
verbose debugging
2018-10-01 13:48:22 +01:00
jesopo
300eadf9b6 Change modules/line_handler.py to use @Utils.hook 2018-10-01 13:47:45 +01:00
jesopo
31c19aec69 Added setpassword command to modules/permissions.py 2018-09-30 22:11:37 +01:00
jesopo
1cbca6fb88 Update a reference from buffer to target.buffer in modules/commands.py 2018-09-30 20:53:58 +01:00
jesopo
a879125883 Typo in modules/check_mode.py; 'required_mode' -> 'require_mode' 2018-09-30 20:53:36 +01:00
jesopo
416d744291 Log remaining referrers to a module when it's unloaded 2018-09-30 20:12:28 +01:00
jesopo
43740d40f4 Add modules/strip_color.py 2018-09-30 20:12:11 +01:00
jesopo
c87728a87d Move src/IRCLineHandler.py to modules/line_handler.py 2018-09-30 19:43:20 +01:00
jesopo
1f2c2b719b Cache._items is a {id: [item, timeout]} dict, not {id: item} 2018-09-30 18:00:23 +01:00
jesopo
10ef985a8a Switch to using docstring for usage, permission and require_mode 2018-09-30 17:29:09 +01:00
jesopo
44887ab51d received.command takes a final [command] part 2018-09-30 15:07:39 +01:00
jesopo
16dc2c39a9 Refactor modules/channel_op.py and add !tempban/!tempkickban 2018-09-30 13:28:26 +01:00
jesopo
c415cbfd80 Change ### to #### 2018-09-30 12:07:00 +01:00
jesopo
6ae3182aeb Add header to EVENTS.md 2018-09-30 12:00:59 +01:00
jesopo
8f2f1b43f2 Make section headers ## instead of ### 2018-09-30 11:59:37 +01:00
jesopo
a448235ac9 "> " is actually a block quote. also change from ** ** to #### 2018-09-30 11:56:54 +01:00
jesopo
8a8ae40afa Change arguments to be block quotes (`` ``) 2018-09-30 11:52:46 +01:00
jesopo
f3d21b0658 Change event names to bold, titles to ### 2018-09-30 11:46:45 +01:00
jesopo
2931d42dee Add first version of EVENTS.md 2018-09-30 11:43:52 +01:00
jesopo
30641ce312 We don't need to explicitly pass "buffer" through on command events 2018-09-30 11:43:34 +01:00
jesopo
7ab8948101 Fix piece of modules/define.py._get_definition( that was accepting a word or an
event.
2018-09-30 10:27:50 +01:00