James Lu
28f992d3cb
relay: don't spawn clones for service bots
2016-05-14 16:17:20 -07:00
James Lu
2e1163fdb8
Irc: introduce isServiceBot checker
2016-05-14 16:17:12 -07:00
James Lu
523ef714a0
games: rewrite everything using the new ServiceBot API
2016-05-14 14:53:19 -07:00
James Lu
522b7b8b33
Move DataStore to structures (untested)
2016-05-14 14:53:19 -07:00
Daniel Oaks
c5242d1590
games: Fix help prefix stripper
2016-05-14 14:53:19 -07:00
Daniel Oaks
f1b0981f87
games: Write .help handler
2016-05-14 14:53:19 -07:00
Daniel Oaks
c2e3ce5bdf
games: request/remove commands
2016-05-14 14:53:19 -07:00
Daniel Oaks
45651858e4
games: Use db adapted from DataStore I wrote for mammon. May not seem too useful right now, but I have plans(tm)(c)
2016-05-14 14:53:19 -07:00
Daniel Oaks
cbb2eb318f
games: Only handle self messages if enabled
2016-05-14 14:53:19 -07:00
Daniel Oaks
c3e4cfa2de
games: Create BotClient class, use bot_clients instead of games_user
2016-05-14 14:53:19 -07:00
Daniel Oaks
f6854ab673
games: Add example dice command from my bot
2016-05-14 14:53:19 -07:00
Daniel Oaks
ed15af72ec
games: Simplify/betterise handlers, create example dice handler
2016-05-14 14:53:19 -07:00
Daniel Oaks
4054276ac0
games: Clean up CommandHandler
2016-05-14 14:53:19 -07:00
Daniel Oaks
967dafaf0d
games: Very initial barebones command handler
2016-05-14 14:53:19 -07:00
Daniel Oaks
f5efc36bf2
games: Initial plugin. Does NOTHING
2016-05-14 14:53:19 -07:00
James Lu
5122aa8f9a
utils: add unregisterService
2016-05-14 14:52:12 -07:00
James Lu
8f14e02f10
utils: return the ServiceBot instance in registerService
2016-05-14 14:23:52 -07:00
James Lu
6440922759
ServiceBot: disable request/remove commands by default
...
These are stubs at the moment, but still.
2016-05-14 14:15:46 -07:00
James Lu
7cc5988dac
coreplugin: spawn main client as manipulatable
2016-05-14 14:14:44 -07:00
James Lu
2864c41d7a
hybrid: only call endburst once per connection
...
Since this is based off TS6, both initial PING and EOB are handled as endburst. However, ENDBURST should only be called once per session, or things are respawned automatically and nick collisions happen.
2016-05-14 14:06:14 -07:00
James Lu
3930891e9f
relay: don't rely on irc.pseudoclient as much during init
2016-05-14 14:03:59 -07:00
James Lu
1c4cfa680c
log: fix check for irc.pseudoclient
2016-05-14 13:52:21 -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
118d76fd5a
core: allow defining service bots with custom nicks/idents
2016-05-14 12:52:32 -07:00
James Lu
bb265189a4
coreplugin: handle kicks and kills to service bots
...
Also, rename handle_newservice() to spawn_service(). The latter is more general as this function is reused by other handlers too.
2016-05-14 12:37:06 -07:00
James Lu
5b3059c85d
ServiceBot: fill in 'help' and 'list' commands ( #216 )
2016-05-14 12:22:00 -07:00
James Lu
9236f7e095
Irc: fix NameError caused by 0c7faed
2016-05-14 12:19:38 -07:00
James Lu
aa05dcd112
coreplugin: set invisible (umode +i) on service clients
2016-05-14 12:01:12 -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
f1e22685b2
coreplugin: fix typo
...
We're looking up user modes, not channel modes.
2016-05-14 10:27:49 -07:00
James Lu
924172291f
ServiceBot: work out basic command handling
...
This copies callCommand from the IRC object into ServiceBot.call_cmd. The former will be removed once the main PyLink client is migrated to a service bot.
2016-05-14 10:17:40 -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
7d11f8c7e0
Begin work on service bot abstraction ( #216 )
...
- State-keeping is done by coreplugin
- utils.registerService() introduced
- new PYLINK_NEW_SERVICE hook introduced
2016-05-14 09:55:46 -07:00
James Lu
ce95e15897
Refresh autogen docs
2016-05-11 21:56:02 -07:00
James Lu
6b40c97a75
docs: update channel-modes
...
Include lists for Nefarious and update those for the rest.
2016-05-11 21:52:32 -07:00
James Lu
ad428b55bc
docs: relayout table of contents & links between pages
2016-05-11 21:52:32 -07:00
James Lu
f2f945e4bb
Revert "docs/t: use rawgit links to serve HTML"
...
This reverts commit 0dd8b80a21
.
2016-05-11 21:52:32 -07:00
James Lu
998d57dbb3
ts6: recognize elemental-ircd +G (blockcaps)
2016-05-11 21:49:57 -07:00
James Lu
bcc648adff
relay: support relaying more channel modes
...
flood, flood_unreal, joinflood, freetarget, c_noforwards, and noinvite are whitelisted with this commit.
2016-05-11 21:18:30 -07:00
James Lu
366836b821
relay: burst topics from the main PyLink server
...
When a channel is being initialized, PyLink has no specific network to propagate topics from; they just get sent from whichever linked network we happened to iterate over first. This prevents misleading topic setters like 'randomnet.relay' from showing up.
2016-05-02 18:54:46 -07:00
James Lu
608d560961
README: update U-Line note for nefarious
...
A UWorld entry is needed for every server, by name. Contrary to my beliefs, U-Lines are not passed on to subservers from intermediate hubs!
2016-05-01 21:58:10 -07:00
James Lu
7b2319b7c5
changehost: migrate to irc.getHostmask
2016-05-01 15:05:30 -07:00
James Lu
917b0de596
relay: log spawnlocks calls
2016-05-01 14:59:13 -07:00
James Lu
f6a9f0729a
relay: don't error if the privmsg source on a remote network is missing
...
This can happen when someone speaks while a network is initializing, for example.
2016-05-01 14:59:13 -07:00
James Lu
bb8a548e74
relay: make handle_quit error-tolerant if the target is missing
...
In cases where multiple networks disconnect simultaneously, the relay user for a quitting client from the first dying network might have also disappeared while handle_disconnect was processing the disconnection of a second dying network. This should take into account those situations.
2016-05-01 14:59:13 -07:00
James Lu
54987fde4e
relay: code cleanup, possibly fix clones for PyLink clients being spawned from rare race conditions
2016-05-01 14:59:13 -07:00
James Lu
ab5624343b
relay: fix regression causing 'load relay' to freeze
2016-05-01 14:59:13 -07:00
James Lu
69cd3cfbf8
relay: fix race conditions when multiple networks disconnect simultaneously
2016-05-01 14:59:13 -07:00
James Lu
7b3271b430
README: recommend U-Line on nefarious
2016-05-01 11:42:22 -07:00