James Lu
fca23c7d55
nefarious: forward CMODE and KICK through the server if the sender isn't opped
...
This prevents mode bounces, kick failures, and the HACK server notices from showing up.
2016-07-26 18:31:23 -07:00
James Lu
8ce0ceee37
clientbot: properly track oper
2016-07-25 11:02:25 -07:00
James Lu
db9f362857
clientbot: use colon for realname in USER
2016-07-25 11:02:08 -07:00
James Lu
fcf364f958
clientbot: initialize users with umode +i by default
2016-07-25 00:00:27 -07:00
James Lu
a905f74800
relay/clientbot: rework KICK handling to send the right thing at the right times
...
Some of the logic was inverted so that the Clientbot would try to kick invalid things like GLolol/ovd, and send clientbot KICK payloads when it's supposed to forward an actual kick.
This also fixes KICKs from servers not being relayed by clientbot.
2016-07-24 11:55:46 -07:00
James Lu
05972e500c
clientbot: fix marking of internal/external servers
2016-07-24 11:52:34 -07:00
James Lu
8fc310eb24
clientbot: clear who / kick state on connect
2016-07-24 11:15:33 -07:00
James Lu
51dcfb7d1e
clientbot: don't leak private messages via the relay
2016-07-23 21:09:15 -07:00
James Lu
0db9d4e69e
relay/clientbot: support relaying KICK, QUIT, NICK, CTCP ACTION, and NOTICE
2016-07-23 18:48:27 -07:00
James Lu
3ec11680ea
clientbot: handle nick conflicts on connect (43x)
2016-07-23 12:48:26 -07:00
James Lu
a662f93e15
clientbot: fix part/kick handling to only keep state for internal clients
2016-07-23 12:36:13 -07:00
James Lu
3e91118644
relay/clientbot: implement kick, join, part relaying
2016-07-23 12:25:52 -07:00
James Lu
a402d1057e
clientbot: send CLIENTBOT_KICK payloads for external clients
2016-07-23 12:04:32 -07:00
James Lu
88e510b4cf
clientbot: begin work on special hooks & move event relaying to a separate plugin
2016-07-23 01:16:26 -07:00
James Lu
7eaf074019
clientbot: poll WHO once every pingfreq
2016-07-23 00:06:11 -07:00
James Lu
91310164be
clientbot: more descriptive default hostmasks
2016-07-22 22:52:06 -07:00
James Lu
734db841f1
clientbot: track failed KICKs with /NAMES & a timer
...
Suggested by @cooper.
This tracking system solves the problem of failed relay kicks causing channel desyncs, because what's seen as a successful KICK when PyLink is linked as a service might not forward
successfully on clientbot network. This can be caused due to the clientbot not being opped, the target being immune or having higher access than the clientbot, etc. When a NAMES reply
(delayed in this case) is received for any channel where an initial /WHO has already been received, a JOIN hook will be sent for any users on the kick queue to rejoin them on the relay.
2016-07-22 22:36:34 -07:00
James Lu
d41d123969
clientbot: send away hook and remove extraneous stub assignment
2016-07-22 00:45:37 -07:00
James Lu
ff807b3d47
clientbot: basic WHO handling, implement away() stub
2016-07-22 00:22:56 -07:00
James Lu
04ed7a8f5d
clientbot: add MODE handling
2016-07-21 19:12:05 -07:00
James Lu
3d7e8f8420
clientbot: fix wrong args to _squit
2016-07-21 19:11:57 -07:00
James Lu
2d886367b5
clientbot: handle prefix modes in NAMES
2016-07-21 18:49:01 -07:00
James Lu
deddbde2b0
clientbot: implement updateClient for tracking client ident/host
2016-07-21 18:49:01 -07:00
James Lu
3e8ed35aea
clientbot: stub kill() and numeric()
2016-07-21 18:16:15 -07:00
James Lu
95ee94e747
clientbot: implement outgoing INVITE
2016-07-21 18:14:23 -07:00
James Lu
a2043d6762
clientbot: make services clients manipulatable
2016-07-21 18:13:17 -07:00
James Lu
1507a87f31
clientbot: wait for KICK acknowledgement before updating state
2016-07-21 18:04:36 -07:00
James Lu
09ce38a53d
clientbot: fix wrong variable
2016-07-21 00:11:15 -07:00
James Lu
dac043a1b6
clientbot: stub updateClient too
2016-07-21 00:04:49 -07:00
James Lu
7a93c1bbb1
clientbot: capability negotiation (cmodes,umodes,prefixmodes,casemapping)
2016-07-20 23:59:22 -07:00
James Lu
eef54cd77d
classes: Move ISUPPORT-style PREFIX and capabilities handling to Protocol
2016-07-20 23:59:22 -07:00
James Lu
75d88224f1
clientbot: document some functions
2016-07-20 23:59:22 -07:00
James Lu
d2a3a64293
clientbot: use rfc2812-style USER, kthx
2016-07-20 23:59:22 -07:00
James Lu
f970f760aa
clientbot: *untested* autopreform support
2016-07-20 23:55:34 -07:00
James Lu
8fb3310d33
clientbot: properly stub a lot more functions
2016-07-20 23:55:34 -07:00
James Lu
dd0c5c7e63
clientbot: format kick reasons with the sender prefix
2016-07-20 23:55:34 -07:00
James Lu
e7ae6ddbff
clientbot: in conditionals, don't break if irc.pseudoclient isn't set yet
2016-07-20 23:55:34 -07:00
James Lu
de618393c0
Fix SQUIT handling from 2f1a338
2016-07-20 23:55:34 -07:00
James Lu
387d47808c
clientbot: add nick, kick handling; squit and sjoin stubs
2016-07-20 23:55:34 -07:00
James Lu
154421ffde
Move SQUIT abstraction into core
2016-07-20 23:55:34 -07:00
James Lu
8b4b08f589
clientbot: names, join, part, quit handling
2016-07-20 23:55:34 -07:00
James Lu
027dfe46a4
clientbot: handle notice, privmsg
...
This is literally the world's most useless IRC bot now.
2016-07-20 23:55:34 -07:00
James Lu
b1b13a5c63
clientbot: fix args list
2016-07-20 23:55:34 -07:00
James Lu
8981d71fd0
protocols: rename _getOutgoingNick() -> _expandPUID()
2016-07-20 23:55:34 -07:00
James Lu
e0b254e6ad
clientbot: ping/pong support
2016-07-20 23:55:34 -07:00
James Lu
58fa769ba0
clientbot: implement JOIN, uplink enumeration
2016-07-20 23:55:34 -07:00
James Lu
c52d542ed8
Initial Clientbot stub, with very rudimentary user handling ( #144 )
2016-07-20 23:55:34 -07:00
James Lu
1770058e1b
Move ts6_common.parseTS6Args to ts6_common.parsePrefixedArgs
2016-07-20 23:55:34 -07:00
James Lu
47a0a7f8c6
Make plugins/ and protocols/ namespaces
2016-07-20 23:55:26 -07:00
James Lu
80d7be8c7d
nefarious: add (untested) SVSNICK handler based on P10 docs
...
Closes #269 .
2016-07-12 21:58:08 -07:00