James Lu
c4a3baca7d
protocols: switch to self.is*
2017-08-28 20:07:36 -07:00
James Lu
2a7594e56e
Move PUIDGenerator->classes, IncrementalUIDGenerator->ircs2s_common ( #476 )
2017-08-28 19:42:24 -07:00
James Lu
8c0f19422f
core: Add irc argument to User and Server classes
...
Also, add a __deepcopy__ override to channel because we cannot clone IRCNetwork objects (locks cannot be pickled).
2017-08-25 13:53:45 -07:00
James Lu
96a202acce
core: make User.channels use IRCCaseInsensitiveSet
...
Closes #515 . This is an API breaking change!
2017-08-25 13:26:34 -07:00
James Lu
80766e051e
core: define two (joined) versions of the channels index
...
Closes #509 .
PyLinkNetworkCore.channels is split into the following:
- irc._channels which implicitly creates channels on access (mostly used in protocol modules)
- irc.channels which does not (recommended for use by plugins)
2017-08-25 02:12:08 -07:00
James Lu
a02fa45d96
clientbot: use existing fallback hostname abstraction instead of hardcoding it separately
2017-08-24 01:12:45 -07:00
James Lu
903f86a342
clientbot: add extended-join support ( #290 )
2017-08-23 19:28:10 -07:00
James Lu
abdc67e0c1
clientbot: track numeric 900 (RPL_LOGGEDIN) and set our own account name
...
This is mostly for completeness.
2017-08-23 19:19:53 -07:00
James Lu
c9f10796ee
clientbot: move services account setting bits into a shared function
2017-08-23 19:16:20 -07:00
James Lu
c2fc9080cc
clientbot: don't send JOIN hooks for the bot itself when receiving JOIN
...
Closes #519 .
2017-08-23 19:11:15 -07:00
James Lu
bd6272abf6
clientbot: add a dummy internal host for the clientbot bot...
2017-08-21 23:28:10 -07:00
James Lu
060a947798
clientbot: whoops, fix wrong arg count for WHOX services acc handling
2017-08-21 23:27:47 -07:00
James Lu
0bb4a35c6f
Support pre-auth irc.pseudoclient enumeration & configurable altnicks
...
Closes #516 . Closes #288 .
2017-08-21 23:05:56 -07:00
James Lu
6981869c06
clientbot: split up join() and handle_join() to prevent duplicate JOIN/MODE/WHO on connect
2017-08-20 19:24:46 -07:00
James Lu
81f3112d01
clientbot: use WHOX where available to fetch account names on join
2017-08-20 18:49:07 -07:00
James Lu
55f50eb251
clientbot: don't send /NAMES on join, it isn't needed
2017-08-20 17:29:03 -07:00
James Lu
85f283c5f8
clientbot: add support for IRCv3.2 account-tag ( #290 )
2017-08-20 16:52:23 -07:00
James Lu
48c6765411
clientbot: add support for IRCv3.1 account-notify ( #290 )
2017-08-20 16:12:25 -07:00
James Lu
0bbe5d3a1a
clientbot: add support for IRCv3 CHGHOST ( #290 )
2017-08-19 23:55:41 -07:00
James Lu
766450afd3
clientbot: add experimental userhost-in-names support ( #290 )
2017-08-19 23:23:19 -07:00
James Lu
471733bfd0
clientbot: track /who received status by user, not by channel
2017-08-19 22:29:08 -07:00
James Lu
72145e09b8
clientbot: implement away-notify support ( #290 )
2017-08-19 22:04:24 -07:00
James Lu
046fe0c385
protocols: add headers to modules where missing
2017-08-11 12:27:58 -07:00
James Lu
9702030bf5
protocols: continue removing to_lower() calls on channels ( #372 )
2017-08-07 21:54:33 -07:00
James Lu
07fa53d128
protocols: remove direct usage of to_lower() for channels
...
Not needed as of 32249ace3e
(ref #372 )
2017-08-06 18:05:14 -07:00
James Lu
970b38719d
core: rename ping() to _ping_uplink(), and drop the unused source/target arguments
2017-07-04 22:09:50 -07:00
James Lu
276b0b251d
protocols: move handle_pong to IRCCommonProtocol
2017-07-04 21:55:09 -07:00
James Lu
06d69aadf7
clientbot: fix self.connected.set() order
2017-07-03 13:04:43 -07:00
James Lu
ec308acfcb
protocols: move 005 handling code to IRCCommonProtocol
...
Also enable extended server negotiation for ngIRCd, which really just passes 005 between servers (nifty!)
2017-07-03 12:45:39 -07:00
James Lu
78034096a8
protocols: merge _expandPUID into ircs2s_common
2017-07-03 00:11:49 -07:00
James Lu
d4260734dc
clientbot: make sure incoming server messages don't clash with a PSID/PUID
2017-07-02 22:13:57 -07:00
James Lu
1e39fb78db
clientbot: rename _validateNick -> _check_puid_collision
2017-07-02 22:11:40 -07:00
James Lu
ce2852bdc0
clientbot: get rid of _get_SID in message parsing
...
It isn't needed because any external server messages are sent raw.
2017-07-02 22:09:22 -07:00
James Lu
51d8d3b3b8
clientbot: store external server names raw instead of using server name mangling
2017-07-02 21:59:40 -07:00
James Lu
ee5a884328
clientbot: fix imports for PyLink 2.0
2017-07-02 21:59:29 -07:00
James Lu
54d7fe6dc5
protocols: convert IrcServer usage to Server
2017-06-30 21:45:10 -07:00
James Lu
a204d2b2db
core: convert IrcUser calls to User
2017-06-30 21:44:31 -07:00
James Lu
b81a03fda9
protocols: Channel.removeuser -> Channel.remove_user
2017-06-30 21:40:50 -07:00
James Lu
7d68c03101
various: convert sortPrefixes/getPrefixModes calls to snake case
2017-06-30 21:40:05 -07:00
James Lu
927fa9aac9
protocols: updateClient -> update_client
2017-06-30 21:29:38 -07:00
James Lu
f38b9c9a2c
protocols: topicBurst -> topic_burst
2017-06-30 21:29:11 -07:00
James Lu
d0846170c4
protocols: spawnServer -> spawn_server
2017-06-30 21:27:15 -07:00
James Lu
f60dc8fa37
protocols: spawnClient -> spawn_client
2017-06-30 21:25:58 -07:00
James Lu
a4e321522b
protocols: migrate away from camel case
2017-06-29 22:56:14 -07:00
James Lu
77357b765e
clientbot: rename various private functions
...
* capEnd -> _do_cap_end
* requestNewCaps -> _request_ircv3_caps
* saslAuth -> _try_sasl_auth
* sendAuthChunk -> _send_auth_chunk
* parseMessageTags -> parse_message_tags
2017-06-27 22:28:31 -07:00
James Lu
310f3f23b8
protocols: rename various parse* functions (no migration stub)
...
Renamed to camel case:
- parseArgs -> parse_args
- parsePrefixedArgs -> parse_prefixed_args
Renamed to show that we're specifically parsing ISUPPORT data:
- parseCapabilities -> parse_isupport
- parsePrefixes -> parse_isupport_prefixes
2017-06-27 17:16:46 -07:00
James Lu
56275c5a3b
NetworkCore: rename removeClient -> _remove_client (no migration stub)
2017-06-27 16:21:30 -07:00
James Lu
7814914a05
classes, protocols: convert self.irc usage to self
2017-06-25 02:09:52 -07:00
James Lu
d0209f720a
Rewrite network intitialization bits
...
- Move protocols.connect -> protocols.post_connect to fix namespace conflict
- Starting an IRC connection is now explicit (via irc.connect instead of __init__)
2017-06-25 01:12:58 -07:00
James Lu
f8155ff74c
protocols: sed -i 's/_getSid/_get_SID/g'
2017-06-16 17:13:30 -07:00