3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-25 03:59:32 +01:00
Commit Graph

2261 Commits

Author SHA1 Message Date
James Lu
af027e2288 networks: support protocol module reloading
Closes #177.
2016-07-25 11:00:56 -07:00
James Lu
fcf364f958 clientbot: initialize users with umode +i by default 2016-07-25 00:00:27 -07:00
James Lu
fd8ba5edfc 0.9.0 2016-07-24 22:49:05 -07:00
James Lu
3c1090cb46 opercmds: make 'kick' treat channels case insensitively
(cherry picked from commit d008814de9)
2016-07-24 22:15:48 -07:00
James Lu
3ba59f7c54 opercmds: make 'jupe' admin only
(cherry picked from commit a2c5b11194)
2016-07-24 22:15:48 -07:00
James Lu
a28405c9ff exec: make pylinkirc and importlib accessible
(cherry picked from commit bcf5f612cc)
2016-07-24 22:15:48 -07:00
James Lu
02bac384df commands: mention the VCS version as well
(cherry picked from commit 04e37ebd04)
2016-07-24 22:15:48 -07:00
James Lu
b9e00c7261 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.

(cherry picked from commit bda39b4838)
2016-07-24 22:15:48 -07:00
James Lu
d008814de9 opercmds: make 'kick' treat channels case insensitively 2016-07-24 16:40:31 -07:00
James Lu
a2c5b11194 opercmds: make 'jupe' admin only 2016-07-24 16:40:23 -07:00
James Lu
c8ec2d9600 handlers: remove obsolete comment about WHOIS 2016-07-24 13:48:03 -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
bcf5f612cc exec: make pylinkirc and importlib accessible 2016-07-24 11:51:44 -07:00
James Lu
8fc310eb24 clientbot: clear who / kick state on connect 2016-07-24 11:15:33 -07:00
James Lu
832f22e7f0 relay: remove unnecessary "Relay plugin unloaded" quits 2016-07-24 11:13:51 -07:00
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