Interface WeeChat / scripts

register
print
print_infobar
add_message_handler
add_command_handler
remove_handler
command
get_info
get_dcc_info
get_config
set_config
get_plugin_config
set_plugin_config

register

Prototype Perl : weechat::register ( nom, version, fonction_de_fin, description );

Prototype Python : weechat.register ( nom, version, fonction_de_fin, description )

Prototype Ruby : Weechat.register ( nom, version, fonction_de_fin, description )

C'est la première fonction à appeler dans le script. Tout script pour WeeChat doit appeler cette fonction.

Paramètres :

  • nom : nom unique pour identifier le script (chaque script doit avoir un nom différent)

  • version : version du script

  • fonction_de_fin : fonction appelée quand le script est déchargé (paramètre facultatif, une chaîne vide signifiant qu'il n'y a pas de fonction à appeler)

  • description : brève description du script

Valeur renvoyée : 1 si le script a été enregistré, 0 si une erreur s'est produite.

Exemples :

# perl
weechat::register ("essai", "1.0", "fin_essai", "Script d'essai !");

# python
weechat.register ("essai", "1.0", "fin_essai", "Script d'essai !")

# ruby
Weechat.register ("essai", "1.0", "fin_essai", "Script d'essai !")

print

Prototype Perl : weechat::print ( message, [canal, [serveur]] )

Prototype Python : weechat.prnt ( message, [canal, [serveur]] )

Prototype Ruby : Weechat.print ( message, [canal, [serveur]] )

Affiche un message sur un tampon WeeChat, identifié par le serveur et le canal.

Paramètres :

  • message : message à afficher

  • canal : nom du canal pour trouver le tampon dans lequel afficher

  • serveur : nom interne du serveur pour trouver le tampon dans lequel afficher

Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.

Exemples :

# perl
weechat::print ("message");
weechat::print ("message", "#weechat");
weechat::print ("message", "#weechat", "freenode");

# python
weechat.prnt ("message")
weechat.prnt ("message", "#weechat")
weechat.prnt ("message", "#weechat", "freenode")

# ruby
Weechat.print ("message")
Weechat.print ("message", "#weechat")
Weechat.print ("message", "#weechat", "freenode")

print_infobar

Prototype Perl : weechat::print_infobar ( temps, message );

Prototype Python : weechat.print_infobar ( temps, message )

Prototype Ruby : Weechat.print_infobar ( temps, message )

Affiche un message sur la barre d'infos pour un temps déterminé.

Paramètres :

  • temps : temps (en secondes) pendant lequel le message est affiché (0 = jamais effacé)

  • message : message à afficher

Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.

Exemples :

# perl
weechat::print_infobar (5, "message");

# python
weechat.print_infobar (5, "message")

# ruby
Weechat.print_infobar (5, "message")

add_message_handler

Prototype Perl : weechat::add_message_handler ( message, fonction );

Prototype Python : weechat.add_message_handler ( message, fonction )

Prototype Ruby : Weechat.add_message_handler ( message, fonction )

Ajoute un gestionnaire de messages IRC, appelé dès qu'un message IRC est reçu.

Paramètres :

  • message : nom du message IRC pour lequel la fonction est appelée. Pour connaître la liste des messages IRC disponibles, merci de consulter les RFCs 1459 et 2812

  • fonction : fonction appelée lorsque le message est reçu

Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.

Exemples :

# perl
weechat::add_message_handler ("privmsg", ma_fonction);
sub ma_fonction
{
    weechat::print ("serveur=$_[0]\n");
    ($null, $canal, $message) = split ":",$_[1],3;
    ($masque, $null, $canal) = split " ", $canal;
    weechat::print ("masque=$masque, canal=$canal, msg=$message\n");
    return weechat::PLUGIN_RC_OK;
}

# python
weechat.add_message_handler ("privmsg", ma_fonction)
def ma_fonction(serveur, args):
    weechat.prnt("serveur="+serveur)
    null, canal, message = string.split(args, ":", 2)
    masque, null, canal = string.split(string.strip(canal), " ", 2)
    weechat.prnt("masque="+masque+", canal="+canal+", message="+message)
    return weechat.PLUGIN_RC_OK

Note : la fonction appelée lorsque le message est reçu doit renvoyer une des valeurs suivantes (préfixée par "weechat::" pour Perl, "weechat." pour Python ou "Weechat." pour Ruby) :

  • PLUGIN_RC_KO : la fonction a échoué

  • PLUGIN_RC_OK : la fonction a réussi

  • PLUGIN_RC_OK_IGNORE_WEECHAT : le message ne sera pas transmis à WeeChat

  • PLUGIN_RC_OK_IGNORE_PLUGINS : le message ne sera pas transmis à d'autres extensions

  • PLUGIN_RC_OK_IGNORE_ALL : le message ne sera ni transmis à WeeChat ni à d'autres extensions

add_command_handler

Prototype Perl : weechat::add_command_handler ( commande, fonction, [description, arguments, arguments_description, modele_completion] );

Prototype Python : weechat.add_command_handler ( commande, fonction, [description, arguments, arguments_description, modele_completion] )

Prototype Ruby : Weechat.add_command_handler ( commande, fonction, [description, arguments, arguments_description, modele_completion] )

Ajoute un gestionnaire de commande WeeChat, appelé dès que l'utilisateur utilise la commande (par exemple /commande).

Paramètres :

  • commande : nom de la nouvelle commande, qui peut être une commande déjà existante (attention la commande remplacée ne sera plus disponible jusqu'à ce que le script soit déchargé)

  • fonction : fonction appelée lorsque la commande est exécutée

  • arguments : brève description des paramètres de la commande (affichée par /help commande)

  • arguments_description : longue description des paramètres de la commande (affichée par /help commande)

  • modele_completion : modèle pour la complétion sous la forme "abc|%w def|%i" qui signigie "abc" ou une commande WeeChat pour le premier paramètre, et "def" ou une commande IRC pour le deuxième. (voir la section intitulée « cmd_handler_add »)

Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.

Exemples :

# perl
weechat::add_command_handler ("commande", ma_commande);
sub ma_commande
{
    weechat::print("Serveur: $_[0], paramètres: $_[1]\n");
    return weechat::PLUGIN_RC_OK;
}

# python
weechat.add_command_handler ("commande", ma_commande)
def ma_commande(serveur, args):
    weechat.prnt("serveur:"+serveur+" paramètres:"+args)
    return weechat.PLUGIN_RC_OK

Notes : la fonction appelée lorsque le message est exécutée doit renvoyer une des valeurs suivantes (préfixée par "weechat::" pour Perl, "weechat." pour Python ou "Weechat." pour Ruby) :

  • PLUGIN_RC_KO : la fonction a échoué

  • PLUGIN_RC_OK : la fonction a réussi

remove_handler

Prototype Perl : weechat::remove_handler ( nom, fonction );

Prototype Python : weechat.remove_handler ( nom, fonction )

Prototype Ruby : Weechat.remove_handler ( nom, fonction )

Supprime un gestionnaire.

Paramètres :

  • nom : nom du message IRC ou de la commande

  • fonction : fonction associée

Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.

Exemples :

# perl
weechat::remove_handler ("commande", ma_commande);

# python
weechat.remove_handler ("commande", ma_commande)

# ruby
Weechat.remove_handler ("commande", ma_commande)

command

Prototype Perl : weechat::command ( commande, [canal, [serveur]] );

Prototype Python : weechat.command ( commande, [canal, [serveur]] )

Prototype Ruby : Weechat.command ( commande, [canal, [serveur]] )

Exécute une commande ou envoie un message à un canal.

Paramètres :

  • commande : la commande à exécuter

  • canal : nom du canal où exécuter la commande

  • serveur : nom interne du serveur où exécuter la commande

Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.

Exemples :

# perl
weechat::command ("bonjour tout le monde !");
weechat::command ("/kick toto merci de quitter ce canal", "#weechat");
weechat::command ("/nick newnick", "", "freenode");

# python
weechat.command ("bonjour tout le monde !")
weechat.command ("/kick toto merci de quitter ce canal", "#weechat")
weechat.command ("/nick newnick", "", "freenode")

# ruby
Weechat.command ("bonjour tout le monde !")
Weechat.command ("/kick toto merci de quitter ce canal", "#weechat")
Weechat.command ("/nick newnick", "", "freenode")

get_info

Prototype Perl : weechat::get_info ( nom, [serveur] );

Prototype Python : weechat.get_info ( nom, [serveur] )

Prototype Ruby : Weechat.get_info ( nom, [serveur] )

Renvoie une information sur WeeChat ou un canal.

Paramètres :

Valeur renvoyée : l'information demandée, chaîne vide si une erreur s'est produite ou que l'information n'a pas été trouvée.

Exemples :

# perl
$version = get_info("version");
$nick = get_info("nick", "freenode");

# python
version = weechat.get_info ("version")
nick = weechat.get_info ("nick", "freenode")

get_dcc_info

Prototype Perl : weechat::get_dcc_info ( );

Prototype Python : weechat.get_dcc_info ( )

Prototype Ruby : Weechat.get_dcc_info ( )

Renvoie la liste des DCC en cours ou terminés.

Valeur renvoyée : la liste des DCC (voir la section intitulée « get_dcc_info »).

get_config

Prototype Perl : weechat::get_config ( option );

Prototype Python : weechat.get_config ( option )

Prototype Ruby : Weechat.get_config ( option )

Renvoie la valeur d'une option de configuration WeeChat.

Paramètres :

  • option : nom de l'option

Valeur renvoyée : la valeur de l'option, chaîne vide si l'option n'a pas été trouvée.

Exemples :

# perl
$value1 = weechat::get_config ("look_nicklist");
$value2 = weechat::get_config ("freenode.server_autojoin");

# python
value1 = weechat.get_config ("look_nicklist")
value2 = weechat.get_config ("freenode.server_autojoin")

set_config

Prototype Perl : weechat::set_config ( option, valeur );

Prototype Python : weechat.set_config ( option, valeur )

Prototype Ruby : Weechat.set_config ( option, valeur )

Modifie la valeur d'une option de configuration WeeChat.

Paramètres :

  • option : nom de l'option

  • valeur : la nouvelle valeur pour l'option

Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.

Exemples :

# perl
weechat::set_config ("look_nicklist", "off");
weechat::set_config ("freenode.server_autojoin, "#weechat");

# python
weechat.set_config ("look_nicklist", "off")
weechat.set_config ("freenode.server_autojoin, "#weechat")

# ruby
Weechat.set_config ("look_nicklist", "off")
Weechat.set_config ("freenode.server_autojoin, "#weechat")

get_plugin_config

Prototype Perl : weechat::get_plugin_config ( option );

Prototype Python : weechat.get_plugin_config ( option )

Prototype Ruby : Weechat.get_plugin_config ( option )

Renvoie la valeur d'une option de l'extension. L'option est lue depuis le fichier "~/.weechat/plugins.rc" et est sous cette forme : "extension.script.option=valeur" (NB : le nom de l'extension et du script sont ajoutés automatiquement).

Paramètres :

  • option : nom de l'option

Valeur renvoyée : la valeur de l'option, chaîne vide si l'option n'a pas été trouvée.

Exemples :

# perl
$value = weechat::get_plugin_config ("ma_variable");

# python
value = weechat.get_plugin_config ("ma_variable")

set_plugin_config

Prototype Perl : weechat::set_plugin_config ( option, valeur );

Prototype Python : weechat.set_plugin_config ( option, valeur )

Prototype Ruby : Weechat.set_plugin_config ( option, valeur )

Modifie la valeur d'une option de l'extension. L'option est écrite dans le fichier "~/.weechat/plugins.rc" et est sous cette forme : "extension.script.option=valeur" (NB : le nom de l'extension et du script sont rajoutés automatiquement).

Paramètres :

  • option : nom de l'option

  • valeur : la nouvelle valeur pour l'option

Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.

Exemples :

# perl
weechat::set_plugin_config ("ma_variable", "valeur");

# python
weechat.set_plugin_config ("ma_variable", "valeur")

# ruby
Weechat.set_plugin_config ("ma_variable", "valeur")