view plugins/xxcac.py @ 110:910942d07574 alpha

Traipse Alpha 'OpenRPG' {091008-00} Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc's main goal is to offer more advanced features and enhance the productivity of the user. Update Summary: {091006} 00: Adds Bookmarks (Alpha) with cool Smiley Star and Plus Symbol images! 03: Changes made to the map for increased portability. SnowDog has changes planned in Core, though. Added an initial push to the BCG. Not much to see, just shows off how it is re-writing Main code. {091007} 00: New images added to Plugin Control Panel for Auto Start. 01: Attempting to fix Deprecation warning from Main. 02: Second attempt, problem in gsclient with "s. 03: Fail. {091008} 00: Fix to remote admin commands
author sirebral
date Thu, 08 Oct 2009 04:14:41 -0500
parents 4385a7d0efd1
children
line wrap: on
line source

import os
import orpg.pluginhandler

class Plugin(orpg.pluginhandler.PluginHandler):
    # Initialization subroutine.
    #
    # !self : instance of self
    # !openrpg : instance of the the base openrpg control
    def __init__(self, plugindb, parent):
        orpg.pluginhandler.PluginHandler.__init__(self, plugindb, parent)

        # The Following code should be edited to contain the proper information
        self.name = 'Command Alias Creator'
        self.author = 'Dj Gilcrease'
        self.help = "This plugin lets you add Command Aliases.\neg /sits insted of /me sits down"
        self.newcmdaliases = {}


    def plugin_enabled(self):
        self.plugin_addcommand('/cmdalias', self.on_cmdalias, '[cmdalias_name fullcommand] [remove cmdalias_name] [clear] - (eg. <font color="#000000">/cmdalias /sits /me sits down</font> to add a command. OR <font color="#000000">/cmdalias remove /sits</font> to remove a single command. OR <font color="#000000">/cmdalias clear</font to clear the entire list)')
        self.newcmdaliases = self.plugindb.GetDict("xxcac", "newcmdaliases", {})

        for n in self.newcmdaliases:
            if not self.shortcmdlist.has_key(n) and not self.cmdlist.has_key(n):
                self.plugin_commandalias(n, self.newcmdaliases[n])


    def plugin_disabled(self):
        self.plugin_removecmd('/cmdalias')
        for n in self.newcmdaliases:
            self.plugin_removecmd(n)

    def on_cmdalias(self, cmdargs):
        args = cmdargs.split(" ",-1)
        if len(args) == 0:
            self.chat.InfoPost("USAGE: /cmdalias [cmdalias_name fullcommand] [remove cmdalias_name] [clear] - (eg. /sits /me sits down)")

        elif args[0] == 'remove':
            if self.newcmdaliases.has_key(args[1]):
                del self.newcmdaliases[args[1]]
                self.plugindb.SetDict("xxcac", "newcmdaliases", self.newcmdaliases)
                self.plugin_removecmd(args[1])
        elif args[0] == 'clear':
            for n in self.newcmdaliases:
                self.plugin_removecmd(n)
            self.newcmdaliases = {}
            self.plugindb.SetDict("xxcac", "newcmdaliases", self.newcmdaliases)
        else:
            oldcmd = cmdargs[len(args[0])+1:]
            self.newcmdaliases[args[0]] = oldcmd
            self.plugindb.SetDict("xxcac", "newcmdaliases", self.newcmdaliases)
            self.plugin_commandalias(args[0], oldcmd)