disco.bot.plugin

Classes

BasePluginDeco

Functions

add_meta_deco(cls, meta)

with_config(cls, config_cls)

Sets the plugins config class to the specified config class.

listen(cls,*args,**kwargs)

Binds the function to listen for a given event name.

listen_packet(cls,*args,**kwargs)

Binds the function to listen for a given gateway op code.

command(cls,*args,**kwargs)

Creates a new command attached to the function.

pre_command(cls)

Runs a function before a command is triggered.

post_command(cls)

Runs a function after a command is triggered.

pre_listener(cls)

Runs a function before a listener is triggered.

post_listener(cls)

Runs a function after a listener is triggered.

schedule(cls,*args,**kwargs)

Runs a function repeatedly, waiting for a specified interval.

add_argument(cls,*args,**kwargs)

Adds an argument to the argument parser.

route(cls,*args,**kwargs)

Adds an HTTP route.

PluginDeco

Inherits From BasePluginDeco

A utility mixin which provides various function decorators that a plugin author can use to create bound event/command handlers.

Plugin

Inherits From LoggingClass, PluginDeco

A plugin is a set of listeners/commands which can be loaded/unloaded by a bot.

Parameters
Name Type Description
bot :class:`disco.bot.Bot` The bot this plugin is a member of.
config any The configuration data for this plugin.
Attributes
Name Type Description
client :class:`disco.client.Client` An alias to the client the bot is running with.
state :class:`disco.state.State` An alias to the state object for the client.
listeners list List of all bound listeners this plugin owns.
commands list(:class:`disco.bot.command.Command`) List of all commands this plugin owns.

Functions

init(self, bot, config)

name(self)

bind_all(self)

bind_meta(self, member, meta)

handle_exception(self, greenlet, event)

wait_for_event(self, event_name, conditional,**kwargs)

spawn_wrap(self, spawner, method,*args,**kwargs)

spawn(self,*args,**kwargs)

spawn_later(self, delay,*args,**kwargs)

execute(self, event)

Executes a CommandEvent this plugin owns.

register_trigger(self, typ, when, func)

Registers a trigger.

dispatch(self, typ, func, event,*args,**kwargs)

register_listener(self, func, what,*args,**kwargs)

Registers a listener.

Parameters
Name Type Description
what str What the listener is for (event, packet)
func function The function to be registered.
desc The descriptor of the event/packet.

register_command(self, func,*args,**kwargs)

Registers a command.

Parameters
Name Type Description
func function The function to be registered.
args Arguments to pass onto the :class:`disco.bot.command.Command` object.
kwargs Keyword arguments to pass onto the :class:`disco.bot.command.Command` object.

register_schedule(self, func, interval, repeat, init=True)

Registers a function to be called repeatedly, waiting for an interval

Args
Name Type Description
func function The function to be registered.
interval int Interval (in seconds) to repeat the function on.
repeat bool Whether this schedule is repeating (or one time).
init bool Whether to run this schedule once immediatly, or wait for the first scheduled iteration.

load(self, ctx)

Called when the plugin is loaded.

unload(self, ctx)

Called when the plugin is unloaded.

reload(self)

results matching ""

    No results matching ""