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
James Lu
beae4eea9e
core: rename utils.fullVersion -> irc.version ( #199 )
2016-04-30 17:00:28 -07:00
James Lu
3bb1208e74
core: move toLower to Irc ( #199 )
2016-04-30 16:57:38 -07:00
James Lu
2fe2e9c8c4
core: move isOper, checkAuthenticated to Irc ( #199 )
2016-04-30 16:54:11 -07:00
James Lu
4bd4c23a08
networks: also remove coreplugin call
2016-04-30 16:50:04 -07:00
James Lu
78f8a2fc8d
core: move isManipulatableClient, getHostmask to Irc
2016-04-30 16:44:37 -07:00
James Lu
201ae8b5fd
pylink: remove call to coreplugin.main()
2016-04-30 16:44:27 -07:00
James Lu
ef4cb8b773
coreplugin: remove irc.connected check
...
This is misleading when the network fails to connect at daemon start, for example. Reverts parts of c5acd5c
and 2080a39
.
2016-04-30 16:37:12 -07:00
James Lu
064cb9b6aa
core: move reverseModes, joinModes into Irc
2016-04-30 16:33:46 -07:00
James Lu
05752d9f60
Merge branch 'master' into devel
2016-04-29 23:43:15 -07:00