James Lu
cc40cacb7a
Irc.joinModes(): sort mode list before formatting
2016-06-30 19:52:06 -07:00
James Lu
1ac1e3eca6
Irc: fix wrong target for reply()
2016-06-30 18:36:40 -07:00
James Lu
02405c36b5
core, fantasy: redo handling of noticed and/or private replies
...
New behaviour for command responses in general: FANTASY commands reply in channel as PRIVMSG, while all commands sent in PM reply as private notices.
- The old irc.called_by is now irc.called_in (PLACE last command was called)
- irc.called_by is now used to store the CALLER of the last command
- notice=True/False toggle is dropped from ServiceBot.call_cmd()
- New private=True/False option added to ServiceBot.reply() and irc.reply(), which controls whether replies should be sent privately or not.
2016-06-30 18:22:45 -07:00
James Lu
e4b400042e
core: make maxnicklen optional, defaulting it to 30
2016-06-27 22:39:18 -07:00
James Lu
9374bccb6f
Merge remote-tracking branch 'origin/master' into devel
2016-06-27 21:47:55 -07:00
James Lu
0fbf9e165c
Irc: forcibly disable SSLv2 and SSLv3
2016-06-26 10:02:27 -07:00
James Lu
9d7fb4ed70
updateTS: fix typo in error message
2016-06-25 14:00:26 -07:00
James Lu
fbeb3a3747
protocols: fix ts actually defaulting to None in sjoin()
2016-06-25 13:56:24 -07:00
James Lu
9ea6769c54
parseModes: allow type str as modestring
2016-06-25 13:08:49 -07:00
James Lu
5e16eeea41
updateTS: skip applying modes if there aren't any
2016-06-25 12:54:56 -07:00
James Lu
f009a739bc
Merge remote-tracking branch 'origin/master' into devel
2016-06-25 11:36:55 -07:00
James Lu
51f1506f90
updateTS: remove mentions of 'outbound' variable from logging
2016-06-25 11:34:14 -07:00
James Lu
4c00479d78
Irc: lower ping frequency & timeout to 90/180
...
180*3 seconds is equivalent to 9 minutes. That's a long time for a dead network to stay connected.
2016-06-24 18:14:03 -07:00
James Lu
167963ddc4
updateTS: fix handling for outbound modes
...
Outgoing and incoming modes should be handled the same way - we're only dealing with a "received TS" which could originate from PyLink (sjoin() in protocols) OR the uplink.
2016-06-24 13:24:44 -07:00
James Lu
7f829ba0ec
updateTS: apply TS on channel regardless of whether mode changes pass
2016-06-24 13:15:26 -07:00
James Lu
f2b139c828
core: make inbound SJOINs also respect the updateTS() rules
2016-06-22 22:28:15 -07:00
James Lu
6b8e80cd5b
core/protocols: add modes option in sjoin(), TS6 BMASK, and mode TS rules in updateTS()
...
Closes #249 .
Closes #250 .
2016-06-22 21:34:16 -07:00
James Lu
dd08c01791
Irc: default pingTimer to None before starting connections
...
(cherry picked from commit 42ec6f2502
)
2016-06-21 20:34:48 -07:00
James Lu
42ec6f2502
Irc: default pingTimer to None before starting connections
2016-06-21 10:54:07 -07:00
James Lu
481d70eff8
New import paths for properly installed pylinkirc
2016-06-20 18:18:54 -07:00
James Lu
f555a484f9
Irc: unconditionally call disconnect() on errors or ping timeouts
...
This prevents duplicated ping timer threads from spawning, I think...
2016-06-15 10:55:47 -07:00
James Lu
b1a5f864d8
Irc: resolve hostnames when connecting
...
Cloeses #158 .
2016-06-11 11:29:11 -07:00
James Lu
eeca570cc4
classes: make pingfreq consistent, bump timeouts
2016-06-06 07:34:48 -07:00
James Lu
553415f6f7
classes: higher default pingfreq (90)
2016-05-25 16:19:35 -07:00
James Lu
2e1163fdb8
Irc: introduce isServiceBot checker
2016-05-14 16:17:12 -07:00
Daniel Oaks
c3e4cfa2de
games: Create BotClient class, use bot_clients instead of games_user
2016-05-14 14:53:19 -07:00
James Lu
32bc5f120b
core: migrate the main client to ServiceBot ( #216 )
...
- irc.spawnMain is dropped. Clients are now spawned in the endburst loop, after protocol negotiation completes. This allows PyLink to spawn clients with hideoper, etc., closing #194 .
- utils.add_cmd and irc.callCommand are now just wrappers around world.services['pylink'].add_cmd and call_cmd respectively.
- coreplugin registers the main client while it is loaded up, before any commands are added.
2016-05-14 13:29:23 -07:00
James Lu
9236f7e095
Irc: fix NameError caused by 0c7faed
2016-05-14 12:19:38 -07:00
James Lu
123e72d162
Merge branch 'devel' into wip/services
2016-05-14 11:58:49 -07:00
James Lu
33034b23f1
Irc.applyModes: assume modes are being added if no +/- is given
2016-05-14 11:58:22 -07:00
James Lu
0c7faed213
Move NotAuthenticatedError class back into utils
...
This is needed because ServiceBot exists in utils, and utils cannot import classes without a bad import loop happening.
2016-05-14 10:05:18 -07:00
James Lu
beae4eea9e
core: rename utils.fullVersion -> irc.version ( #199 )
2016-04-30 17:00:28 -07:00
James Lu
3bb1208e74
core: move toLower to Irc ( #199 )
2016-04-30 16:57:38 -07:00
James Lu
2fe2e9c8c4
core: move isOper, checkAuthenticated to Irc ( #199 )
2016-04-30 16:54:11 -07:00
James Lu
78f8a2fc8d
core: move isManipulatableClient, getHostmask to Irc
2016-04-30 16:44:37 -07:00
James Lu
064cb9b6aa
core: move reverseModes, joinModes into Irc
2016-04-30 16:33:46 -07:00
James Lu
bd0874a484
Merge branch 'wip/split-utils' into devel
2016-04-29 23:32:52 -07:00
James Lu
3b04d1abdc
Irc: raise connection failure log levels to error
2016-04-25 19:14:34 -07:00
James Lu
84822fb1d6
Move applyModes, parseModes into Irc, suppressing deprecation warnings for now ( #199 )
2016-04-24 21:44:27 -07:00
James Lu
7f46e1c35c
Separate KeyedDefaultdict into new structures module ( #199 )
2016-04-24 21:11:36 -07:00
James Lu
534242ef29
Irc: fix disconnect logic in ping timeouts
...
Call disconnect() in the event of a ping timeout. Curse these extra indents!
2016-04-18 18:14:42 -07:00
James Lu
0f0ae8fc2f
Protocol: remove desync warning in getUid
2016-04-15 11:37:53 -07:00
James Lu
3a00e46b48
Move getSid/getUid into classes.Protocol
2016-04-10 19:00:44 -07:00
James Lu
99d861861d
Let's use a default pingfreq value that makes sense...
...
Change this from 30 seconds to 180. Even for semi-important servers, 30 seconds between PING requests is a bit overkill.
2016-04-07 18:45:42 -07:00
James Lu
16779aa5ce
classes: remove lower() call when storing netname
...
An hour of debugging protocol/unreal and it turns out the issue was not there, but this.
2016-04-02 12:11:35 -07:00
James Lu
3e7255e4b2
classes: remove ts6-specific hack in Protocol.removeClient
2016-04-01 22:55:03 -07:00
James Lu
44083ccd5e
core: Store opertype info in all IrcUser objects
...
This allows plugins to define custom opertypes for their clients, and still have them show in WHOIS queries.
2016-03-26 12:55:23 -07:00
James Lu
fbd8659a7d
classes: spawn PyLink clients with a custom opertype
2016-03-26 12:49:10 -07:00
James Lu
45c2abdae7
Irc: run initVars() on connect too
...
2b16f25b61
is wrong; it caused reconnects to fail with disconnect loops.
2016-03-25 17:14:16 -07:00
James Lu
b2b04c8e75
classes: really ignore errors when shutting down sockets
2016-03-25 17:03:25 -07:00