Commit Graph

604 Commits (fcb6e2909f5211c24778741a2404b763914f9f99)

Author SHA1 Message Date
C. McEnroe fcb6e2909f Save and load buffer line heat 2020-03-31 14:12:43 -04:00
C. McEnroe bfa106b9a0 Store line heat in buffer 2020-03-31 14:07:21 -04:00
C. McEnroe 13ae7cec59 Add \bear, \cool, \hug, \unflip, \wave 2020-03-31 10:50:42 -04:00
C. McEnroe 16b16a72e5 Replace int opt; while with for loop in sandman 2020-03-31 10:17:21 -04:00
C. McEnroe ff78362826 Replace some declaration; while loops with for loops
I should have been using this for getopt loops already but the call here
is slightly too long to fit on one line as a for loop.
2020-03-30 19:44:45 -04:00
C. McEnroe a0dde10cb6 Add text macros 2020-03-30 14:56:26 -04:00
C. McEnroe 407eaf9dbf Tab complete from last iswspace 2020-03-30 13:27:35 -04:00
C. McEnroe 6bfeff71a2 Add /o alias for /open
I can't live without it.
2020-03-30 11:15:44 -04:00
C. McEnroe ebbb5ad4d2 Add /op, /deop, /voice, /devoice
This collides with using /o for /open which I'm sad about, but I think
these commands should exist...
2020-03-29 12:43:53 -04:00
C. McEnroe bb2f3c7a01 Rewrite mode formatting again and write to log
Going back to one line per mode change again because it's easier.
2020-03-28 12:08:10 -04:00
C. McEnroe 3dc998272e Log chat events
Still missing is logging MODE changes, which will be hell, unless it
just logs the raw stuff.
2020-03-25 18:58:48 -04:00
C. McEnroe d99f20c0ff Add logging functions
The mkdir dance is a bit awkward...
2020-03-25 18:56:09 -04:00
C. McEnroe 4f40ace9d4 Track MODE in replies 2020-03-23 16:52:24 -04:00
C. McEnroe 35ae4121cb Fix non-multiline command newline handling 2020-03-23 15:47:56 -04:00
C. McEnroe ef6518a627 Add M-Enter to insert a newline 2020-03-23 15:03:55 -04:00
C. McEnroe 60b189200e Handle bracketed paste, including newlines 2020-03-23 14:55:43 -04:00
C. McEnroe 3cb7cc97f6 Allow commands to take multiline input 2020-03-23 14:54:46 -04:00
C. McEnroe 7ea1a416a1 Bump edit buffer cap to 1024
With message splitting it's reasonable to allow this to be larger.
2020-03-23 13:45:28 -04:00
C. McEnroe cf1545870a Assume worst case for unknown user and host in splitMessage
The default USERLEN of 9 doesn't have a great source, the RFC only says
that nicks are length 9, so my assumption is that usernames are not
longer.
2020-03-23 13:25:10 -04:00
C. McEnroe 3bb3a11454 Implement message splitting 2020-03-22 15:13:33 -04:00
C. McEnroe be4283b8ff Handle empty input directly in command 2020-03-22 14:38:22 -04:00
C. McEnroe eb6316c235 Track own host, handle CHGHOST 2020-03-22 14:32:20 -04:00
C. McEnroe ccde1c2c8c Add /say 2020-03-22 14:19:11 -04:00
C. McEnroe 0d0a6d1575 Handle RPL_CHANNELMODEIS 2020-03-22 11:40:58 -04:00
C. McEnroe 61828a12e9 Handle user mode changes 2020-03-22 11:26:16 -04:00
C. McEnroe 8da45d9183 Rewrite handleMode 2020-03-22 11:18:21 -04:00
C. McEnroe 1c508b78ab Handle RPL_UMODEIS 2020-03-18 08:33:42 -04:00
C. McEnroe 1d5c4a5e34 Send blank line after 10 minutes idle
Without this, I was having catgirl "time out" from pounce's POV, but
without catgirl noticing anything... I still don't understand this. Been
using this fix for a couple weeks though and it stopped happening, and
it's otherwise harmless, but yikes.
2020-03-17 11:58:50 -04:00
C. McEnroe 2f53f75892 Ignore 422 ERR_NOMOTD
pounce will start sending these because some silly clients don't think
they're connected until some MOTD reply...
2020-03-09 03:08:59 -04:00
C. McEnroe 7e120f00a1 Set self.pos before handling the message
This intuitively feels wrong, but isn't. Most importantly, handleError
immediately exits, but we still need to "consume" that message,
otherwise pounce will keep sending it on reconnect. The same goes for
any other handler that might cause an exit, such as a require parameter
count failure.
2020-03-08 23:15:56 -04:00
C. McEnroe 5c167e4181 Prevent entering commands in <debug> if restricted
Because the <debug> ID always exists, it's possible to create a window
for it even while restricted with "/window <debug>" and try to enter
commands there.
2020-03-02 19:18:55 -05:00
C. McEnroe 8570a62235 Implement the causal.agency/consumer capability 2020-02-29 01:03:46 -05:00
C. McEnroe 78b4832bfe Add raw modes to mode message 2020-02-25 03:00:36 -05:00
C. McEnroe e9524b4af3 Handle changing setParamModes, paramModes and other channel modes 2020-02-25 02:54:15 -05:00
C. McEnroe 431945614d Fix handling EXCEPTS and INVEX without values 2020-02-25 02:24:29 -05:00
C. McEnroe 3c5e1c95a4 Add /mode, /except, /invex and handle lists replies 2020-02-25 02:12:35 -05:00
C. McEnroe c3c40d738b Accumulate mode changes into a buffer for one message 2020-02-23 22:44:19 -05:00
C. McEnroe 9609723dc6 Handle ERR_CHANOPRIVSNEEDED 2020-02-20 05:04:58 -05:00
C. McEnroe 50a6d34a55 Handle MODE changing channel list modes 2020-02-20 04:53:06 -05:00
C. McEnroe c2c8595012 Handle MODE setting channel prefix modes 2020-02-20 04:18:25 -05:00
C. McEnroe a5cd2cd97a Just use "b" to query ban list 2020-02-20 03:48:26 -05:00
C. McEnroe a3b6d5d9a7 Change ban list formatting 2020-02-20 03:44:57 -05:00
C. McEnroe b3c5458fc9 Rearrange some handlers 2020-02-20 03:18:48 -05:00
C. McEnroe 42ad42887c Handle RPL_INVITING when no invite-notify 2020-02-20 02:32:36 -05:00
C. McEnroe 5c79b16a51 Handle ERR_BANLISTFULL 2020-02-20 02:13:23 -05:00
C. McEnroe 1b01045bf0 Add handlers for user-in-channel errors 2020-02-20 01:52:58 -05:00
C. McEnroe f494fe6edb Add generic error reply handler
This should have been in way earlier...
2020-02-20 01:38:31 -05:00
C. McEnroe 56de4668ac Add /ban, /unban and handle ban list replies 2020-02-19 21:47:16 -05:00
C. McEnroe 2a33ee68dd Format WHOIS signon date with %F %T 2020-02-19 21:29:51 -05:00
C. McEnroe d5c4e7e371 Apply word wrapping to tabs before setting align
This fixes long URLs right after the initial \t being wrapped and line
counted incorrectly.
2020-02-19 20:31:29 -05:00