James Lu
f188b29911
plugins: migrate to server capabilities
2017-03-23 23:37:24 -07:00
James Lu
ad00fdfa53
relay: migrate normalizeHost, normalizeNick to protocol capabilities
2017-03-23 23:12:59 -07:00
James Lu
21670a5d51
relay: migrate most protocol checks to protocol capabilities
...
Some things I left out include modesync and op status checking on LINK, since these are pretty specific to Clientbot IRC.
2017-03-23 22:52:11 -07:00
James Lu
3ffbbe60ff
global: configurable output format
2017-03-13 13:39:30 -07:00
James Lu
cfe72e2cd0
global: set loopback=False on messages to prevent duplicating them via relay
2017-03-13 13:29:04 -07:00
James Lu
0a57c084bb
global: only send to connected networks
2017-03-13 13:23:22 -07:00
James Lu
a3dff204d3
global: remove extraneous metadata
...
Core plugins do not need to track authors and version, because git does that for us.
2017-03-13 13:21:11 -07:00
Ken Spencer
7e6ad089c0
plugins: add global notice plugin
2017-03-13 12:30:06 -04:00
James Lu
716ac681b6
exec: add 'pieval' and 'peval' to evaluate expressions pretty-printed
2017-03-11 22:47:30 -08:00
James Lu
bf42109d81
Split fantasy prefix definitions into service-specific blocks
...
Closes #426 .
This makes the pylink::prefix (aka bot::prefix) option only affect the main PyLink bot, and deprecates the pylink::prefixes::<...> options.
As the bot: config block is no longer checked, this commit depends on commit 45ed5b962e215763f7659631d1b98a5031dbab92 (ref #343 ) to alias it to conf::pylink.
2017-03-10 23:47:07 -08:00
James Lu
b09565a723
bots, opercmds: add a "Done" reply to most commands as they finish
2017-03-09 20:50:14 -08:00
James Lu
ebd5b77576
relay: normalize channel case in 'link'
...
(regression from commit 93c9b6289c
)
Reported by @koaxirc.
2017-03-09 20:42:38 -08:00
James Lu
e8bf1d08bc
handlers, fantasy: migrate away from irc.botdata ( #273 )
2017-03-05 00:10:33 -08:00
James Lu
733d7d7c87
exec: add ieval command using the isolated local scope
2017-03-04 22:05:03 -08:00
James Lu
42ba1775d7
exec: add irc, source, and args to isolated locals scopes
...
This allows basic things like irc.reply() to work in 'iexec'.
2017-03-04 21:59:42 -08:00
James Lu
4df8567fa6
Irc: move PYLINK_DISCONNECT firing and connected.clear() into disconnect() ( #421 )
...
This may prevent extra irc.connected.clear() calls from messing with the was_connected state.
2017-02-25 22:06:43 -08:00
James Lu
cd65da75c6
relay: only announce disconnects if the last connection was successful
2017-02-24 21:42:58 -08:00
James Lu
cd3d795296
relay: implement optional network disconnect announcements
...
Closes #421 .
2017-02-24 21:15:40 -08:00
James Lu
c03f2d772c
relay: allow dropping messages from user-less clients
...
This adds two new options, both defaulting to True:
- relay:accept_weird_senders (global)
- servers:<name>:relay_weird_senders (per-server)
Closes #404 .
2017-02-24 19:16:01 -08:00
James Lu
f432f6f082
relay: don't allow linking to channels when the home network is down
...
This check can be overridden via --force, and should stop unreliable TS checks from appearing instead
Closes #419 .
2017-02-21 21:58:32 -08:00
James Lu
93c9b6289c
relay: switch to IRCParser in 'link' and add a --force option to skip TS checks
...
Closes #416 .
2017-02-21 21:52:22 -08:00
James Lu
bf702575be
servprotect: fix a syntax error
2017-02-21 21:49:41 -08:00
James Lu
02faa3fcb6
relay: more verbosity in TS-related link errors
2017-02-21 21:14:03 -08:00
Ken Spencer
a8fe353ba4
servprotect: make length and age configurable ( #417 )
...
Fixes #395
2017-02-21 17:02:26 -08:00
James Lu
0c88602d1f
fantasy: check for nick prefix case insensitively
2017-02-18 21:21:32 -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
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
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
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
d6a6d069bc
Move 'mkpasswd' to the commands plugin
2017-01-22 16:42:46 -08:00
James Lu
c20c144222
automode, relay: remove unused imports
2017-01-21 12:01:41 -08:00
James Lu
170738ee10
Revert "automode: bandaid fix for "service already registered" errors on first load"
...
This reverts commit e2a853c98e
.
2017-01-21 11:59:43 -08:00
James Lu
3dd35ba5a1
Add an example services plugin
...
Closes #399 .
2017-01-21 11:59:43 -08:00
James Lu
1fe64cca04
example.py: update to reflect 1.1.x docstring changes ( #307 )
2017-01-21 11:59:43 -08:00
James Lu
d749fbb2ab
ctcp: -that
2017-01-20 22:32:32 -08:00
James Lu
b7470c3c42
ctcp: remove puns
2017-01-20 22:31:46 -08:00
James Lu
b1918f5392
Initial pass at a Stats plugin ( #121 , #381 )
2017-01-11 23:35:35 -08:00
James Lu
a2e7a35998
relay: remove incorrect network name in logging for blocked kicks
2017-01-06 22:51:50 -08:00
James Lu
e0bda6b850
relay: also filter out low TS values in burst relaying
2017-01-06 22:48:11 -08:00