3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-28 05:29:25 +01:00
Commit Graph

2095 Commits

Author SHA1 Message Date
James Lu
dc364b3e9e relay: explicitly don't sync modes originating from clientbot 2016-07-24 11:11:54 -07:00
James Lu
62f78a60a9 commands: refactor showchan to use IrcChannel.getPrefixModes() 2016-07-24 11:03:23 -07:00
James Lu
04e37ebd04 commands: mention the VCS version as well 2016-07-24 10:59:25 -07:00
James Lu
e226846446 0.10-dev1 2016-07-23 22:46:14 -07:00
James Lu
bda39b4838 setup: remove rolling package versions
This makes 'reload' after commit impossible, for example, because each version is installed in a separate folder. Also, versions from 'git describe' aren't compatible with PEP 440.
2016-07-23 22:46:08 -07:00
James Lu
8dd0a904d2 relay_cb: use the full network name in prefixes 2016-07-23 22:30:25 -07:00
James Lu
05a5ec7e19 relay: don't show "real server" for clientbot users, it's not accurately tracked 2016-07-23 22:30:10 -07:00
James Lu
cf804ca84e example-conf: mention automode 2016-07-23 22:15:54 -07:00
James Lu
e342889937 corecommands: really fix 'reload'
(cherry picked from commit 150bfe8c66)
2016-07-23 22:02:08 -07:00
James Lu
150bfe8c66 corecommands: really fix 'reload' 2016-07-23 21:59:25 -07:00
James Lu
d3ca49ceeb Revert "automode: bandaid fix for "service already registered" errors on first load"
This reverts commit 3b62d0af3e.
2016-07-23 21:56:08 -07:00
James Lu
795c163a69 Irc: use int values for ircmatch casemapping
The ircmatch version with casemapping variables hasn't been released on pip yet.

(cherry picked from commit 39675e15e8)
2016-07-23 21:52:23 -07:00
James Lu
3b62d0af3e automode: bandaid fix for "service already registered" errors on first load
(cherry picked from commit e2a853c98e)
2016-07-23 21:52:21 -07:00
James Lu
39675e15e8 Irc: use int values for ircmatch casemapping
The ircmatch version with casemapping variables hasn't been released on pip yet.
2016-07-23 21:51:26 -07:00
James Lu
e2a853c98e automode: bandaid fix for "service already registered" errors on first load 2016-07-23 21:46:55 -07:00
James Lu
38793654ea relay: error when someone attempts to PM a clientbot user
PMs aren't routed through Clientbot yet.
2016-07-23 21:09:25 -07:00
James Lu
51dcfb7d1e clientbot: don't leak private messages via the relay 2016-07-23 21:09:15 -07:00
James Lu
da9ab6ac90 Merge branch 'master' into devel 2016-07-23 20:57:26 -07:00
James Lu
b376aba591 docs/t: add Services API description
Closes #224.
2016-07-23 20:56:51 -07:00
James Lu
e56c9640dc ServiceBot: remove request/remove stubs for now 2016-07-23 19:57:05 -07:00
James Lu
7f7c8a8b51 Doxygen configuration & autorun script 2016-07-23 19:42:17 -07:00
James Lu
cadf0a336c relay: limit auto-rejoin-on-part to relay channels 2016-07-23 19:06:35 -07:00
James Lu
08525e8eba relay: treat forced parts to clientbot as clearchan 2016-07-23 19:03:07 -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
fdaed4f700 relay_clientbot: configurable formatting, with defaults 1000x prettier than janus 2016-07-23 12:05:22 -07:00
James Lu
a402d1057e clientbot: send CLIENTBOT_KICK payloads for external clients 2016-07-23 12:04:32 -07:00
James Lu
a9be5d0dc7 relay: treat kicks to the service bot on clientbot networks as clear channel
This is so if the bot is kickbanned from a channel, it will remove all users to prevent ghosts on the channel.

* cbot.relay has kicked ChanServ/cbot from #test ((xdxdxd.xdxdxd/cbot) Clientbot was kicked from channel.)
2016-07-23 11:20:52 -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
c6fcdd854c parseModes: give prefix modes precedence over mode types 2016-07-21 19:11:19 -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
357e8327c4 pylink: less ambiguous error when module isn't installed 2016-07-21 00:02:37 -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