3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-01 09:19:23 +01:00
Commit Graph

123 Commits

Author SHA1 Message Date
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
James Lu
03b53aee59 Merge branch 'staging' into devel 2016-03-25 15:03:05 -07:00
James Lu
2b16f25b61 classes.Irc: clear state on disconnect, not on connect
Possible fix for #183 - when networks disconnect, their server index wasn't cleared properly, causing errors from servers already existing to be thrown when the same server name is spawned again.
2016-03-25 15:00:15 -07:00
James Lu
1930739aad Revert "Irc: don't call initVars() on IRC object initialization"
This reverts commit 5a68dc1bc5.
2016-03-25 14:54:29 -07:00
James Lu
f5f0df52ce classes: raise KeyError, not return KeyError... 2016-03-19 18:00:44 -07:00
James Lu
e948db5c7b classes: support looking at older versions of prefix modes mappings 2016-03-19 17:54:18 -07:00
James Lu
e8b0018585 classes: Implement IrcChannel.is(Voice|Halfop|Op)Plus (#168) 2016-03-19 17:37:38 -07:00
James Lu
ed333a6d1b classes: implement IrcChannel.isOp, isVoice, getPrefixmodes, etc
Ref #168.
2016-03-19 17:32:32 -07:00
James Lu
8135f3a735 core: Depluralize prefixmodes mappings (#168)
This is an API breaking change. I really don't know why I made these keys plural to start, since it only made things more complicated. Prefix modes are not pluralized in the list of supported modes of each IRCd.
2016-03-19 17:25:04 -07:00
James Lu
1d4350c4fd classes: provide IrcChannel objects with their own name using KeyedDefaultdict
Closes #171.
2016-03-19 17:01:39 -07:00
James Lu
b6889fb097 irc: fix spacing in certificate fingerprint logging 2016-03-07 20:30:24 -08:00
James Lu
cf15bed58d classes: add services_account field in IrcUser (#25), default 'identified' attribute to empty string instead of None 2016-02-07 18:11:09 -08:00
James Lu
0d4655c381 core: support multiple channel loggers with DIFFERENT log levels & fix example conf (#83) 2016-01-30 23:35:51 -08:00
James Lu
669e889e6f Support configurable SSL fingerprint hash types (Closes #157) 2016-01-30 23:04:13 -08:00
James Lu
14efb27fe8 Initial experimental support for logging to channels (#83)
Doesn't support rehashing and all that yet.
2016-01-23 13:52:37 -08:00
James Lu
5a68dc1bc5 Irc: don't call initVars() on IRC object initialization
This is already done in connect(), so it isn't really necessary to populate these variables when first connect hasn't happened yet.
2016-01-23 13:52:37 -08:00
James Lu
812a866a4e protocols: rename pingServer -> ping 2016-01-16 17:11:23 -08:00
James Lu
3a53005d8c protocols: messageClient -> message, noticeClient -> notice 2016-01-16 16:44:23 -08:00
James Lu
acdd7dbb78 protocols: rename joinClient(...) -> join(...) 2016-01-16 16:36:45 -08:00
James Lu
925e11d6c4 classes.Irc: when disconnecting, suppress socket read errors in run() (#152) 2016-01-09 20:25:53 -08:00
James Lu
cf2fcf9263 classes.Irc: only allow one shutdown sequence at a time (#152) 2016-01-09 20:25:53 -08:00
James Lu
f70ca54ae4 classes: IRC object disconnect tweaks (really fixes #152)
- disconnect() was missing a socket.shutdown() cause, as socket.close() does NOT cause connections to close immediately! https://docs.python.org/3/library/socket.html#socket.socket.close
- Merge _disconnect() and disconnect(), the latter was just a wrapper with little use
2016-01-09 20:04:10 -08:00
James Lu
b1aa4c2ec5 classes: show instance type in classes.IrcUser/IrcChannel/IrcServer 2016-01-09 19:15:39 -08:00
James Lu
0c48ea6791 Merge branch 'staging' into devel
Fix #154. This everts what was done to address #152, but unclean shutdowns are not as bad as having the server fork endlessly!
2016-01-07 22:08:12 -08:00
James Lu
a385bc32d9 Revert "classes: replace threading.Timer with normal threads for schedulePing"
This reverts commit 64bb646d1e.
2016-01-05 19:35:16 -08:00
James Lu
a7104dc01c Revert "classes: actually, loop schedulePing only when connection_thread is alive"
This reverts commit 124100fcf5.
2016-01-05 19:35:15 -08:00