diff options
author | Sebastien Helleu <flashcode@flashtux.org> | 2009-03-26 14:20:14 +0100 |
---|---|---|
committer | Sebastien Helleu <flashcode@flashtux.org> | 2009-03-26 14:20:14 +0100 |
commit | 0f3601bea0e40a258ad1f48b9b60955c4614bda8 (patch) | |
tree | 7b361260990e52b1b4200b1b16b09fdd85f11e1b /doc/fr/dev | |
parent | 49ca35cb4fb0db1e553cd125986044a2ebde09d8 (diff) | |
download | weechat-0f3601bea0e40a258ad1f48b9b60955c4614bda8.zip |
Update script API in doc (developer guide)
Diffstat (limited to 'doc/fr/dev')
-rw-r--r-- | doc/fr/dev/plugin_api.fr.xml | 2 | ||||
-rw-r--r-- | doc/fr/dev/plugin_script_api.fr.xml | 2838 |
2 files changed, 218 insertions, 2622 deletions
diff --git a/doc/fr/dev/plugin_api.fr.xml b/doc/fr/dev/plugin_api.fr.xml index 2710aec03..9ccfa416e 100644 --- a/doc/fr/dev/plugin_api.fr.xml +++ b/doc/fr/dev/plugin_api.fr.xml @@ -26,6 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. &plugin_c_api.fr.xml; - <!-- &plugin_script_api.fr.xml; --> + &plugin_script_api.fr.xml; </chapter> diff --git a/doc/fr/dev/plugin_script_api.fr.xml b/doc/fr/dev/plugin_script_api.fr.xml index 97cd230e9..508ab36d0 100644 --- a/doc/fr/dev/plugin_script_api.fr.xml +++ b/doc/fr/dev/plugin_script_api.fr.xml @@ -25,8 +25,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. <title>Extensions pour scripts</title> <para> - Quatre extensions sont fournies en standard avec WeeChat pour utiliser - des langages de script : Perl, Python, Ruby et Lua. + Cinq extensions sont fournies en standard avec WeeChat pour utiliser + des langages de script : Perl, Python, Ruby, Lua et Tcl. </para> <section id="secChargerDechargerScripts"> @@ -35,9 +35,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. <para> Les scripts sont chargés et déchargés avec les commandes <command>/perl</command>, <command>/python</command>, - <command>/ruby</command> et <command>/lua</command> - (tapez <command>/help</command> dans WeeChat pour obtenir - de l'aide sur les commandes). + <command>/ruby</command>, <command>/lua</command> + et <command>/tcl</command> (tapez <command>/help</command> dans WeeChat + pour obtenir de l'aide sur les commandes). </para> <para> @@ -91,6 +91,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. <command><userinput>/lua</userinput></command> </para> </listitem> + <listitem> + <para> + Charger un script Tcl : + <command><userinput>/tcl load /tmp/essai.tcl</userinput></command> + </para> + </listitem> + <listitem> + <para> + Lister les scripts Tcl chargés : + <command><userinput>/tcl</userinput></command> + </para> + </listitem> </itemizedlist> </para> @@ -106,7 +118,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. Dans un script Perl WeeChat, toutes les fonctions et variables de l'interface sont préfixées par "<literal>weechat::</literal>". Exemple : -<screen>weechat::register("test", "1.0", "end_test", "Script perl WeeChat");</screen> +<screen> +weechat::register("test", "Auteur <auteur\@domaine.com>", "1.0", + "GPL3", "Description du script", "au_revoir", ""); +</screen> </para> </section> @@ -123,7 +138,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. Toutes les fonctions et variables de l'interface sont préfixées par "<literal>weechat.</literal>". Exemple : -<screen>weechat.register("test", "1.0", "end_test", "Script python WeeChat")</screen> +<screen> +weechat.register("test", "Auteur <auteur@domaine.com>", "1.0", + "GPL3", "Description du script", "au_revoir", "") +</screen> </para> </section> @@ -139,14 +157,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. Exemple : <screen> def weechat_init - Weechat.register("test", "1.0", "end_test", "Script ruby WeeChat") - Weechat.add_command_handler("commande", "ma_commande") - return Weechat::PLUGIN_RC_OK -end - -def ma_commande(server, args) - Weechat.print("ma commande") - return Weechat::PLUGIN_RC_OK + Weechat.register("test", "Auteur <auteur@domaine.com>", "1.0", + "GPL3", "Description du script", "au_revoir", "") + return Weechat::WEECHAT_RC_OK end </screen> </para> @@ -169,2705 +182,288 @@ end suffixées par "<literal>()</literal>". Exemple : <screen> -function message_handler(server, args) - weechat.print("Je suis un message handler") - return weechat.PLUGIN_RC_OK() -end -</screen> - </para> - - </section> - - </section> - - <section id="secInterfaceWeeChatScripts"> - <title>Interface WeeChat / scripts</title> - - <section id="sec_script_register"> - <title>register</title> - - <para> - Prototype Perl : - <command> - weechat::register(nom, version, fonction_de_fin, description, - [charset]); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.register(nom, version, fonction_de_fin, description, - [charset]) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.register(nom, version, fonction_de_fin, description, - [charset]) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.register(nom, version, fonction_de_fin, description, - [charset]) - </command> - </para> - <para> - C'est la première fonction à appeler dans le script. - Tout script pour WeeChat doit appeler cette fonction. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>nom</option> : nom unique pour identifier le script - (chaque script doit avoir un nom différent) - </para> - </listitem> - <listitem> - <para> - <option>version</option> : version du script - </para> - </listitem> - <listitem> - <para> - <option>fonction_de_fin</option> : 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) - </para> - </listitem> - <listitem> - <para> - <option>description</option> : brève description du script - </para> - </listitem> - <listitem> - <para> - <option>charset</option> : jeu de caractères du script, à - préciser si le script n'est pas écrit en UTF-8 - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si le script a été enregistré, 0 si une erreur - s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::register("essai", "1.0", "fin_essai", "Script d'essai !", "ISO-8859-1"); - -# python -weechat.register("essai", "1.0", "fin_essai", "Script d'essai !", "ISO-8859-1") - -# ruby -Weechat.register("essai", "1.0", "fin_essai", "Script d'essai !", "ISO-8859-1") - --- lua -weechat.register("essai", "1.0", "fin_essai", "Script d'essai !", "ISO-8859-1") -</screen> - </para> - </section> - - <section id="sec_script_set_charset"> - <title>set_charset</title> - - <para> - Prototype Perl : - <command> - weechat::set_charset(charset); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.set_charset(charset) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.set_charsetr(charset) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.set_charset(charset) - </command> - </para> - <para> - Change le jeu de caractères du script. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>charset</option> : nouveau jeu de caractères - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si le nouveau jeu de caractères a été - mis en place, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::set_charset("ISO-8859-1"); - -# python -weechat.set_charset("ISO-8859-1") - -# ruby -Weechat.set_charset("ISO-8859-1") - --- lua -weechat.set_charset("ISO-8859-1") -</screen> - </para> - </section> - - <section id="secScript_print"> - <title>print</title> - - <para> - Prototype Perl : - <command> - weechat::print(message, [canal, [serveur]]) - </command> - </para> - <para> - Prototype Python : - <command> - weechat.prnt(message, [canal, [serveur]]) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.print(message, [canal, [serveur]]) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.print(message, [canal, [serveur]]) - </command> - </para> - <para> - Affiche un message sur un tampon WeeChat, identifié par le - serveur et le canal. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>message</option> : message à afficher - </para> - </listitem> - <listitem> - <para> - <option>canal</option> : nom du canal pour trouver le - tampon dans lequel afficher - </para> - </listitem> - <listitem> - <para> - <option>serveur</option> : nom interne du serveur pour - trouver le tampon dans lequel afficher - </para> - </listitem> - </itemizedlist> - </para> - <para> - Pour afficher du texte en couleur, voir - <xref linkend="secAPI_print" />. - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::print("message"); -weechat::print("message", "#weechat"); -weechat::print("message", "#weechat", "freenode"); -weechat::print("test: \x0305 rouge \x0F normal"); - -# 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") - --- lua -weechat.print("message") -weechat.print("message", "#weechat") -weechat.print("message", "#weechat", "freenode") -</screen> - </para> - </section> - - <section id="secScript_print_server"> - <title>print_server</title> - - <para> - Prototype Perl : - <command> - weechat::print_server(message) - </command> - </para> - <para> - Prototype Python : - <command> - weechat.print_server(message) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.print_server(message) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.print_server(message) - </command> - </para> - <para> - Affiche un message sur le tampon serveur. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>message</option> : message à afficher - </para> - </listitem> - </itemizedlist> - </para> - <para> - Pour afficher du texte en couleur, voir - <xref linkend="secAPI_print" />. - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::print_server("message"); -weechat::print_server("test: \x0305 rouge \x0F normal"); - -# python -weechat.print_server("message") - -# ruby -Weechat.print_server("message") - --- lua -weechat.print_server("message") -</screen> - </para> - </section> - - <section id="secScript_log"> - <title>log</title> - - <para> - Prototype Perl : - <command> - weechat::log(message, [canal, [serveur]]); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.log(message, [canal, [serveur]]) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.log(message, [canal, [serveur]]) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.log(message, [canal, [serveur]]) - </command> - </para> - <para> - Ecrit un message dans le fichier de log pour un serveur ou un - canal. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>message</option> : message - </para> - </listitem> - <listitem> - <para> - <option>canal</option> : nom du canal pour trouver le - log du tampon - </para> - </listitem> - <listitem> - <para> - <option>serveur</option> : nom interne du serveur pour - trouver le log du tampon - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::log("message", "#weechat", "freenode"); - -# python -weechat.log("message", "#weechat", "freenode") - -# ruby -Weechat.log("message", "#weechat", "freenode") - --- lua -weechat.log("message", "#weechat", "freenode") -</screen> - </para> - </section> - - <section id="secScript_add_message_handler"> - <title>add_message_handler</title> - - <para> - Prototype Perl : - <command> - weechat::add_message_handler(message, fonction); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.add_message_handler(message, fonction) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.add_message_handler(message, fonction) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.add_message_handler(message, fonction) - </command> - </para> - <para> - Ajoute un gestionnaire de messages IRC, appelé dès qu'un message - IRC est reçu. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>message</option> : nom du message IRC pour lequel la - fonction est appelée. - Pour connaître la liste des messages IRC disponibles, merci - de consulter les <acronym>RFC</acronym>s - <ulink url="http://www.ietf.org/rfc/rfc1459.txt">1459</ulink> - et - <ulink url="http://www.ietf.org/rfc/rfc2812.txt">2812</ulink>. - De plus, vous pouvez utiliser un nom spécial, préfixé par - "weechat_" pour capturer des évènements spéciaux - (voir <xref linkend="secAPI_msg_handler_add" />). - </para> - </listitem> - <listitem> - <para> - <option>fonction</option> : fonction appelée lorsque le - message est reçu - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::add_message_handler("privmsg", "ma_fonction"); -sub ma_fonction -{ - weechat::print("serveur=$_[0]"); - ($null, $canal, $message) = split ":",$_[1],3; - ($masque, $null, $canal) = split " ", $canal; - weechat::print("masque=$masque, canal=$canal, msg=$message"); - 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 - -# ruby -Weechat.add_message_handler("privmsg", "ma_fonction") -def ma_fonction(server, args) - Weechat.print("serveur=#{server}, args=#{args}") - return Weechat::PLUGIN_RC_OK -end - --- lua -weechat.add_message_handler("privmsg", "ma_fonction") -function ma_fonction(server, args) - weechat.print("serveur=" .. server .. ", args=" .. args) - return weechat.PLUGIN_RC_OK() -end -</screen> - </para> - <para> - Note : la fonction appelée lorsque le message est reçu doit - renvoyer une des valeurs suivantes : - <itemizedlist> - <listitem> - <para> - <literal>PLUGIN_RC_KO</literal> : la fonction a échoué - </para> - </listitem> - <listitem> - <para> - <literal>PLUGIN_RC_OK</literal> : la fonction a réussi - </para> - </listitem> - <listitem> - <para> - <literal>PLUGIN_RC_OK_IGNORE_WEECHAT</literal> : le message - ne sera pas transmis à WeeChat - </para> - </listitem> - <listitem> - <para> - <literal>PLUGIN_RC_OK_IGNORE_PLUGINS</literal> : le message - ne sera pas transmis à d'autres extensions - </para> - </listitem> - <listitem> - <para> - <literal>PLUGIN_RC_OK_IGNORE_ALL</literal> : le message - ne sera ni transmis à WeeChat ni à d'autres extensions - </para> - </listitem> - <listitem> - <para> - <literal>PLUGIN_RC_OK_WITH_HIGHLIGHT</literal> : la fonction - a réussi et provoque un "highlight" sur le message reçu - </para> - </listitem> - </itemizedlist> - </para> - </section> - - <section id="secScript_add_command_handler"> - <title>add_command_handler</title> - - <para> - Prototype Perl : - <command> - weechat::add_command_handler(commande, fonction, - [description, arguments, arguments_description, - modele_completion]); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.add_command_handler(commande, fonction, - [description, arguments, arguments_description, - modele_completion]) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.add_command_handler(commande, fonction, - [description, arguments, arguments_description, - modele_completion]) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.add_command_handler(commande, fonction, - [description, arguments, arguments_description, - modele_completion]) - </command> - </para> - <para> - Ajoute un gestionnaire de commande WeeChat, appelé dès que - l'utilisateur utilise la commande (par exemple /commande). - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>commande</option> : 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é) - </para> - </listitem> - <listitem> - <para> - <option>fonction</option> : fonction appelée lorsque la - commande est exécutée - </para> - </listitem> - <listitem> - <para> - <option>arguments</option> : brève description des - paramètres de la commande (affichée par /help commande) - </para> - </listitem> - <listitem> - <para> - <option>arguments_description</option> : longue description - des paramètres de la commande (affichée par /help commande) - </para> - </listitem> - <listitem> - <para> - <option>modele_completion</option> : modèle pour la - complétion sous la forme "<literal>abc|%w def|%i</literal>" - qui signifie "abc" ou une commande WeeChat pour le premier - paramètre, et "def" ou une commande IRC pour le deuxième. - (voir <xref linkend="secAPI_cmd_handler_add" />) - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::add_command_handler("commande", "ma_commande"); -sub ma_commande -{ - weechat::print("serveur=$_[0], args=$_[1]"); - return weechat::PLUGIN_RC_OK; -} - -# python -weechat.add_command_handler("commande", "ma_commande") -def ma_commande(serveur, args): - weechat.prnt("serveur="+serveur+", args="+args) - return weechat.PLUGIN_RC_OK - -# ruby -Weechat.add_command_handler("commande", "ma_commande") -def ma_commande(server, args) - Weechat.print("serveur=#{server} args=#{args}") - return Weechat::PLUGIN_RC_OK -end - --- lua -weechat.add_command_handler("commande", "ma_commande") -def my_command(server, args) - weechat.print("serveur="..server..", args="..args) - return weechat.PLUGIN_RC_OK() -end -</screen> - </para> - <para> - Notes : la fonction appelée lorsque la commande est exécutée - doit renvoyer une des valeurs suivantes : - <itemizedlist> - <listitem> - <para> - <literal>PLUGIN_RC_KO</literal> : la fonction a échoué - </para> - </listitem> - <listitem> - <para> - <literal>PLUGIN_RC_OK</literal> : la fonction a réussi - </para> - </listitem> - </itemizedlist> - </para> - </section> - - <section id="secScript_add_timer_handler"> - <title>add_timer_handler</title> - - <para> - Prototype Perl : - <command> - weechat::add_timer_handler(intervalle, fonction); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.add_timer_handler(intervalle, fonction) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.add_timer_handler(intervalle, fonction) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.add_timer_handler(intervalle, fonction) - </command> - </para> - <para> - Ajoute un gestionnaire de temps, qui appelle périodiquement une - fonction. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>intervalle</option> : intervalle (en secondes) - entre deux appels de la fonction. - </para> - </listitem> - <listitem> - <para> - <option>fonction</option> : fonction appelée - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::add_timer_handler(60, "mon_timer"); -sub mon_timer -{ - weechat::print("ceci est le timer handler"); - return weechat::PLUGIN_RC_OK; -} - -# python -weechat.add_timer_handler(60, "mon_timer") -def mon_timer(): - weechat.prnt("ceci est le timer handler") - return weechat.PLUGIN_RC_OK - -# ruby -Weechat.add_timer_handler(60, "mon_timer") -def mon_timer() - Weechat.print("ceci est le timer handler") - return Weechat::PLUGIN_RC_OK -end - --- lua -weechat.add_timer_handler(60, "mon_timer") -function mon_timer() - weechat.print("ceci est le timer handler") - return weechat.PLUGIN_RC_OK() -end -</screen> - </para> - <para> - Note : la fonction appelée doit renvoyer une des valeurs - suivantes : - <itemizedlist> - <listitem> - <para> - <literal>PLUGIN_RC_KO</literal> : la fonction a échoué - </para> - </listitem> - <listitem> - <para> - <literal>PLUGIN_RC_OK</literal> : la fonction a réussi - </para> - </listitem> - </itemizedlist> - </para> - </section> - - <section id="secScript_add_keyboard_handler"> - <title>add_keyboard_handler</title> - - <para> - Prototype Perl : - <command> - weechat::add_keyboard_handler(fonction); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.add_keyboard_handler(fonction) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.add_keyboard_handler(fonction) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.add_keyboard_handler(fonction) - </command> - </para> - <para> - Ajoute un gestionnaire de clavier, appelé dès qu'une touche est - pressée. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>fonction</option> : fonction appelée - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::add_keyboard_handler("mon_clavier"); -sub mon_clavier -{ - my $key = shift; - my $input_before = shift; - my $input_after = shift; - weechat::print("gestionnaire clavier: key = '$key', " - ."entrée avant = '$input_before' " - ."après = '$input_after'"); - return weechat::PLUGIN_RC_OK; -} - -# python -weechat.add_keyboard_handler("mon_clavier") -def mon_clavier(key, input_before, input_after): - weechat.prnt("gestionnaire clavier: touche = '%s', " \ - "entrée avant = '%s' après = '%s'" - %(key, input_before, input_after)) - return weechat.PLUGIN_RC_OK - -# ruby -Weechat.add_keyboard_handler("mon_clavier") -def mon_clavier(key, input_before, input_after) - Weechat.print("gestionnaire clavier: touche = '#{key}', " \ - "entrée avant = '#{input_before}' " \ - "après = '#{input_after}'") - return Weechat::PLUGIN_RC_OK -end - --- lua -weechat.add_keyboard_handler("mon_clavier") -function mon_clavier(key, input_before, input_after) - weechat.print("gestionnaire clavier: touche = '"..key.. - "', entrée avant = '"..input_before.. - "' après = '"..input_after.."'") - return weechat.PLUGIN_RC_OK() -end -</screen> - </para> - <para> - Note : la fonction appelée doit renvoyer une des valeurs - suivantes : - <itemizedlist> - <listitem> - <para> - <literal>PLUGIN_RC_KO</literal> : la fonction a échoué - </para> - </listitem> - <listitem> - <para> - <literal>PLUGIN_RC_OK</literal> : la fonction a réussi - </para> - </listitem> - </itemizedlist> - </para> - </section> - - <section id="secScript_add_event_handler"> - <title>add_event_handler</title> - - <para> - Prototype Perl : - <command> - weechat::add_event_handler(évènement, fonction); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.add_event_handler(évènement, fonction) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.add_event_handler(évènement, fonction) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.add_event_handler(évènement, fonction) - </command> - </para> - <para> - Ajoute un gestionnaire d'évènement, appelé dès qu'un évènement se - produit. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>évènement</option> : évènement - (voir <xref linkend="secAPI_event_handler_add" />) - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <option>fonction</option> : fonction appelée - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::add_event_handler("buffer_open", "mon_evenement"); -sub mon_evenement -{ - weechat::print("buffer open"); - return weechat::PLUGIN_RC_OK; -} - -# python -weechat.add_event_handler("buffer_open", "mon_evenement") -def mon_evenement(): - weechat.prnt("buffer open") - return weechat.PLUGIN_RC_OK - -# ruby -Weechat.add_event_handler("buffer_open", "mon_evenement") -def mon_evenement() - Weechat.print("buffer open") - return Weechat::PLUGIN_RC_OK -end - --- lua -weechat.add_event_handler("buffer_open", "mon_evenement") -function mon_evenement() - weechat.print("buffer open") - return weechat.PLUGIN_RC_OK() -end +weechat.register("test", "Auteur <auteur@domaine.com>", "1.0", + "GPL3", "Description du script", "au_revoir", "") </screen> </para> - <para> - Note : la fonction appelée doit renvoyer une des valeurs - suivantes : - <itemizedlist> - <listitem> - <para> - <literal>PLUGIN_RC_KO</literal> : la fonction a échoué - </para> - </listitem> - <listitem> - <para> - <literal>PLUGIN_RC_OK</literal> : la fonction a réussi - </para> - </listitem> - </itemizedlist> - </para> - </section> - - <section id="secScript_remove_handler"> - <title>remove_handler</title> - <para> - Prototype Perl : - <command> - weechat::remove_handler(nom, fonction); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.remove_handler(nom, fonction) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.remove_handler(nom, fonction) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.remove_handler(nom, fonction) - </command> - </para> - <para> - Supprime un gestionnaire de message ou de commande. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>nom</option> : nom du message IRC ou de la commande - </para> - </listitem> - <listitem> - <para> - <option>fonction</option> : fonction associée - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::remove_handler("commande", "ma_commande"); - -# python -weechat.remove_handler("commande", "ma_commande") - -# ruby -Weechat.remove_handler("commande", "ma_commande") - --- lua -weechat.remove_handler("commande", "ma_commande") -</screen> - </para> - </section> - - <section id="secScript_remove_timer_handler"> - <title>remove_timer_handler</title> - - <para> - Prototype Perl : - <command> - weechat::remove_timer_handler(fonction); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.remove_timer_handler(fonction) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.remove_timer_handler(fonction) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.remove_timer_handler(fonction) - </command> - </para> - <para> - Supprime un gestionnaire de temps. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>fonction</option> : fonction - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::remove_timer_handler("mon_timer"); - -# python -weechat.remove_timer_handler("mon_timer") - -# ruby -Weechat.remove_timer_handler("mon_timer") - --- lua -weechat.remove_timer_handler("mon_timer") -</screen> - </para> </section> - <section id="secScript_remove_keyboard_handler"> - <title>remove_keyboard_handler</title> + <section id="secScriptTcl"> + <title>Tcl</title> <para> - Prototype Perl : - <command> - weechat::remove_keyboard_handler(fonction); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.remove_keyboard_handler(fonction) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.remove_keyboard_handler(fonction) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.remove_keyboard_handler(fonction) - </command> - </para> - <para> - Supprime un gestionnaire de clavier. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>fonction</option> : fonction - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : + Dans un script Tcl WeeChat, toutes les fonctions de l'interface + sont préfixées par "<literal>weechat::</literal>". + Les variables sont préfixées par "<literal>$weechat::</literal>". + Exemple : <screen> -# perl -weechat::remove_keyboard_handler("mon_clavier"); - -# python -weechat.remove_keyboard_handler("mon_clavier") - -# ruby -Weechat.remove_keyboard_handler("mon_clavier") - --- lua -weechat.remove_keyboard_handler("mon_clavier") +weechat::register "test" "Auteur <auteur@domaine.com>" "1.0" "GPL3" "Description du script" "au_revoir" "" </screen> </para> - </section> - - <section id="secScript_remove_event_handler"> - <title>remove_event_handler</title> - <para> - Prototype Perl : - <command> - weechat::remove_event_handler(fonction); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.remove_event_handler(fonction) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.remove_event_handler(fonction) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.remove_event_handler(fonction) - </command> - </para> - <para> - Supprime un gestionnaire d'évènement. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>fonction</option> : fonction - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::remove_event_handler("mon_evenement"); - -# python -weechat.remove_event_handler("mon_evenement") - -# ruby -Weechat.remove_event_handler("mon_evenement") - --- lua -weechat.remove_event_handler("mon_evenement") -</screen> - </para> </section> - <section id="secScript_add_modifier"> - <title>add_modifier</title> - - <para> - Prototype Perl : - <command> - weechat::add_modifier(type, message, fonction); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.add_modifier(type, message, fonction) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.add_modifier(type, message, fonction) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.add_modifier(type, message, fonction) - </command> - </para> - <para> - Ajoute un modifieur de messages. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>type</option> : type de modifieur : - <informaltable colsep="0" frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Type</entry> - <entry>Description</entry> - </row> - </thead> - <tbody> - <row> - <entry><literal>irc_in</literal></entry> - <entry>appelé pour chaque message IRC reçu</entry> - </row> - <row> - <entry><literal>irc_user</literal></entry> - <entry> - appelé pour chaque message (ou commande) envoyé par - l'utilisateur (avant traitement et affichage par - WeeChat) - </entry> - </row> - <row> - <entry><literal>irc_out</literal></entry> - <entry> - appelé pour chaque message sortant juste avant - envoi au serveur IRC (y compris pour les messages - envoyés automatiquement et de manière transparente - par WeeChat) - </entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </listitem> - <listitem> - <para> - <option>message</option> : nom du message IRC pour lequel la - fonction est appelée (utilisé uniquement pour les types - "irc_in" et "irc_out"). - Pour connaître la liste des messages IRC disponibles, merci - de consulter les <acronym>RFC</acronym>s - <ulink url="http://www.ietf.org/rfc/rfc1459.txt">1459</ulink> - et - <ulink url="http://www.ietf.org/rfc/rfc2812.txt">2812</ulink>. - La valeur spéciale "*" signifie tous les messages (pas de - filtre). - </para> - </listitem> - <listitem> - <para> - <option>fonction</option> : fonction appelée - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::add_modifier("irc_in", "privmsg", "mod_in"); -weechat::add_modifier("irc_out", "privmsg", "mod_out"); -sub mod_in -{ - return "$_[1] [modifier IN]"; -} -sub mod_out -{ - return "$_[1] [modifier OUT]"; -} - -# python -weechat.add_modifier("irc_in", "privmsg", "mod_in") -weechat.add_modifier("irc_out", "privmsg", "mod_out") -def mod_in(serveur, args): - return args + " [modifier IN]" -def mod_out(serveur, args): - return args + " [modifier OUT]" - -# ruby -Weechat.add_modifier("irc_in", "privmsg", "mod_in") -Weechat.add_modifier("irc_out", "privmsg", "mod_out") -def mod_in(server, args) - return args + " [modifier IN]" -end -def mod_out(server, args) - return args + " [modifier OUT]" -end - --- lua -weechat.add_modifier("irc_in", "privmsg", "mod_in") -weechat.add_modifier("irc_out", "privmsg", "mod_out") -function mod_in(server, args) - return args .. " [modifier IN]" -end -function mod_out(server, args) - return args .. " [modifier OUT]" -end -</screen> - </para> - </section> + </section> + + <section id="secInterfaceWeeChatScripts"> + <title>Interface WeeChat / scripts</title> - <section id="secScript_remove_modifier"> - <title>remove_modifier</title> + <section id="sec_script_register"> + <title>register</title> <para> Prototype Perl : <command> - weechat::remove_modifier(type, message, fonction); + weechat::register(nom, auteur, version, licence, description, + fonction_de_fin, charset); </command> </para> <para> Prototype Python : <command> - weechat.remove_handler(type, message, fonction) + weechat.register(nom, auteur, version, licence, description, + fonction_de_fin, charset) </command> </para> <para> Prototype Ruby : <command> - Weechat.remove_handler(type, message, fonction) + Weechat.register(nom, auteur, version, licence, description, + fonction_de_fin, charset) </command> </para> <para> Prototype Lua : <command> - weechat.remove_handler(type, message, fonction) - </command> - </para> - <para> - Supprime un modifieur de messages. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>type</option> : type de modifieur - </para> - </listitem> - <listitem> - <para> - <option>message</option> : message traité par le modifieur - </para> - </listitem> - <listitem> - <para> - <option>fonction</option> : fonction associée - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::remove_modifier("irc_in", "privmsg", "mod_in"); - -# python -weechat.remove_modifier("irc_in", "privmsg", "mod_in") - -# ruby -Weechat.remove_modifier("irc_in", "privmsg", "mod_in") - --- lua -weechat.remove_modifier("irc_in", "privmsg", "mod_in") -</screen> - </para> - </section> - - <section id="secScript_command"> - <title>command</title> - - <para> - Prototype Perl : - <command> - weechat::command(commande, [canal, [serveur]]); + weechat.register(nom, auteur, version, licence, description, + fonction_de_fin, charset) </command> </para> <para> - Prototype Python : - <command> - weechat.command(commande, [canal, [serveur]]) - </command> - </para> - <para> - Prototype Ruby : + Prototype Tcl : <command> - Weechat.command(commande, [canal, [serveur]]) + weechat::register nom auteur version licence description + fonction_de_fin charset </command> </para> <para> - Prototype Lua : - <command> - weechat.command(commande, [canal, [serveur]]) - </command> - </para> - <para> - Exécute une commande ou envoie un message à un canal. + C'est la première fonction à appeler dans le script. + Tout script pour WeeChat doit appeler cette fonction. </para> <para> Paramètres : <itemizedlist> <listitem> <para> - <option>commande</option> : la commande à exécuter + <option>nom</option> : nom unique pour identifier le script + (chaque script doit avoir un nom différent) </para> </listitem> <listitem> <para> - <option>canal</option> : nom du canal où exécuter la - commande + <option>auteur</option> : chaîne avec l'auteur (peut include + nom, pseudo, e-mail, etc...) </para> </listitem> <listitem> <para> - <option>serveur</option> : nom interne du serveur où - exécuter la commande + <option>version</option> : version du script </para> </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite. - </para> - <para> - Exemples : -<screen> -# 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") - --- lua -weechat.command("bonjour tout le monde !") -weechat.command("/kick toto merci de quitter ce canal", "#weechat") -weechat.command("/nick newnick", "", "freenode") -</screen> - </para> - </section> - - <section id="secScript_get_info"> - <title>get_info</title> - - <para> - Prototype Perl : - <command> - weechat::get_info(nom, [serveur]); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.get_info(nom, [serveur]) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.get_info(nom, [serveur]) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.get_info(nom, [serveur]) - </command> - </para> - <para> - Renvoie une information sur WeeChat ou un canal. - </para> - <para> - Paramètres : - <itemizedlist> <listitem> <para> - <option>nom</option> : nom de l'info à obtenir - (voir <xref linkend="secAPI_get_info" />) + <option>description</option> : brève description du script </para> </listitem> <listitem> <para> - <option>serveur</option> : nom interne du serveur où - récupérer l'information (si nécessaire) + <option>fonction_de_fin</option> : 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) </para> </listitem> - </itemizedlist> - </para> - <para> - 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. - </para> - <para> - Exemples : -<screen> -# perl -$version = get_info("version"); -$nick = get_info("nick", "freenode"); - -# python -version = weechat.get_info("version") -nick = weechat.get_info("nick", "freenode") - -# ruby -version = Weechat.get_info("version") -nick = Weechat.get_info("nick", "freenode") - --- lua -version = weechat.get_info("version") -nick = weechat.get_info("nick", "freenode") -</screen> - </para> - </section> - - <section id="secScript_get_dcc_info"> - <title>get_dcc_info</title> - - <para> - Prototype Perl : - <command> - weechat::get_dcc_info(); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.get_dcc_info() - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.get_dcc_info() - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.get_dcc_info() - </command> - </para> - <para> - Renvoie la liste des DCC en cours ou terminés. - </para> - <para> - Valeur renvoyée : la liste des DCC - (voir <xref linkend="secAPI_get_dcc_info" />). - </para> - <para> - Exemples : -<screen> -# perl -my @dccs = weechat::get_dcc_info(); -if (@dccs) -{ - foreach my $dcc (@dccs) - { - while (my ($key, $value) = each %$dcc) - { - weechat::print("$key = '$value'"); - } - } -} -else -{ - weechat::print("pas de DCC"); -} - -# python -dccs = weechat.get_dcc_info() -if dccs != None: - if dccs == []: - weechat.prnt("pas de DCC") - else: - for d in dccs: - for b in d.keys(): - weechat.prnt("%s = '%s'" %(b, d[b])) -else: - weechat.prnt("erreur de lecture des DCC") - -# ruby -dccs = Weechat.get_dcc_info() -if dccs != nil - if dccs == [] - Weechat.print("pas de DCC") - else - dccs.each do |m| - m.each do |key, value| - Weechat.print("#{key} = '#{value}'") - end - end - end -else - Weechat.print("erreur de lecture des DCC") -end - --- lua -dccs = weechat.get_dcc_info() -if dccs ~= nil then - if dccs then - dcc, dccinfos = next (dccs, nil) - while (dcc) do - key, value = next (dccinfos, nil) - while (key) do - weechat.print(key.." = '"..value.."'") - key, value = next (dccinfos, key) - end - dcc, dccinfos = next (dccs, dcc) - end - else - weechat.print("pas de DCC") - end -else - weechat.print("erreur de lecture des DCC") -end -</screen> - </para> - </section> - - <section id="secScript_get_server_info"> - <title>get_server_info</title> - - <para> - Prototype Perl : - <command> - weechat::get_server_info(); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.get_server_info() - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.get_server_info() - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.get_server_info() - </command> - </para> - <para> - Renvoie la liste des serveurs IRC (connectés ou non). - </para> - <para> - Valeur renvoyée : la liste des serveurs IRC (connectés ou non) - (voir <xref linkend="secAPI_get_server_info" />). - </para> - <para> - Exemples : -<screen> -# perl -my $servers = weechat::get_server_info(); -if ($servers) -{ - while (my ($srvname, $srvinfos) = each %$servers) - { - while (my ($key, $value) = each %$srvinfos) - { - weechat::print("$srvname -> $key = '$value'"); - } - } -} -else -{ - weechat::print("pas de serveur"); -} - -# python -servers = weechat.get_server_info() -if servers != None: - if servers == {}: - weechat.prnt("pas de serveur") - else: - for s in servers: - for i in servers[s]: - weechat.prnt("%s -> %s = '%s'" % (s, i, str(servers[s][i]))) -else: - weechat.prnt("erreur de lecture des serveurs") - -# ruby -servers = Weechat.get_server_info() -if servers != nil - if servers == [] - Weechat.print("pas de serveur") - else - servers.each do |n, s| - s.each do |key, value| - Weechat.print("#{n} -> #{key} = '#{value}'") - end - end - end -else - Weechat.print("erreur de lecture des serveurs") -end - --- lua -servers = weechat.get_server_info() -if servers ~= nil then - if servers then - srv, srvinfos = next (servers, nil) - while (srv) do - key, value = next (srvinfos, nil) - while (key) do - weechat.print(srv.." -> "..key.." = '"..value.."'") - key, value = next (srvinfos, key) - end - srv, srvinfos = next (servers, srv) - end - else - weechat.print("pas de serveur") - end -else - weechat.print("erreur de lecture des serveurs") -end -</screen> - </para> - </section> - - <section id="secScript_get_channel_info"> - <title>get_channel_info</title> - - <para> - Prototype Perl : - <command> - weechat::get_channel_info(serveur); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.get_channel_info(serveur) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.get_channel_info(serveur) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.get_channel_info(serveur) - </command> - </para> - <para> - Renvoie la liste des canaux IRC pour un serveur. - </para> - <para> - Valeur renvoyée : la liste des canaux IRC du serveur - (voir <xref linkend="secAPI_get_channel_info" />). - </para> - <para> - Exemples : -<screen> -# perl -my $channels = weechat::get_channel_info(weechat::get_info("server")); -if ($channels) -{ - while (my ($channame, $chaninfos) = each %$channels) - { - while (my ($key, $value) = each %$chaninfos) - { - weechat::print("$channame -> $key = '$value'"); - } - } -} -else -{ - weechat::print("pas de canal"); -} - -# python -chans = weechat.get_channel_info(weechat.get_info("server")) -if chans != None: - if chans == {}: - weechat.prnt("pas de canal") - else: - for s in chans: - for i in chans[s]: - weechat.prnt("%s -> %s = '%s'" % (s, i, str(chans[s][i]))) -else: - weechat.prnt("erreur de lecture des canaux") - -# ruby -channels = Weechat.get_channel_info(Weechat.get_info("server")) -if channels != nil - if channels == {} - Weechat.print("pas de canal") - else - channels.each do |n, c| - c.each do |key, value| - Weechat.print("#{n} -> #{key} = '#{value}'") - end - end - end -else - Weechat.print("erreur de lecture des canaux") -end - --- lua -chans = weechat.get_channel_info(weechat.get_info("server")) -if chans ~= nil then - if chans then - chan, chaninfos = next (chans, nil) - while (chan) do - key, value = next (chaninfos, nil) - while (key) do - weechat.print(chan.." -> "..key.." = '"..value.."'") - key, value = next (chaninfos, key) - end - chan, chaninfos = next (chans, chan) - end - else - weechat.print("pas de canal") - end -else - weechat.print("erreur de lecture des canaux") -end -</screen> - </para> - </section> - - <section id="secScript_get_nick_info"> - <title>get_nick_info</title> - - <para> - Prototype Perl : - <command> - weechat::get_nick_info(serveur, canal); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.get_nick_info(serveur, canal) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.get_nick_info(serveur, canal) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.get_nick_info(serveur, canal) - </command> - </para> - <para> - Renvoie la liste des pseudos pour un canal. - </para> - <para> - Valeur renvoyée : la liste des pseudos présents sur le canal - (voir <xref linkend="secAPI_get_nick_info" />). - </para> - <para> - Exemples : -<screen> -# perl -my $nicks = weechat::get_nick_info("freenode", "#weechat"); -if ($nicks) -{ - while (my ($nickname, $nickinfos) = each %$nicks) - { - while ( my ($key, $value) = each %$nickinfos) - { - weechat::print("$nickname -> $key = '$value'"); - } - } -} -else -{ - weechat::print("pas de pseudo"); -} - -# python -nicks = weechat.get_nick_info("freenode", "#weechat") -if nicks != None: - if nicks == {}: - weechat.prnt("pas de pseudo") - else: - for n in nicks: - for f in nicks[n]: - weechat.prnt("%s -> %s = '%s'" % (n, f, str(nicks[n][f]))) -else: - weechat.prnt("erreur de lecture des pseudos") - -# ruby -nicks = Weechat.get_nick_info("freenode", "#weechat") -if nicks != nil - if nicks == {} - Weechat.print("pas de pseudo") - else - nicks.each do |nk, nattr| - nattr.each do |key, value| - Weechat.print("#{nk} -> #{key} = '#{value}'") - end - end - end -else - Weechat.print("erreur de lecture des pseudos") -end - --- lua -nicks = weechat.get_nick_info("freenode", "#weechat") -if nicks ~= nil then - if nicks then - nick, nickinfos = next (nicks, nil) - while (nick) do - key, value = next (nickinfos, nil) - while (key) do - weechat.print(nick.." -> "..key.." = '"..value.."'") - key, value = next (nickinfos, key) - end - nick, nickinfos = next (nicks, nick) - end - else - weechat.print("pas de pseudo") - end -else - weechat.print("erreur de lecture des pseudos") -end -</screen> - </para> - </section> - - <section id="secScript_get_config"> - <title>get_config</title> - - <para> - Prototype Perl : - <command> - weechat::get_config(option); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.get_config(option) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.get_config(option) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.get_config(option) - </command> - </para> - <para> - Renvoie la valeur d'une option de configuration WeeChat. - </para> - <para> - Paramètres : - <itemizedlist> <listitem> <para> - <option>option</option> : nom de l'option + <option>charset</option> : jeu de caractères du script, à + préciser si le script n'est PAS écrit en UTF-8 (vous pouvez + laisser blanc pour un script UTF-8, c'est le jeu de caractère + par défaut) </para> </listitem> </itemizedlist> </para> <para> - Valeur renvoyée : la valeur de l'option, chaîne vide si l'option - n'a pas été trouvée. + Valeur renvoyée : 1 si le script a été enregistré, 0 si une erreur + s'est produite. </para> <para> Exemples : <screen> # perl -$valeur1 = weechat::get_config("look_nicklist"); -$valeur2 = weechat::get_config("freenode.server_autojoin"); +weechat::register("test", "Auteur <auteur\@domaine.com>", "1.0", + "GPL3", "Description du script", "au_revoir", ""); # python -valeur1 = weechat.get_config("look_nicklist") -valeur2 = weechat.get_config("freenode.server_autojoin") +weechat.register("test", "Auteur <auteur@domaine.com>", "1.0", + "GPL3", "Description du script", "au_revoir", "") # ruby -valeur1 = Weechat.get_config("look_nicklist") -valeur2 = Weechat.get_config("freenode.server_autojoin") +Weechat.register("test", "Auteur <auteur@domaine.com>", "1.0", + "GPL3", "Description du script", "au_revoir", "") -- lua -valeur1 = weechat.get_config("look_nicklist") -valeur2 = weechat.get_config("freenode.server_autojoin") -</screen> - </para> - </section> - - <section id="secScript_set_config"> - <title>set_config</title> - - <para> - Prototype Perl : - <command> - weechat::set_config(option, valeur); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.set_config(option, valeur) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.set_config(option, valeur) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.set_config(option, valeur) - </command> - </para> - <para> - Modifie la valeur d'une option de configuration WeeChat. - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>option</option> : nom de l'option - </para> - </listitem> - <listitem> - <para> - <option>valeur</option> : la nouvelle valeur pour - l'option - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est - produite. - </para> - <para> - Exemples : -<screen> -# 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") +weechat.register("test", "Auteur <auteur@domaine.com>", "1.0", + "GPL3", "Description du script", "au_revoir", "") -# ruby -Weechat.set_config("look_nicklist", "off") -Weechat.set_config("freenode.server_autojoin", "#weechat") - --- lua -weechat.set_config("look_nicklist", "off") -weechat.set_config("freenode.server_autojoin", "#weechat") +# tcl +weechat::register "test" "Auteur <auteur@domaine.com>" "1.0" "GPL3" "Description du script" "au_revoir" "" </screen> </para> </section> - - <section id="secScript_get_plugin_config"> - <title>get_plugin_config</title> - - <para> - Prototype Perl : - <command> - weechat::get_plugin_config(option); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.get_plugin_config(option) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.get_plugin_config(option) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.get_plugin_config(option) - </command> - </para> - <para> - Renvoie la valeur d'une option de l'extension. - L'option est lue depuis le fichier - "<literal>~/.weechat/plugins.rc</literal>" et est - sous cette forme : - "<literal>extension.script.option=valeur</literal>" - (NB : le nom de l'extension et du script sont ajoutés - automatiquement). - </para> - <para> - Paramètres : - <itemizedlist> - <listitem> - <para> - <option>option</option> : nom de l'option - </para> - </listitem> - </itemizedlist> - </para> - <para> - Valeur renvoyée : la valeur de l'option, chaîne vide si l'option - n'a pas été trouvée. - </para> - <para> - Exemples : -<screen> -# perl -$valeur = weechat::get_plugin_config("ma_variable"); - -# python -valeur = weechat.get_plugin_config("ma_variable") - -# ruby -valeur = Weechat.get_plugin_config("ma_variable") --- lua -valeur = weechat.get_plugin_config("ma_variable") -</screen> - </para> - </section> - - <section id="secScript_set_plugin_config"> - <title>set_plugin_config</title> + <section id="secOther_functions"> + <title>Autres fonctions</title> <para> - Prototype Perl : - <command> - weechat::set_plugin_config(option, valeur); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.set_plugin_config(option, valeur) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.set_plugin_config(option, valeur) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.set_plugin_config(option, valeur) - </command> - </para> - <para> - Modifie la valeur d'une option de l'extension. - L'option est écrite dans le fichier - "<literal>~/.weechat/plugins.rc</literal>" et est - sous cette forme : - "<literal>extension.script.option=valeur</literal>" - (NB : le nom de l'extension et du script sont rajoutés - automatiquement). - </para> - <para> - Paramètres : + Les fonctions suivantes sont dans l'API scripts (pour la description, + voir <xref linkend="secPluginCApi" />). <itemizedlist> - <listitem> - <para> - <option>option</option> : nom de l'option - </para> - </listitem> - <listitem> - <para> - <option>valeur</option> : la nouvelle valeur pour - l'option - </para> - </listitem> + <listitem><para>plugin_get_name</para></listitem> + <listitem><para>set_charset</para></listitem> + <listitem><para>plugin_get_name</para></listitem> + <listitem><para>charset_set</para></listitem> + <listitem><para>iconv_to_internal</para></listitem> + <listitem><para>iconv_from_internal</para></listitem> + <listitem><para>gettext</para></listitem> + <listitem><para>ngettext</para></listitem> + <listitem><para>string_remove_color</para></listitem> + <listitem><para>mkdir_home</para></listitem> + <listitem><para>mkdir</para></listitem> + <listitem><para>mkdir_parents</para></listitem> + <listitem><para>list_new</para></listitem> + <listitem><para>list_add</para></listitem> + <listitem><para>list_search</para></listitem> + <listitem><para>list_casesearch</para></listitem> + <listitem><para>list_get</para></listitem> + <listitem><para>list_set</para></listitem> + <listitem><para>list_next</para></listitem> + <listitem><para>list_prev</para></listitem> + <listitem><para>list_string</para></listitem> + <listitem><para>list_size</para></listitem> + <listitem><para>list_remove</para></listitem> + <listitem><para>list_remove_all</para></listitem> + <listitem><para>list_free</para></listitem> + <listitem><para>config_new</para></listitem> + <listitem><para>config_new_section</para></listitem> + <listitem><para>config_search_section</para></listitem> + <listitem><para>config_new_option</para></listitem> + <listitem><para>config_search_option</para></listitem> + <listitem><para>config_string_to_boolean</para></listitem> + <listitem><para>config_option_reset</para></listitem> + <listitem><para>config_option_set</para></listitem> + <listitem><para>config_option_set_null</para></listitem> + <listitem><para>config_option_unset</para></listitem> + <listitem><para>config_option_rename</para></listitem> + <listitem><para>config_option_is_null</para></listitem> + <listitem><para>config_option_default_is_null</para></listitem> + <listitem><para>config_boolean</para></listitem> + <listitem><para>config_boolean_default</para></listitem> + <listitem><para>config_integer</para></listitem> + <listitem><para>config_integer_default</para></listitem> + <listitem><para>config_string</para></listitem> + <listitem><para>config_string_default</para></listitem> + <listitem><para>config_color</para></listitem> + <listitem><para>config_color_default</para></listitem> + <listitem><para>config_write_option</para></listitem> + <listitem><para>config_write_line</para></listitem> + <listitem><para>config_write</para></listitem> + <listitem><para>config_read</para></listitem> + <listitem><para>config_reload</para></listitem> + <listitem><para>config_option_free</para></listitem> + <listitem><para>config_section_free_options</para></listitem> + <listitem><para>config_section_free</para></listitem> + <listitem><para>config_free</para></listitem> + <listitem><para>config_get</para></listitem> + <listitem><para>config_get_plugin</para></listitem> + <listitem><para>config_set_plugin</para></listitem> + <listitem><para>config_unset_plugin</para></listitem> + <listitem><para>prefix</para></listitem> + <listitem><para>color</para></listitem> + <listitem><para>print</para></listitem> + <listitem><para>print_date_tags</para></listitem> + <listitem><para>print_y</para></listitem> + <listitem><para>log_print</para></listitem> + <listitem><para>hook_command</para></listitem> + <listitem><para>hook_command_run</para></listitem> + <listitem><para>hook_timer</para></listitem> + <listitem><para>hook_fd</para></listitem> + <listitem><para>hook_process</para></listitem> + <listitem><para>hook_connect</para></listitem> + <listitem><para>hook_print</para></listitem> + <listitem><para>hook_signal</para></listitem> + <listitem><para>hook_signal_send</para></listitem> + <listitem><para>hook_config</para></listitem> + <listitem><para>hook_completion</para></listitem> + <listitem><para>hook_completion_list_add</para></listitem> + <listitem><para>hook_modifier</para></listitem> + <listitem><para>hook_modifier_exec</para></listitem> + <listitem><para>hook_info</para></listitem> + <listitem><para>hook_infolist</para></listitem> + <listitem><para>unhook</para></listitem> + <listitem><para>unhook_all</para></listitem> + <listitem><para>buffer_new</para></listitem> + <listitem><para>buffer_search</para></listitem> + <listitem><para>current_buffer</para></listitem> + <listitem><para>buffer_clear</para></listitem> + <listitem><para>buffer_close</para></listitem> + <listitem><para>buffer_get_integer</para></listitem> + <listitem><para>buffer_get_string</para></listitem> + <listitem><para>buffer_get_pointer</para></listitem> + <listitem><para>buffer_set</para></listitem> + <listitem><para>current_window</para></listitem> + <listitem><para>window_get_integer</para></listitem> + <listitem><para>window_get_string</para></listitem> + <listitem><para>window_get_pointer</para></listitem> + <listitem><para>nicklist_add_group</para></listitem> + <listitem><para>nicklist_search_group</para></listitem> + <listitem><para>nicklist_add_nick</para></listitem> + <listitem><para>nicklist_search_nick</para></listitem> + <listitem><para>nicklist_remove_group</para></listitem> + <listitem><para>nicklist_remove_nick</para></listitem> + <listitem><para>nicklist_remove_all</para></listitem> + <listitem><para>bar_item_search</para></listitem> + <listitem><para>bar_item_new</para></listitem> + <listitem><para>bar_item_update</para></listitem> + <listitem><para>bar_item_remove</para></listitem> + <listitem><para>bar_search</para></listitem> + <listitem><para>bar_new</para></listitem> + <listitem><para>bar_set</para></listitem> + <listitem><para>bar_update</para></listitem> + <listitem><para>bar_remove</para></listitem> + <listitem><para>command</para></listitem> + <listitem><para>info_get</para></listitem> + <listitem><para>infolist_new</para></listitem> + <listitem><para>infolist_new_var_integer</para></listitem> + <listitem><para>infolist_new_var_string</para></listitem> + <listitem><para>infolist_new_var_pointer</para></listitem> + <listitem><para>infolist_new_var_time</para></listitem> + <listitem><para>infolist_get</para></listitem> + <listitem><para>infolist_next</para></listitem> + <listitem><para>infolist_prev</para></listitem> + <listitem><para>infolist_fields</para></listitem> + <listitem><para>infolist_integer</para></listitem> + <listitem><para>infolist_string</para></listitem> + <listitem><para>infolist_pointer</para></listitem> + <listitem><para>infolist_time</para></listitem> + <listitem><para>infolist_free</para></listitem> + <listitem><para>upgrade_new</para></listitem> + <listitem><para>upgrade_write_object</para></listitem> + <listitem><para>upgrade_read</para></listitem> + <listitem><para>upgrade_close</para></listitem> </itemizedlist> </para> - <para> - Valeur renvoyée : 1 si succès, 0 si une erreur s'est - produite. - </para> - <para> - Exemples : -<screen> -# perl -weechat::set_plugin_config("ma_variable", "valeur"); - -# python -weechat.set_plugin_config("ma_variable", "valeur") - -# ruby -Weechat.set_plugin_config("ma_variable", "valeur") - --- lua -weechat.set_plugin_config("ma_variable", "valeur") -</screen> - </para> - </section> - - <section id="secScript_get_irc_color"> - <title>get_irc_color</title> - - <para> - Prototype Perl : - <command> - weechat::get_irc_color(color); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.get_irc_color(color) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.get_irc_color(color) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.get_irc_color(color) - </command> - </para> - <para> - Renvoie le numéro d'une couleur IRC avec son nom. - </para> - <para> - Valeur renvoyée : numéro de la couleur IRC, -1 si la couleur - n'est pas trouvée (voir <xref linkend="secAPI_get_irc_color" />). - </para> - <para> - Exemples : -<screen> -# perl -my $color_blue = weechat::get_irc_color("blue"); - -# python -color_blue = weechat.get_irc_color("blue") - -# ruby -color_blue = Weechat.get_irc_color("blue") - --- lua -color_blue = weechat.get_irc_color("blue") -</screen> - </para> - </section> - - <section id="secScript_input_color"> - <title>input_color</title> - - <para> - Prototype Perl : - <command> - weechat::input_color(color); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.input_color(color) - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.input_color(color) - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.input_color(color) - </command> - </para> - <para> - Ajoute de la couleur dans la zone de saisie. - </para> - <para> - Valeur renvoyée : aucune. - </para> - <para> - Exemples : -<screen> -# perl -weechat::input_color(weechat::get_irc_color("blue"), 10, 5); - -# python -weechat.input_color(weechat.get_irc_color("blue"), 10, 5) - -# ruby -Weechat.input_color(Weechat.get_irc_color("blue"), 10, 5) - --- lua -weechat.input_color(weechat.get_irc_color("blue"), 10, 5) -</screen> - </para> - </section> - - <section id="secScript_get_window_info"> - <title>get_window_info</title> - - <para> - Prototype Perl : - <command> - weechat::get_window_info(); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.get_window_info() - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.get_window_info() - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.get_window_info() - </command> - </para> - <para> - Renvoie la liste des fenêtres WeeChat. - </para> - <para> - Valeur renvoyée : liste des fenêtres WeeChat - (voir <xref linkend="secAPI_get_window_info" />). - </para> - <para> - Exemples : -<screen> -# perl -my @wf = weechat::get_window_info(); -if (@wf) -{ - weechat::print("**** infos fenêtres ****"); - foreach my $w (@wf) - { - while ( my ($key, $value) = each %$w) - { - weechat::print(" > $key => $value"); - } - weechat::print("----------------------"); - } -} -else -{ - weechat::print("**** pas d'info fenêtre ****"); -} - -# python -wf = weechat.get_window_info() -if wf != None and wf != []: - weechat.prnt ("**** infos fenêtres ****") - for w in wf: - for i in w: - weechat.prnt (" > %s => %s" % (i, w[i])) - weechat.prnt ("----------------------") -else: - weechat.prnt ("**** pas d'info sur les fenêtres ****") - -# ruby -wf = Weechat.get_window_info() -if wf != nil and wf != [] - Weechat.print("**** infos fenêtres ****") - wf.each do |w| - w.each do |key, value| - Weechat.print(" > #{key} => #{value}") - end - Weechat.print("----------------------") - end -else - Weechat.print("**** pas d'info sur les fenêtres ****") -end - --- lua -wf = weechat.get_window_info() -if wf then - weechat.print ("**** infos fenêtres ****") - w, winfos = next (wf, nil) - while (w) do - key, value = next (winfos, nil) - while (key) do - weechat.print(" > " .. key .. " => " .. value) - key, value = next (winfos, key) - end - weechat.print ("----------------------") - w, winfos = next (wf, w) - end -else - weechat.print("**** pas d'info sur les fenêtres ****") -end -</screen> - </para> - </section> - - <section id="secScript_get_buffer_info"> - <title>get_buffer_info</title> - - <para> - Prototype Perl : - <command> - weechat::get_buffer_info(); - </command> - </para> - <para> - Prototype Python : - <command> - weechat.get_buffer_info() - </command> - </para> - <para> - Prototype Ruby : - <command> - Weechat.get_buffer_info() - </command> - </para> - <para> - Prototype Lua : - <command> - weechat.get_buffer_info() - </command> - </para> - <para> - Renvoie la liste des tampons WeeChat. - </para> - <para> - Valeur renvoyée : liste des tampons WeeChat - (voir <xref linkend="secAPI_get_buffer_info" />). - </para> - <para> - Exemples : -<screen> -# perl -my $bf = weechat::get_buffer_info(); -if ($bf) -{ - while ( my ($nobuf, $binfos) = each %$bf) - { - while ( my ($key, $value) = each %$binfos) - { - weechat::print(" > $key => $value"); - } - weechat::print("----------------------"); - } -} -else -{ - weechat::print("**** pas d'info sur les tampons ****"); -} - -# python -bf = weechat.get_buffer_info() -if bf != None and bf != {}: - for b in bf: - weechat.prnt ("**** info pour tampon buffer no %d ****" % b) - for c in bf[b]: - weechat.prnt (" > %s => %s" % (c, bf[b][c])) - weechat.prnt ("----------------------") -else: - weechat.prnt ("**** pas d'info sur les tampons ****") - -# ruby -bf = Weechat.get_buffer_info() -if bf != nil and bf != {} - bf.each do |n, c| - Weechat.print("**** info pour tampon no #{n} ****") - c.each do |key, value| - Weechat.print(" > #{key} => #{value}") - end - Weechat.print("----------------------") - end -else - Weechat.print("**** pas d'info sur les tampons ****") -end - --- lua -bf = weechat.get_buffer_info() -if bf then - b, binfos = next (bf, nil) - while (b) do - weechat.print("**** info pour tampon no " .. b .. " ****") - key, value = next (binfos, nil) - while (key) do - weechat.print(" > " .. key .. " => " .. value) - key, value = next (binfos, key) - end - weechat.print ("----------------------") - b, infos = next (bf, b) - end -else - weechat.print("**** pas d'info sur les tampons ****") -end -</screen> - </para> - </section> - - <section id="secScript_get_buffer_data"> - <title>get_buffer_data</title> - <para> - Perl prototype: - <command> - weechat::get_buffer_data(server, channel); - </command> - </para> - <para> - Python prototype: - <command> - weechat.get_buffer_data(server, channel) - </command> - </para> - <para> - Ruby prototype: - <command> - Weechat.get_buffer_data(server, channel) - </command> - </para> - <para> - Lua prototype: - <command> - weechat.get_buffer_data(server, channel) - </command> - </para> - <para> - Return content of buffer. - </para> - <para> - Return value: list of lines for buffer - (see <xref linkend="secAPI_get_buffer_data" />). - </para> - <para> - Examples: -<screen> -# perl -my $server = weechat::get_info("server"); -my $channel = weechat::get_info("channel"); -my @bc = weechat::get_buffer_data($server, $channel); -if (@bc) -{ - weechat::print("**** buffer data for '$channel'\@'$server' ****"); - foreach my $l (@bc) { - while ( my ($key, $value) = each %$l) { - weechat::print(" > $key => $value"); - } - weechat::print("----------------------"); - } -} -else -{ - weechat::print("**** no buffer data ****"); -} - -# python -server = weechat.get_info("server") -channel = weechat.get_info("channel") -bc = weechat.get_buffer_data(server, channel) -if bc != None and bc != []: - weechat.prnt ("**** buffer data for '%s'@'%s' ****" % (channel, server)) - for l in bc: - for i in l: - weechat.prnt (" > %s => %s" % (i, l[i])) - weechat.prnt ("----------------------") -else: - weechat.prnt ("**** no buffer data ****") - -# ruby -server = Weechat.get_info("server") -channel = Weechat.get_info("channel") -bc = Weechat.get_buffer_data(server, channel) -if bc != nil and bc != [] - Weechat.print("**** buffer data for '#{channel}'@'#{server}' ****") - bc.each do |l| - l.each do |key, value| - Weechat.print(" > #{key} => #{value}") - end - Weechat.print("----------------------") - end -else - Weechat.print("**** no buffer data ****") -end - --- lua -server = weechat.get_info("server") -channel = weechat.get_info("channel") -bc = weechat.get_buffer_data(server, channel) -if bc then - b, bdatas = next (bc, nil) - weechat.print("**** buffer data for '" .. channel .. "'@'" .. server .. "' ****") - while (b) do - key, value = next (bdatas, nil) - while (key) do - weechat.print(" > " .. key .. " => " .. value) - key, value = next (bdatas, key) - end - weechat.print ("----------------------") - b, bdatas = next (bc, b) - end -else - weechat.print("**** no buffer data ****") -end -</screen> - </para> </section> </section> |