3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-18 08:02:51 +01:00
Commit Graph

1223 Commits

Author SHA1 Message Date
James Lu
1816de307d coreplugin: use irc.isServiceBot() for kill, kick, & message handlers 2016-05-14 16:23:14 -07:00
James Lu
5d4765b30d games: call help() with the right arguments 2016-05-14 16:19:29 -07:00
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