3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-26 20:52:45 +01:00
Commit Graph

3085 Commits

Author SHA1 Message Date
James Lu
e39b4e9c69 Move utils.is* methods into PyLinkNetworkCoreWithUtils (#476) 2017-08-28 20:07:31 -07:00
James Lu
2a7594e56e Move PUIDGenerator->classes, IncrementalUIDGenerator->ircs2s_common (#476) 2017-08-28 19:42:24 -07:00
James Lu
b1159400f1 Move DeprecatedAttributesObject, CamelCaseToSnakeCase to structures (#476) 2017-08-28 19:36:55 -07:00
James Lu
0907f05296 Condense (deep)copy definitions into structures.CopyWrapper 2017-08-25 17:05:53 -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
2700e42ebf structures: rework classes & implement (IRC)CaseInsensitiveSet 2017-08-25 13:21:02 -07:00
James Lu
1cdb5fc025 hybrid, ratbox: remove extban definitions 2017-08-25 12:24:09 -07:00
James Lu
ba649fb8b4 utils, exttargets: add checks for channel presence 2017-08-25 02:31:26 -07:00
James Lu
1031aaa320 relay: add checks for channel presence 2017-08-25 02:29:10 -07:00
James Lu
cdb575236e inspircd: remove a useless and misformatted debug line 2017-08-25 02:13:15 -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
f34198647e structures: support a 'data' keyword argument in (IRC)CaseInsensitiveDict 2017-08-25 02:07:54 -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
7230aaa7df Add extbans docs (#498) 2017-08-24 01:07:50 -07:00
James Lu
b214a8f4c0 unreal: fix wrong case in opertype extban 2017-08-24 00:55:55 -07:00
James Lu
1408622694 ts6: add definitions for inverted extbans as well 2017-08-23 23:23:28 -07:00
James Lu
579bfecdb4 relay: improve logging related to extban handling 2017-08-23 23:23:02 -07:00
James Lu
11d63e19cd relay: allow adding back multiple extban prefixes (#498)
This fixes inbound relaying of modes such as +q $a:test, which are eventually converted into double extbans on InspIRCd and UnrealIRCd.
2017-08-23 22:29:14 -07:00
James Lu
c6ca89b48a Fill in the rest of the extbans list for inspircd & unreal (#498) 2017-08-23 21:47:43 -07:00
James Lu
de1a6379df Add (experimental) support for matching extbans (#498) 2017-08-23 21:18:57 -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
96c89b13b1 opercmds: send KILL hook payloads from the calling user
This is so that Relay's kill warnings, etc. can be actually be routed back to the sender.
2017-08-22 23:55:53 -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
29bb4c3dfd relay_clientbot: bump default startup delay to 20 seconds 2017-08-21 23:16:38 -07:00
James Lu
f5f30c118a structures: add collections.abc import (py3.4 support) 2017-08-21 23:15:38 -07:00
James Lu
83183b366a exec: import all of pylinkirc for convenience 2017-08-21 23:12:42 -07:00
James Lu
62e4e66321 example-conf: dcument the altnicks option on clientbot 2017-08-21 23:12:22 -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
04cfa9c93e ServiceBot: add altnick fetching capabilities to get_nick (#288) 2017-08-21 22:22:01 -07:00
James Lu
d28006ae62 Move ProtocolError to utils, and link the copy in classes to it 2017-08-21 22:21:09 -07:00
James Lu
89699051d5 Services API rework
- Move nick/ident/host/gecos fetching from services_support into functions
- Remove the unused 'ident' argument from ServiceBot
- Rename the 'nick' argument in ServiceBot to 'default_nick'
- Define default nicks for the PyLink, Automode, and Games services
2017-08-21 21:51:45 -07:00
James Lu
3e150d8514 Break up classes.ChannelState into structures.(IRC)CaseInsensitiveDict 2017-08-21 21:50:44 -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
36e8ddd97e Remove log/ from source folder, it's not necessary 2017-08-19 23:23: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
ffc734d8e2 relay: only send RAW_MODES payloads to networks without can-spawn-clients 2017-08-18 15:51:14 -07:00
James Lu
15be760b19 relay: send RELAY_RAW_MODE payloads to the *remote* channel name 2017-08-18 13:30:17 -07:00
James Lu
8563556850 relay: fix relaying between channels not matching their lowercase (DB) name
This rewrites get_relay() to be case insensitive by taking the IRC object instead of a string name.
This fixes a regression introduced by 32249ac (case-insensitive channel state)
2017-08-18 12:42:47 -07:00