Ken Spencer
b3075d3414
conf: change asserts to validations ( #414 )
2017-02-21 10:10:54 -08:00
James Lu
f83a81242a
conf: reuse already-fetched newlogins value
2017-02-20 19:31:31 -08:00
Ken Spencer
07ac649763
conf: check for permissions block, per my own experience ( #413 )
2017-02-20 19:27:15 -08:00
James Lu
0c88602d1f
fantasy: check for nick prefix case insensitively
2017-02-18 21:21:32 -08:00
James Lu
12bb59d257
Irc: more parseArgs tweaks
...
- Make parsePrefixedArgs() a class method
- Split the input if parseArgs() is given a raw string instead of a list
2017-02-18 19:58:24 -08:00
James Lu
03fc16dd5a
Irc: rewrite parseArgs to be more efficient
2017-02-18 19:47:36 -08:00
James Lu
01dd209647
inspircd: major->important
2017-02-18 14:45:23 -08:00
James Lu
cda5d15e31
inspircd: work around OPERTYPE changes in InspIRCd 3.x
2017-02-18 14:28:28 -08:00
James Lu
a9d2a2c4bc
relay, handlers: rewrite oper WHOIS replies to show the target's home network
2017-02-18 13:51:45 -08:00
James Lu
3c98ef172e
relay: use the new Irc.getFullNetworkName() where applicable
2017-02-18 13:33:35 -08:00
James Lu
b3161d6d5d
Irc: add a getFullNetworkName() function
2017-02-18 13:32:48 -08:00
James Lu
75b5be5baf
ServiceBot: implement global and per-service spawn_service(s) options ( #403 )
2017-02-18 12:54:26 -08:00
James Lu
a776aab897
utils: ignore missing services in unregisterService instead of raising an error
...
This is a prerequisite for the next commit (service spawn toggle options). (#403 )
2017-02-18 12:54:08 -08:00
James Lu
a0ed43bf64
example-conf: describe how some options are common to all service bots
2017-02-18 12:42:36 -08:00
James Lu
a3f122fee4
control: try a more stable force-shutdown routine
2017-02-18 12:19:53 -08:00
James Lu
050721af5b
example-conf: describe more clearly the pylink_nick/ident options in the clientbot block
2017-02-18 12:09:00 -08:00
James Lu
8424870ec3
clientbot: abort when receiving a QUIT from uplink ( #405 )
2017-02-17 22:27:38 -08:00
James Lu
3e4a980ea6
nefarious: fix a typo causing crash on user mode change
2017-02-17 22:27:38 -08:00
James Lu
75158c47e2
clientbot: block PRIVMSG/NOTICE from being routed the wrong way ( #405 )
2017-02-17 22:27:38 -08:00
James Lu
f1fddefeac
protocols: catch S2S messages if they're being routed the wrong way ( #405 )
2017-02-17 22:27:38 -08:00
James Lu
2f968aca80
Irc: allow defaulting to private command replies ( Closes #409 )
...
Squashed commit of the following:
commit c168500235b65f833b1d7fe49ebde674159683ee
Author: James Lu <GLolol@overdrivenetworks.com>
Date: Thu Feb 16 17:33:36 2017 -0800
ServiceBot: default notice and private to None
This is so that it respects the changes from the last commit.
commit f685f3ef522f7f0ee356082c3c1b8b5a4e34b211
Author: James Lu <GLolol@overdrivenetworks.com>
Date: Thu Feb 16 15:10:33 2017 -0800
Irc: implement a prefer_private_replies option (#409 )
2017-02-16 17:41:07 -08:00
James Lu
ad873cfd7b
ServiceBot: be more flexible in help formatting
...
* Fix text after indented docstring line breaks not showing (thanks @IotaSpencer for noticing this)
* Update formatting so that multiple consecutive newlines in a docstring are shown:
- 2 newlines => 1 displayed new line
- 3 newlines => 2 displayed new lines, and so on...
2017-02-15 17:06:16 -08:00
James Lu
902b246f96
bots: allow specifying channel prefixes (e.g. @+) in 'join'
...
This functionality should really be merged with what ServiceBot does, but whatever...
2017-02-13 17:01:09 -08:00
James Lu
9fac7cb1f3
unreal: ignore userpairs with only a prefix and no user
...
How is this even possible?!
Reported by @koaxirc.
2017-02-05 22:23:20 -08:00
James Lu
0b0efbaf9f
relay: less ambiguous error if a relay channel doesn't exist on the caller network
2017-02-05 21:47:11 -08:00
James Lu
6e94375ed9
relay: clarify/revise help text for 'claim'
2017-02-05 21:43:53 -08:00
James Lu
663e657bf5
inspircd: work around extraneous letters sometimes sent in FJOIN TS
...
Anope 1.8 potentially sends a trailing 'd' after the timestamp, which causes int() to error. This is technically valid in InspIRCd S2S because atoi() ignores non-digit characters, but it's strange behaviour either way:
<- :3AX FJOIN #monitor 1485462109d + :,3AXAAAAAK
Thansk to @koaxirc for reporting.
2017-02-05 21:06:42 -08:00
James Lu
18826ad5c6
exec: add 'iexec' to run code in an isolated, persistent local scope
2017-02-05 20:26:40 -08:00
James Lu
a3a5569156
exec: print a "Done" after executing code
2017-02-05 20:14:30 -08:00
James Lu
dcacfb0c10
relay: catch RuntimeError in spawnRelayServer as well
...
This is raised when a network runs out of SIDs, for example.
2017-02-03 18:06:49 -08:00
James Lu
b5cf2e8a4e
stats: add an --all option to 'uptime', and check for disconnected networks
2017-01-30 00:18:50 -08:00
James Lu
efded33f4a
stats: oops, use the right Irc object
2017-01-30 00:08:40 -08:00
James Lu
de99be720e
stats: prettier formatting for the uptime command
...
Closes #381 .
2017-01-30 00:06:42 -08:00
James Lu
1c19d82f53
Merge branch 'wip/stats' into devel
2017-01-29 23:31:43 -08:00
James Lu
8901ed72ee
relay: s/spawnIfMissing/spawn_if_missing/g
2017-01-29 22:18:05 -08:00
James Lu
fa30d3c732
relay: rework fallback message routing to be less annoying ( #384 )
...
- PRIVMSGs from users not spawned on a network are sent via the main PyLink client in the format "<$orignick/$network> <$text>"
- <PyLink> <user/net> blah blah
- NOTICEs from users use the same format above, and are routed from the relay subserver representing the network that the message originated from
- Notice(somenet.relay): <user/net> blah blah
- PRIVMSGs from servers are blocked, because they aren't valid on all IRCds and are fairly obscure anyways (suggestsions/improvements welcome)
- NOTICEs from servers are forwarded as raw text, from the relay subserver representing the origin network
- Notice(somenet.relay): some server announcement
2017-01-29 20:21:45 -08:00
James Lu
e936b9cfd2
relay: add a spawn_if_missing option to get_remote_sid()
2017-01-29 20:20:39 -08:00
James Lu
359132045d
protocols: allow forwarding NOTICE from servers ( #384 )
2017-01-29 19:49:37 -08:00
James Lu
8fdcb9d2bb
Bump version to 1.2-dev
2017-01-29 18:11:31 -08:00
James Lu
0d99bc62d2
-mkpasswd: fetch password via getpass instead of requiring command line entry
...
This gives better security, since running programs and their command lines are visible in 'ps'.
2017-01-29 00:12:05 -08:00
James Lu
62c4b79e04
setup.py: install pylink-mkpasswd as a script
2017-01-28 23:27:24 -08:00
James Lu
e036449c72
README: move Apt / PPA instructions to after source builds and pip
...
These aren't tested as thoroughly.
2017-01-28 19:58:32 -08:00
James Lu
69b112eb44
PyLink 1.1.0.1
...
This is identical to 1.1.0 - bumping the version due to a botched PyPI upload.
2017-01-24 20:52:01 -08:00
James Lu
c7ac8eeafb
PyLink 1.1.0
2017-01-24 20:42:45 -08:00
James Lu
b18b2fff17
setup.py: fix last commit
2017-01-22 17:00:27 -08:00
James Lu
39d2243b11
setup.py: use extras_require for expiringdict and passlib
2017-01-22 16:44:42 -08:00
James Lu
9daa452f8e
Update dependencies in setup.py & README
2017-01-22 16:42:52 -08:00
James Lu
d6a6d069bc
Move 'mkpasswd' to the commands plugin
2017-01-22 16:42:46 -08:00
James Lu
fd12a5d919
core: make passlib an optional dependency
2017-01-22 16:42:46 -08:00
James Lu
354a3022a4
services-api.md: remove extra_channels argument per d31d09ce7e
2017-01-22 00:55:37 -08:00