Commit graph

60 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
9118af5e9c Support changing command responses from PRIVMSG to NOTICE 2018-10-02 21:40:34 +01:00
jesopo
22740e2faa Re-add lost "!" prefix on stderr prefix 2018-10-02 17:48:07 +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
e9416034df Typo in modules.commands.py, 'unsafe_call' -> 'call_unsafe' 2018-10-01 16:32:24 +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
1cbca6fb88 Update a reference from buffer to target.buffer in modules/commands.py 2018-09-30 20:53:58 +01:00
jesopo
10ef985a8a Switch to using docstring for usage, permission and require_mode 2018-09-30 17:29:09 +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
3dbd997a90 Better .strip()/.split() logic for !help 2018-09-29 10:50:25 +01:00
jesopo
746155fd57 Support command hooks not coming from a class instance 2018-09-29 09:44:13 +01:00
jesopo
6eb8b1ba6d Move all exports to @Utils.export calls 2018-09-27 12:08:07 +01:00
jesopo
51a52e2b0e Switch to using @Utils.hook and docstrings for event hooks 2018-09-26 18:27:17 +01:00
jesopo
4d41848b57 Also use docstrings to check if a command has help available, allow one-string
denotation of multiple event hooks
2018-09-26 18:26:29 +01:00
jesopo
ebc77fa501 Support using docstrings as command help 2018-09-26 15:58:16 +01:00
jesopo
ecb9d7cb3f Move most code in root directory to src/ 2018-09-24 15:13:27 +01:00
dngfx
febb6d66e3 font reset at the beginning of commands to stop wonkiness with highlighting and fix duck decoys. 2018-09-22 19:10:52 +01:00
jesopo
a87196c608 Change Utils.color to take a string to wrap in color 2018-09-21 11:39:09 +01:00
jesopo
fcbb7c960c Refactor everything to use delimited events 2018-09-19 13:25:12 +01:00
jesopo
f3d8d35083 Send a FONT_RESET (\x0F) after stderr module names because a bug in weechat
pre-2.2 means that because red colors are displayed as red+bold, the second
FONT_COLOR (\x03) only resets the red coloring, not the bold, meaning the rest
of the line is bold.
2018-09-19 02:22:30 +01:00
jesopo
11e62bb945 Fix exception in commands.py any time anyone sends an empty or
whitespace-prefixed PRIVMSG
2018-09-19 00:44:04 +01:00
jesopo
bb5ff8ee0d Fix highlight checking in commands.py 2018-09-17 11:31:29 +01:00
jesopo
59912776c1 Make commands be processed under received.message.* at PRIORITY_LOW, eat the
event when it's done, change karma.py to use PRIORITY_MONITOR
2018-09-09 17:09:04 +01:00
jesopo
fd51d44c70 Utilise !serverset in more modules 2018-09-09 10:17:22 +01:00
jesopo
0f292f4617 Add !serverset and !serverget 2018-09-09 09:34:55 +01:00
jesopo
572ea85f1e Better indentation in commands.py 2018-09-09 09:06:17 +01:00
dngfx
2211cb0542 Fix a few niggles 2018-09-09 08:59:36 +01:00
dngfx
c8bbdddc59 FONT_RESET should be FONT_COLOR, also more string wizardry in ducks.py! 2018-09-09 03:39:29 +01:00
dongfix
11f7ebaa86 Add channel prefix to .usage (So it shows .8ball <question> instead of just 8ball <question>, based on the channel's prefix)
Updated ducks.py, more efficient code and style tweaks.
2018-09-09 01:19:00 +01:00
jesopo
e76c3b3230 Don't strip out empty arguments on commands.py 2018-09-06 17:25:58 +01:00
jesopo
a8dd9e059f Add !ignore and !unignore in commands.py 2018-09-06 16:05:14 +01:00
jesopo
ad775239b2 Send message-tags through PRIVMSG, NOTICE and !commands 2018-09-03 21:49:22 +01:00
jesopo
8c6ab17e57 give an Exports object (actually, ExportsContex object) to each module, to
facilitate things like !set and !channelset without using the events system
2018-09-02 19:54:45 +01:00
jesopo
9874f79b49 Give modules event objects with "context"s, to facilitate purging all the event
hooks for a module
2018-08-31 12:55:52 +01:00
jesopo
672b22e62c Change command.py to use call_limited 2018-08-28 16:35:07 +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
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
400aaf43d0 also empty command stdout when there's no !more 2018-08-05 20:43:52 +01:00
jesopo
718da30728 skip !more's out/err, added a way to split messages from their prefixes for
logging purposes
2018-07-14 09:50:12 +01:00
jesopo
0cc72d5d66 Added a "replay" system to EventManager hooks, to replay missed .calls 2017-12-26 10:32:36 +00:00
jesopo
0df7abb03e Handle empty CAP, additional IRCLog feature, better tls, better channel_save logic, add sed-sender-only setting
Signed-off-by: jesopo <github@lolnerd.net>
2017-10-27 13:15:33 +01:00
jesopo
a1ddc61af8
Reset font just before "(more)" truncation. 2016-12-05 23:32:31 +00:00
jesopo
5338859e31
added a function to Utils to get the "closest" setting, with channel/user settings being more important than server-wide settings. 2016-05-06 13:36:01 +01:00
jesopo
2d729b68c3
started passing some more helpful info when preprocessing a command. 2016-04-18 16:48:36 +01:00
jesopo
9c5f0d6035
added command-prefix to channel settings. 2016-04-14 16:48:44 +01:00
jesopo
1750c2b1ec
changed commands.py to show usage help (if available) when minimum arguments are not met. 2016-04-10 17:31:55 +01:00
jesopo
9b2556a65a
added usage help to a lot of modules, added a verbose option to karma.py. 2016-04-06 12:02:44 +01:00