Exemple d'extension

Un exemple complet d'extension, qui ajoute une commande /double affichant deux fois les paramètres passés sur le canal courant (d'accord ce n'est pas très utile mais ceci est un exemple !) :

#include <stdlib.h>

#include "weechat-plugin.h"

char plugin_name[]        = "Double";
char plugin_version[]     = "0.1";
char plugin_description[] = "Plugin de test pour WeeChat";

/* gestionnaire de commande "/double" */

int double_cmd (t_weechat_plugin *plugin, char *serveur,
                char *commande, char *arguments,
                char *handler_args, void *handler_pointer)
{
    if (arguments && arguments[0] && (arguments[0] != '/'))
    {
        plugin->exec_command (plugin, NULL, NULL, arguments);
        plugin->exec_command (plugin, NULL, NULL, arguments);
    }
    return PLUGIN_RC_OK;
}

int weechat_plugin_init (t_weechat_plugin *plugin)
{
    plugin->cmd_handler_add (plugin, "double",
                             "Affiche deux fois un message",
                             "msg",
                             "msg: message a afficher deux fois",
                             NULL,
                             &double_cmd,
                             NULL, NULL);
    return PLUGIN_RC_OK;
}

void weechat_plugin_end (t_weechat_plugin *plugin)
{
    /* on ne fait rien ici */
}