\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename weechat_doc_fr.info @settitle WeeChat - Client IRC rapide, leger et extensible @c %**end of header @c WeeChat documentation (french version) @c @c Copyright (c) 2005 by FlashCode @c @c This manual is free software; you can redistribute it and/or modify @c it under the terms of the GNU General Public License as published by @c the Free Software Foundation; either version 2 of the License, or @c (at your option) any later version. @c @c This manual is distributed in the hope that it will be useful, @c but WITHOUT ANY WARRANTY; without even the implied warranty of @c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @c GNU General Public License for more details. @c @c You should have received a copy of the GNU General Public License @c along with this program; if not, write to the Free Software @c Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA @c pdf : texi2pdf weechat_doc_fr.texi @c html: makeinfo --html --no-split --number-sections weechat_doc_fr.texi @c tex @c \overfullrule=0pt @c end tex @documentlanguage fr @documentencoding ISO-8859-1 @titlepage @title WeeChat - Guide utilisateur @subtitle Client IRC rapide, l@'eger et extensible @subtitle Documentation pour WeeChat v0.1.6-cvs - 25 octobre 2005 @author FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}> @page Ce manuel documente le client IRC WeeChat, il fait partie de WeeChat.@* @* La derni@`ere version de ce document peut @^etre t@'el@'echarg@'ee sur cette page :@* @uref{http://weechat.flashtux.org/doc.php}@* @* Copyright @copyright{} 2005 FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@* @* Ce document peut @^etre utilis@'e sous les termes de la licence GNU General Public License version 2 ou plus. @end titlepage @everyheading @thischapter @| @| @everyfooting @thistitle @| @| Page @thispage @contents @node Top, Introduction, (dir), (dir) @menu * Introduction:: Description de WeeChat * Installation:: Installation de WeeChat * Utilisation:: Utilisation de WeeChat * Extensions:: Extensions de WeeChat * Auteurs / Support:: Contacter les auteurs et obtenir du support @end menu @c ******************************* Introduction ******************************* @node Introduction, Installation, Top, Top @chapter Introduction @menu * Description:: * Pre-requis:: @end menu @node Description, Pre-requis, Introduction, Introduction @section Description WeeChat (Wee Enhanced Environment for Chat) est un client IRC libre, rapide et l@'eger, concu pour diff@'erents syst@`emes d'exploitation.@* @* Ses principales caract@'eristiques sont les suivantes : @itemize @minus @item connexion multi-serveurs (avec SSL, IPv6, proxy) @item plusieurs interfaces : Curses, wxWidgets, Gtk et Qt @item petit, rapide et l@'eger @item param@'etrable et extensible avec des scripts @item conforme aux RFCs 1459, 2810, 2811, 2812, et 2813 @item multi-plateformes (Gnu/Linux, *BSD, MacOS X, Windows et d'autres syst@`emes) @item 100% GPL, logiciel libre @end itemize @* La page d'accueil de WeeChat est ici :@* @uref{http://weechat.flashtux.org}@* @node Pre-requis, , Description, Introduction @section Pr@'e-requis Pour installer WeeChat, vous @b{devez} avoir :@* @itemize @bullet @item Un syst@`eme Gnu/Linux (avec le compilateur et les outils associ@'es pour le paquet des sources) @item Droits "root" (pour installer WeeChat) @item Selon l'interface, une des biblioth@`eques suivantes : @itemize @minus @item Curses: la librairie ncurses, @item Gtk: *** interface non d@'evelopp@'ee ***, @item Qt: *** interface non d@'evelopp@'ee ***, @end itemize @end itemize @c ******************************* Installation ******************************* @node Installation, Utilisation, Introduction, Top @chapter Installation @menu * Paquet binaire:: * Paquet source:: * Sources CVS:: @end menu @node Paquet binaire, Paquet source, Installation, Installation @section Paquet binaire Les paquets binaires sont disponibles pour les distributions suivantes : @itemize @bullet @item Debian (ou toute distribution compatible Debian)@* Pour installer : @kbd{apt-get install weechat-curses} @item Mandrake/Redhat (ou toute distribution compatible avec les RPM)@* Pour installer : @kbd{rpm -i /chemin/weechat-x.y.z-1.i386.rpm} @item Gentoo@* Pour installer : @kbd{emerge weechat} @item *BSD (non disponible !) @item Slackware (non disponible !) @item Windows (non disponible !) @end itemize o@`u x.y.z est la version (par exemple 0.0.1) @* @node Paquet source, Sources CVS, Paquet binaire, Installation @section Paquet source Tapez simplement dans une console ou un terminal :@* @kbd{./configure}@* @kbd{make}@* Note: pour ne construire que certaines interfaces, vous pouvez passer des param@`etres @`a ./configure, tapez @kbd{./configure --help} pour de l'aide sur ces options.@* Obtenez les droits root et installez WeeChat :@* @kbd{su}@* (entrez le mot de passe de root)@* @kbd{make install}@* @node Sources CVS, , Paquet source, Installation @section Sources CVS Attention: les sources CVS sont r@'eserv@'es aux utilisateurs avanc@'es : il se peut que WeeChat ne compile pas et qu'il soit tr@`s instable. Vous @^etes pr@'evenus !@* Pour r@'ecup@'erer les sources CVS, tapez ces commandes :@* @kbd{cvs -d:pserver:anoncvs@@subversions.gnu.org:/cvsroot/weechat login}@* @kbd{cvs -z3 -d:pserver:anoncvs@@subversions.gnu.org:/cvsroot/weechat co weechat}@* (lorsqu'un mot de passe est demand@'e, tapez simplement sur Entr@'ee)@* Ex@'ecutez ce script :@* @kbd{./autogen.sh}@* Suivez alors les instructions du paquet sources - @xref{Paquet source}. @c ******************************* Utilisation ******************************** @node Utilisation, Extensions, Installation, Top @chapter Utilisation @menu * Lancer WeeChat:: * Fichier de configuration:: * Raccourcis clavier:: * Commandes WeeChat:: * Tube FIFO:: @end menu @node Lancer WeeChat, Fichier de configuration, Utilisation, Utilisation @section Lancer WeeChat @subsection Param@`etres de ligne de commande @table @code @item -c, --config Afficher l'aide sur le fichier de config (liste des options)@* @item -h, --help Afficher l'aide@* @item -f, --key-functions Afficher la liste des fonctions internes WeeChat pour les touches@* @item -i, --irc-commands Afficher la liste des commandes IRC@* @item -l, --license Afficher la licence de WeeChat@* @item -v, --version Afficher la version de WeeChat@* @item -w, --weechat-commands Afficher la liste des commandes WeeChat@* @end table @subsection Lancer WeeChat Tapez simplement cette commande pour lancer WeeChat :@* @kbd{weechat-curses} (pour l'interface Curses)@* ou @kbd{weechat-wxwidgets} (pour l'interface wxWidgets)@* ou @kbd{weechat-gtk} (pour l'interface Gtk)@* ou @kbd{weechat-qt} (pour l'interface Qt)@* Lorsque vous lancez WeeChat pour la premi@`ere fois, un fichier de configuration par d@'efaut est cr@'e@'e, avec les options par d@'efaut.@* Le fichier de configuration par d@'efaut est : ~/.weechat/weechat.rc@* Vous pouvez @'editer ce fichier pour configurer WeeChat @`a votre convenance, ou vous pouvez modifier les param@`etres dans WeeChat avec la commande @kbd{/set} - @xref{Commandes WeeChat}. @node Fichier de configuration, Raccourcis clavier, Lancer WeeChat, Utilisation @section Fichier de configuration Liste des options du fichier de configuration :@* @table @kbd @item look_set_title D@'efinit le titre de la fen@^etre (terminal pour l'interface Curses) avec le nom et la version@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_startup_logo Afficher le logo WeeChat au d@'emarrage@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_startup_version Afficher la version de WeeChat au d@'emarrage@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_weechat_slogan Slogan WeeChat (si vide, le slogan ne sera pas utilis@'e)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: 'the geekest IRC client!'@* @item look_charset_decode_iso Jeu de caract@`eres ISO pour d@'ecoder les messages du serveur (utilis@'e seulement si la locale est UTF-8) (si non renseign@'e, les messages ne sont pas concertis si la locale est UTF-8)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: 'ISO-8859-1'@* @item look_charset_decode_utf Jeu de caract@`eres UTF pour d@'ecoder les messages du serveur (utilis@'e seulement si la locale n'est pas UTF-8) (si non renseign@'e, les messages ne sont pas convertis si la locale n'est pas UTF-8)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: 'UTF-8'@* @item look_charset_encode Jeu de caract@`eres pour encoder les messages envoy@'es au serveur, exemples: UFT-8, ISO-8859-1 (si non renseign@'e, les messages ne sont pas convertis)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item look_charset_internal Force le jeu de caract@`eres interne @`a WeeChat (doit @^etre vide dans la plupart des cas, ce qui signifie que le jeu de caract@`eres d@'etect@'e est utilis@'e)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item look_buffer_timestamp Format de date/heure pour les tampons@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '[%H:%M:%S]'@* @item look_color_nicks Afficher les utilisateurs avec diff@'erentes couleurs@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_color_nicks_number Nombre de couleurs @`a utiliser pour les couleurs des pseudos@* Type: entier (valeurs: entre 1 et 10), valeur par d@'efaut: 10@* @item look_color_actions Afficher les actions avec diff@'erentes couleurs@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_remove_colors_from_msgs Supprimer les couleurs dans les messages entrants@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_nicklist Afficher la fen@^etre des utilisateurs (pour les fen@^etres de canaux)@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_nicklist_position Position de la fen@^etre d'utilisateurs (haut (top), gauche (left), droite (right, par d@'efaut), bas (bottom))@* Type: cha@^ine (valeurs: 'left', 'right', 'top', 'bottom'), valeur par d@'efaut: 'right'@* @item look_nicklist_min_size Taille minimum pour la fen@^etre d'utilisateurs (largeur ou hauteur, selon look_nicklist_position (0 = pas de taille minimum))@* Type: entier (valeurs: entre 0 et 100), valeur par d@'efaut: 0@* @item look_nicklist_max_size Taille maximum pour la fen@^etre d'utilisateurs (largeur ou hauteur, selon look_nicklist_position (0 = pas de taille maximum; si min == max et > 0, alors la taille est fixe))@* Type: entier (valeurs: entre 0 et 100), valeur par d@'efaut: 0@* @item look_no_nickname Texte @`a afficher en lieu et place du nom d'utilisateur lorsque la connexion n'est pas active@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '-cmd-'@* @item look_nickmode Afficher le mode de l'utilisateur ((half)op/voice) devant chaque utilisateur@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_nickmode_empty Afficher un espace si le mode utilisateur n'est pas (half)op/voice@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item look_nick_completor La cha@^ine affich@'ee apr@`es la compl@'etion des utilisateurs@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ':'@* @item look_infobar Active la barre d'infos@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_infobar_timestamp Format de date/heure dans la barre d'info@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '%B, %A %d %Y'@* @item look_infobar_seconds Afficher les secondes pour l'heure dans la barre d'infos@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_infobar_delay_highlight D@'elai (en secondes) pour la notification des messages dans la barre d'infos (0 = d@'esactiver les notifications dans la barre d'infos)@* Type: entier (valeurs: entre 0 et 2147483647), valeur par d@'efaut: 7@* @item look_hotlist_names_count Nombre maximum de noms dans la liste d'activit@'e (0 = pas de nom affich@'e, seulement les num@'eros de tampons)@* Type: entier (valeurs: entre 0 et 32), valeur par d@'efaut: 3@* @item look_hotlist_names_level Niveau pour l'affichage des noms dans la liste d'activit@'e (combinaison de: 1=join/part, 2=message, 4=priv@'e, 8=highlight, par exemple: 12=priv@'e+highlight)@* Type: entier (valeurs: entre 1 et 15), valeur par d@'efaut: 12@* @item look_hotlist_names_length Nombre maximum des noms dans la liste d'activit@'e (0 = pas de limite)@* Type: entier (valeurs: entre 0 et 32), valeur par d@'efaut: 0@* @item look_day_change Affiche un message quand le jour change@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item look_day_change_timestamp Format de date pour la date affich@'ee quand le jour a chang@'e@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '%a, %d %b %Y'@* @item col_title Couleur pour la barre de titre@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_title_bg Couleur de fond pour la barre de titre@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'blue'@* @item col_chat Couleur pour le texte de discussion@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_chat_time Couleur pour l'heure dans la fen@^etre de discussion@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_chat_time_sep Couleur pour la s@'eparation de l'heure (fen@^etre de discussion)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'brown'@* @item col_chat_prefix1 Couleur pour le 1er et le 3@`eme caract@`ere du pr@'efixe@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightcyan'@* @item col_chat_prefix2 Couleur pour le caract@`ere du milieu du pr@'efixe@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'white'@* @item col_chat_join Couleur pour la fl@`eche du join (pr@'efixe)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightgreen'@* @item col_chat_part Couleur pour la fl@`eche du part/quit (pr@'efixe)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightred'@* @item col_chat_nick Couleur pour les noms d'utilisateurs dans les actions (fen@^etre de discussion)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightcyan'@* @item col_chat_host Couleur pour les noms de machines (fen@^etre de discussion)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'cyan'@* @item col_chat_channel Couleur pour les canaux dans les actions (fen@^etre de discussion)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'white'@* @item col_chat_dark Couleur pour les s@'eparateurs sombres (fen@^etre de discussion)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'green'@* @item col_chat_highlight Couleur pour le pseudo surlign@'e (fen@^etre de discussion)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'yellow'@* @item col_chat_bg Couleur de fond pour la fen@^etre de discussion@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_status Couleur pour la barre de statut@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_status_delimiters Couleur pour les d@'elimiteurs de la barre de statut@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'cyan'@* @item col_status_channel Couleur pour le canal courant dans la barre de statut@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'white'@* @item col_status_data_msg Couleur pour une fen@^etre avec de nouvelles infos (barre de statut)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'yellow'@* @item col_status_private Couleur pour une fen@^etre avec un message priv@'e (barre de statut)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightmagenta'@* @item col_status_highlight Couleur pour une fen@^etre avec un highlight (barre de statut)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightred'@* @item col_status_data_other Couleur pour une fen@^etre avec des nouvelles donn@'ees (pas des infos) (barre de statut)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_status_more Couleur pour une fen@^etre avec des nouvelles donn@'ees (barre de statut)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'white'@* @item col_status_bg Couleur de fond pour la fen@^etre de statut@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'blue'@* @item col_infobar Couleur pour la barre d'infos@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'black'@* @item col_infobar_delimiters Couleur pour les d@'elimiteurs de la barre d'infos@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'blue'@* @item col_infobar_highlight Couleur pour la notification dans la barre d'infos@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'white'@* @item col_infobar_bg Couleur de fond pour la fen@^etre de barre d'infos@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'cyan'@* @item col_input Couleur pour le texte saisi@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_input_channel Couleur pour le texte saisi (nom du canal)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'white'@* @item col_input_nick Couleur pour le texte saisi (pseudo)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightcyan'@* @item col_input_delimiters Couleur pour le texte saisi (d@'elimiteurs)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'white'@* @item col_input_bg Couleur de fond pour la fen@^etre de saisie@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_nick Couleur pour les pseudos@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_nick_away Couleur pour les pseudos absents@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'cyan'@* @item col_nick_chanowner Couleur pour le symbole du propri@'etaire du canal (sp@'ecifique @`a unrealircd)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightgreen'@* @item col_nick_chanadmin Couleur pour le symbole administrateur du canal (sp@'ecifique @`a unrealircd)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightgreen'@* @item col_nick_op Couleur pour le symbole op@'erateur@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightgreen'@* @item col_nick_halfop Couleur pour le symbole demi-op@'erateur@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightmagenta'@* @item col_nick_voice Couleur pour le symbole voix@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'yellow'@* @item col_nick_more Couleur pour les '+' lors du scroll sur les pseudos@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightmagenta'@* @item col_nick_sep Couleur pour le s@'eparateur de pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'blue'@* @item col_nick_self Couleur pour le pseudo local@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'white'@* @item col_nick_color1 Couleur pour le pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'cyan'@* @item col_nick_color2 Couleur pour le pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'magenta'@* @item col_nick_color3 Couleur pour le pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'green'@* @item col_nick_color4 Couleur pour le pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'brown'@* @item col_nick_color5 Couleur pour le pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightblue'@* @item col_nick_color6 Couleur pour le pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_nick_color7 Couleur pour le pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightcyan'@* @item col_nick_color8 Couleur pour le pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightmagenta'@* @item col_nick_color9 Couleur pour le pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightgreen'@* @item col_nick_color10 Couleur pour le pseudo@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'blue'@* @item col_nick_private Couleur pour l'autre pseudo dans la fen@^etre priv@'ee@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_nick_bg Couleur de fond pour les pseudos@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'default'@* @item col_chat_dcc_selected Couleur pour le DCC s@'electionn@'e (fen@^etre de discussion)@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'white'@* @item col_dcc_waiting Couleur pour le statut dcc "attente"@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightcyan'@* @item col_dcc_connecting Couleur pour le statut dcc "connexion"@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'yellow'@* @item col_dcc_active Couleur pour le statut dcc "actif"@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightblue'@* @item col_dcc_done Couleur pour le statut dcc "termin@'e"@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightgreen'@* @item col_dcc_failed Couleur pour le statut dcc "@'echou@'e"@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightred'@* @item col_dcc_aborted Couleur pour le statut dcc "interrompu"@* Type: couleur (couleur Curses ou Gtk), valeur par d@'efaut: 'lightred'@* @item history_max_lines Nombre maximum de lignes dans l'historique pour un serveur/fen@^etre/fen@^etre priv@'ee (0 = sans limite)@* Type: entier (valeurs: entre 0 et 2147483647), valeur par d@'efaut: 4096@* @item history_max_commands Nombre maximum de commandes utilisateur dans l'historique (0 = sans limite)@* Type: entier (valeurs: entre 0 et 2147483647), valeur par d@'efaut: 100@* @item log_auto_server Enregistrer automatiquement les messages du serveur@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item log_auto_channel Enregistrer automatiquement les conversations des canaux@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item log_auto_private Enregistrer automatiquement les conversations priv@'ees@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item log_plugin_msg Enregistrer les messages des plugins (scripts)@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item log_path Chemin pour les conversations sauvegard@'ees par WeeChat@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '~/.weechat/logs/'@* @item log_timestamp Format de date/heure pour les conversations sauvegard@'ees (voir man strftime pour le format de date/heure)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '%Y %b %d %H:%M:%S'@* @item log_hide_nickserv_pwd Masquer le mot de passe affich@'e par nickserv@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item irc_display_away Affiche un message sur tous les canaux pour l'absence/le retour@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item irc_default_msg_away Message par d@'efaut pour l'absence@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: 'away'@* @item irc_default_msg_part Message par d@'efaut pour le part (quitte un canal)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: 'WeeChat %v'@* @item irc_default_msg_quit Message de fin par d@'efaut ('%v' sera remplac@'e par la version de WeeChat dans la cha@^ine)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: 'WeeChat %v'@* @item irc_notice_as_pv Afficher les notices comme des messages priv@'es@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item irc_away_check Intervalle entre deux v@'erifications des absences (en minutes, 0 = ne jemais v@'erifier)@* Type: entier (valeurs: entre 0 et 2147483647), valeur par d@'efaut: 0@* @item irc_lag_check Intervalle entre deux mesures de lag (en secondes)@* Type: entier (valeurs: entre 30 et 2147483647), valeur par d@'efaut: 60@* @item irc_lag_min_show Lag minimum @`a afficher (en secondes)@* Type: entier (valeurs: entre 0 et 2147483647), valeur par d@'efaut: 1@* @item irc_lag_disconnect D@'econnexion apr@`es un lag important (en minutes, 0 = ne jamais se d@'econnecter)@* Type: entier (valeurs: entre 0 et 2147483647), valeur par d@'efaut: 5@* @item irc_fifo_pipe Cr@'eer un tube FIFO pour le contr@^ole @`a distance@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item irc_highlight Liste des mots pour la notification (s@'epar@'es par des virgules, le comparaison ne tient pas compte de la casse)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item dcc_auto_accept_files Accepte automatiquement les fichiers dcc entrants@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item dcc_auto_accept_chats Accepte automatiquement les demandes de discussion dcc (@`a utiliser avec pr@'ecaution !)@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item dcc_timeout D@'elai d'attente pour les requ@^etes dcc (en secondes)@* Type: entier (valeurs: entre 1 et 2147483647), valeur par d@'efaut: 300@* @item dcc_blocksize Taille de bloc pour les paquets dcc en octets (d@'efaut: 65536)@* Type: entier (valeurs: entre 1024 et 102400), valeur par d@'efaut: 65536@* @item dcc_port_range Restreint le dcc sortant @`a utiliser des ports dans la plage donn@'ee (pratique pour le NAT) (syntaxe: un port simple, par exemple 5000, une plage de ports, par exemple 5000-5015, si non renseign@'e tout port peut @^etre utilis@'e)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item dcc_own_ip Adresse IP ou DNS utilis@'ee pour le dcc sortant (si non renseign@'e, l'interface IP locale est utilis@'ee)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item dcc_download_path Chemin pour @'ecrire les fichiers re@,{c}us par dcc (par d@'efaut: r@'epertoire de l'utilisateur)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '~'@* @item dcc_upload_path Chemin pour lire les fichiers lorsqu'ils sont envoy@'es par dcc (quand aucun chemin n'est sp@'ecifi@'e)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '~'@* @item dcc_convert_spaces Convertir les espaces en underscores lors d'envoi de fichiers@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item dcc_auto_rename Renommer les fichiers re@,{c}us s'ils existent d@'ej@`a (ajoute '.1', '.2', ...)@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item dcc_auto_resume Continuer automatiquement les transferts dcc si la connexion avec la machine distante a @'et@'e perdue@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item proxy_use Utiliser un proxy pour se connecter au serveur irc@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item proxy_type Type de proxy (http (d@'efaut), socks4, socks5)@* Type: cha@^ine (valeurs: 'http', 'socks4', 'socks5'), valeur par d@'efaut: 'http'@* @item proxy_ipv6 Se connecter au proxy en ipv6@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item proxy_address Adresse du serveur proxy (IP ou nom)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item proxy_port Port pour se connecter au serveur proxy@* Type: entier (valeurs: entre 0 et 65535), valeur par d@'efaut: 3128@* @item proxy_username Nom d'utilisateur pour le serveur proxy@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item proxy_password Mot de passe pour le serveur proxy@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item plugins_path Chemin de recherche des extensions@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '~/.weechat/plugins'@* @item plugins_autoload Liste des extensions @`a charger automatiquement au d@'emarrage, "*" signifie toutes (s@'epar@'ees par des virgules, les noms peuvent @^etre partiels, par exemple "perl" est ok pour "libperl.so")@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '*'@* @item plugins_extension Extension standard des extensions dans le nom de fichier, pour le chargement automatique (si vide, alors tous les fichiers sont charg@'es si autoload vaut "*")@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '.so'@* @item server_name Nom associ@'e au serveur IRC (pour affichage seulement)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item server_autoconnect Connexion automatique au serveur quand WeeChat d@'emarre@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item server_autoreconnect Reconnexion automatique au serveur apr@`es une d@'econnexion@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item server_autoreconnect_delay D@'elai (en secondes) avant de tenter une reconnexion au serveur@* Type: entier (valeurs: entre 0 et 65535), valeur par d@'efaut: 30@* @item server_address Adresse IP ou nom du serveur IRC@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item server_port Port pour se connecter au serveur@* Type: entier (valeurs: entre 0 et 65535), valeur par d@'efaut: 6667@* @item server_ipv6 Utiliser le protocole IPv6 pour la communication avec le serveur@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item server_ssl Utiliser SSL pour la communication avec le serveur@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@* @item server_password Mot de passe pour le serveur IRC@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item server_nick1 Pseudo @`a utiliser sur le serveur IRC@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item server_nick2 Pseudo alternatif pour le serveur IRC (si le pseudo est d@'ej@`a utilis@'e)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item server_nick3 2nd pseudo alternatif pour le serveur IRC (si le pseudo alternatif est d@'ej@`a utilis@'e)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item server_username Nom d'utilisateur pour le serveur IRC@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item server_realname Nom r@'eel pour le serveur IRC@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item server_command Commande @`a ex@'ecuter en premier lorsque connect@'e au serveur@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item server_command_delay D@'elai (en secondes) apr@`es ex@'ecution de la commande (exemple: donner du temps pour l'authentification)@* Type: entier (valeurs: entre 0 et 5), valeur par d@'efaut: 0@* @item server_autojoin Liste des canaux (s@'epar@'es par des virgules) @`a rejoindre lorsque connect@'e au serveur (exemple: "#chan1,#chan2,#chan3 key1,key2")@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @item server_autorejoin Rejoindre automatiquement les canaux quand mis dehors@* Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@* @item server_notify_levels Liste des niveaux de notifications (s@'epar@'es par des virgules) pour les canaux de ce serveur (format: #canal:1,..)@* Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@* @end table Les couleurs pour l'interface Curses sont :@* @itemize @minus @item @kbd{default}: couleur par d@'efaut (transparent pour le fond) @item @kbd{black}: noir @item @kbd{red}: rouge fonc@'e @item @kbd{lightred}: rouge clair @item @kbd{green}: vert fonc@'e @item @kbd{lightgreen}: vert clair @item @kbd{brown}: marron @item @kbd{yellow}: jaune @item @kbd{blue}: bleu fonc@'e @item @kbd{lightblue}: bleu clair @item @kbd{magenta}: violet fonc@'e @item @kbd{lightmagenta}: violet clair @item @kbd{cyan}: cyan fonc@'e @item @kbd{lightcyan}: cyan clair @item @kbd{white}: blanc @end itemize @node Raccourcis clavier, Commandes WeeChat, Fichier de configuration, Utilisation @section Raccourcis clavier @table @kbd @item Fl@`eche gauche / Fl@`eche droite Aller au caract@`ere pr@'ec@'edent / suivant sur la ligne de commande@* @* @item Ctrl + fl@`eche gauche / Ctrl + fl@`eche droite Aller au mot pr@'ec@'edent / suivant sur la ligne de commande@* @* @item Home / Ctrl + A Aller au d@'ebut de la ligne de commande@* @* @item End / Ctrl + E Aller @`a la fin de la ligne de commande@* @* @item Ctrl + K Efface jusqu'@`a la fin de la ligne@* @* @item Ctrl + L R@'eaffiche toute la fen@^etre@* @* @item Ctrl + U Efface jusqu'au d@'ebut de la ligne@* @* @item Ctrl + W Effacer le mot pr@'ec@'edent sur la ligne de commande@* @* @item Backspace / Delete Effacer le mot pr@'ec@'edent / suivant sur la ligne de commande@* @* @item Tab Compl@'eter la commande ou le pseudo (@kbd{Tab} @`a nouveau : trouver la compl@'etion suivante)@* @* @item Tout caract@`ere Ins@'erer le caract@`ere @`a la position du curseur sur la ligne de commande@* @* @item Entr@'ee Ex@'ecuter la commande ou envoyer le message@* @* @item Fl@`eche haut / Fl@`eche bas Rappeler les derni@`eres commandes/messages@* @* @item Ctrl + fl@`eche haut / Ctrl + fl@`eche bas Rappeler les derni@`eres commandes/messages dans l'historique global@* @* @item PageUp / PageDown Afficher l'historique du tampon@* @* @item F5 / F6 Aller au tampon pr@'ec@'edent / suivant@* @* @item F7 / F8 Aller @`a la fen@^etre pr@'ec@'edente / suivante@* @* @item F10 Effacer le dernier message de la barre d'infos@* @* @item F11 / F12 Faire d@'efiler la liste des pseudos@* @* @item Alt + fl@`eche gauche / Alt + fl@`eche droite Identique @`a F5 / F6@* @* @item Alt + A Sauter au tampon avec activit@'e (avec priorit@'e: highlight, message, autre)@* @* @item Alt + B Aller au mot pr@'ec@'edent@* @* @item Alt + D Effacer le mot suivant@* @* @item Alt + F Aller au mot suivant@* @* @item Alt + H Vide la hotlist (notification d'activit@'e sur les autres tampons)@* @* @item Alt + J puis Alt + D Afficher les DCC en cours@* @* @item Alt + J puis Alt + L Sauter au dernier tampon@* @* @item Alt + J puis Alt + S Sauter au tampon du serveur@* @* @item Alt + chiffre (1-9) Sauter au tampon avec ce num@'ero@* @* @item Alt + J then Alt + X Sauter au premier canal du serveur suivant (ou tampon du serveur si aucun canal ouvert)@* @* @item Alt + K Capturer une touche @* @item Alt + J puis nombre (01-99) Sauter au tampon avec ce num@'ero@* @* @item Alt + R Effacer la ligne enti@`ere@* @* @item Alt + PageUp / Alt + PageDown / Alt + Home / Alt + End Faire d@'efiler la liste des pseudos@* @* @end table @node Commandes WeeChat, Tube FIFO, Raccourcis clavier, Utilisation @section Commandes WeeChat Commandes internes WeeChat :@* @table @kbd @item alias [nom_alias [commande [param@`etres]] @* cr@'eer un alias pour une commande@* @* nom_alias: nom de l'alias@* commande: nom de la commande (commande WeeChat ou IRC, sans le premier '/')@* param@`etres: param@`etres pour la commande@* @* @item buffer [action | nombre] @* gestion des buffers@* @* action: action @`a effectuer:@* move: d@'eplacer le tampon dans la liste (peut @^etre relatif, par exemple -1)@* close: fermer le tampon (pour un canal: @'equivalent @`a /part sans message de fin)@* list: liste les tampons ouverts (pas de param@`etre affiche cette liste)@* notify: fixer le niveau de notification (0=jamais, 1=highlight, 2=1+msg, 3=2+join/part)@* nombre: sauter au tampon qui a ce num@'ero@* @* @item clear [-all] @* affacer la/les fen@^etre(s)@* @* -all: effacer toutes les fen@^etres@* @* @item connect [nom_serveur] @* se connecter @`a un serveur@* @* nom_serveur: nom du serveur pour se connecter@* @* @item disconnect [nom_serveur] @* se d@'econnecter d'un serveur@* @* nom_serveur: nom du serveur pour se d@'econnecter@* @* @item debug dump @* affiche des messages de debuggage@* @* dump: affiche les variables m@'emoire WeeChat dans le fichier log (les m@^emes messages sont affich@'es lorsque WeeChat plante)@* @* @item help [commande] @* afficher l'aide sur les commandes@* @* commande: nom d'une commande WeeChat ou IRC@* @* @item ignore [masque [[type | commande] [canal [serveur]]]] @* ignorer des messages IRC et/ou des masques@* @* masque: pseudo ou masque @`a ignorer@* type: type de message @`a ignorer (action, ctcp, dcc, pv)@* commande: commande IRC@* canal: nom du canal pour le ignore@* serveur: nom du serveur pour le ignore@* @* Pour chaque param@`etre, '*' signifie tou(te)s.@* Sans param@`etre, la commande /ignore liste les ignore d@'efinis.@* @* @item key [touche fonction/commande] [unbind touche] [functions] [reset -yes] @* associer/lib@'erer des touches@* @* touche: associer cette touche @`a une fonction interne ou une commande (commen@,{c}ant par "/")@* unbind: supprimer l'association @`a une touche (si "all", toutes les associations de touches par d@'efaut sont restaur@'ees)@* functions: lister la liste des fonctions internes pour les associations de touches@* reset: restaur les touches aux valeurs par d@'efaut et supprime TOUTES les touches personnelles (utiliser avec pr@'ecaution !)@* @* @item plugin [load fichier] | [autoload] | [reload] | [unload] @* liste/charge/d@'echarge des extensions@* @* fichier: extension WeeChat (fichier) @`a charger@* @* Sans param@`etre, la commande /plugin liste toutes les extensions charg@'ees.@* @* @item server [nom_serveur] | [nom_serveur nom/IP port [-auto | -noauto] [-ipv6] [-ssl] [-pwd mot_de_passe] [-nicks pseudo1 pseudo2 pseudo3] [-username nom_utilisateur] [-realname nom_r@'eel] [-command commande] [-autojoin canal[,canal]] ] | [del nom_serveur] @* liste, ajoute ou retire des serveurs@* @* nom_serveur: nom du serveur, pour usage interne et affichage@* nom/IP: nom ou adresse IP du serveur@* port: port pour le serveur (nombre entier)@* ipv6: utiliser le protocole IPv6@* ssl: utiliser le protocole SSL@* mot_de_passe: mot de passe pour le serveur@* pseudo1: premier pseudo pour le serveur@* pseudo2: pseudo alternatif pour le serveur@* pseudo3: second pseudo alternatif pour le serveur@* nom_utilisateur: nom d'utilisateur@* nom_r@'eel: nom r@'eel de l'utilisateur@* @* @item save [fichier] @* sauvegarder la configuration sur disque@* @* fichier: fichier pour sauvegarder la configuration@* @* @item set [option [ = valeur]] @* modifier des param@`etres de configuration@* @* option: nom de l'option (si le nom est complet et qu'aucune valeur n'est donn@'ee, alors l'aide sur l'option est affich@'ee)@* valeur: valeur pour l'option@* @* @item unalias nom_alias @* supprimer un alias@* @* nom_alias: nom de l'alias @`a supprimer@* @* @item unignore [nombre | [masque [[type | commande] [canal [serveur]]]]] @* supprimer le ignore des messages IRC et/ou des masques@* @* nombre: num@'ero de ignore @`a supprimer (le nombre est affich@'e sur la liste des ignore)@* masque: pseudo ou masque @`a ignorer@* type: type de message @`a ignorer (action, ctcp, dcc, pv)@* commande: commande IRC@* canal: nom du canal pour le ignore@* serveur: nom du serveur pour le ignore@* @* Pour chaque param@`etre, '*' signifie tou(te)s.@* Sans param@`etre, /ignore liste les ignore d@'efinis.@* @* @item window [list | -1 | +1 | b# | splith | splitv | [merge [down | up | left | right | all]]] @* gestion des fen@^etres@* @* list: liste les fen@^etres ouvertes (pas de param@`etre affiche cette liste)@* -1: saute @`a la fen@^etre pr@'ec@'edente@* +1: saute @`a la fen@^etre suivante@* b#: saute @`a la fen@^etre affichant le tampon n°#@* splith: @'eclate la fen@^etre en deux horizontalement@* splitv: @'eclate la fen@^etre en deux verticalement@* merge: fusionne la fen@^etre avec une autre@* @* @end table Commandes IRC :@* @table @kbd @item admin [cible] @* trouver les informations sur l'administrateur du serveur@* @* cible: serveur@* @* @item ame message @* envoyer une action CTCP @`a tous les canaux de tous les serveurs connect@'es@* @* message: message @`a envoyer@* @* @item amsg texte @* envoyer un message @`a tous les canaux de tous les serveurs connect@'es@* @* texte: texte @`a envoyer@* @* @item away [-all] [message] @* basculer le statut absent@* @* -all: basculer le statut absent sur tous les serveurs connect@'es@* message: message pour l'absence (si pas de message donn@'e, le statut d'absence est supprim@'e)@* @* @item ban [canal] [pseudo [pseudo ...]] @* bannit des pseudos ou masques@* @* canal: nom du canal pour le bannissement@* pseudo: pseudo ou masque pour le bannissement@* @* @item ctcp pseudo type [arguments] @* envoyer un message CTCP (Client-To-Client Protocol)@* @* pseudo: utilisateur @`a qui envoyer le CTCP@* type: type de CTCP (exemples: "version", "ping", etc...)@* arguments: arguments pour le CTCP@* @* @item dcc action [pseudo [fichier]] @* d@'emarre le DCC (fichier ou discussion) ou ferme une discussion@* @* action: 'send' (envoi de fichier) ou 'chat' (discussion) ou 'close' (fermeture discussion)@* pseudo: pseudo pour envoyer le fichier ou discuter@* fichier: nom du fichier (sur la machine locale)@* @* @item dehalfop [pseudo [pseudo]] @* retire le statut de demi-op@'erateur du canal @`a/aux nick(s)@* @* @item deop [pseudo [pseudo]] @* retire le statut d'op@'erateur du canal @`a/aux nick(s)@* @* @item devoice [pseudo [pseudo]] @* retire la voix du/des pseudo(s)@* @* @item die @* arr@^eter le serveur@* @* @item halfop [pseudo [pseudo]] @* donner le statut de demi-op@'erateur @`a un/des utilisateur(s)@* @* @item info [cible] @* voir les informations d@'ecrivant le serveur@* @* cible: nom du serveur@* @* @item invite pseudo canal @* inviter un utilisateur sur un canal@* @* pseudo: utilisateur @`a inviter@* channel: canal pour l'invitation@* @* @item ison pseudo [pseudo ...] @* v@'erifier si un utilisateur est actuellement sur IRC@* @* pseudo: pseudo@* @* @item join canal[,canal] [cl@'e[,cl@'e]] @* joindre un canal@* @* canal: nom du canal @`a rejoindre@* cl@'e: cl@'e pour rejoindre le canal@* @* @item kick [canal] pseudo [commentaire] @* retirer par la force un utilisateur d'un canal@* @* canal: canal o@`u l'utilisateur se trouve@* pseudo: utilisateur @`a @'eliminer@* commentaire: commentaire pour l'@'elimination@* @* @item kickban [canal] pseudo [commentaire] @* retirer par la force un utilisateur d'un canal et le bannir@* @* canal: canal o@`u l'utilisateur se trouve@* pseudo: utilisateur @`a @'eliminer et bannir@* commentaire: commentaire pour l'@'elimination@* @* @item kill pseudo commentaire @* fermer la connexion client-serveur@* @* pseudo: utilisateur@* commentaire: commentaire pour la mort@* @* @item links [[serveur] masque_serveur] @* lister tous les noms de serveurs connus du serveur qui r@'epondent @`a la requ@^ete@* @* serveur: ce serveur doit r@'epondre @`a la requ@^ete@* masque_serveur: liste des serveurs correspondant au masque@* @* @item list [canal[,canall] [serveur]] @* lister les canaux et leur sujet@* @* canal: canal @`a lister@* serveur: nom du serveur@* @* @item lusers [masque [cible]] @* obtenir des statistiques sur la taille du r@'eseau IRC@* @* masque: serveurs qui correspondent au masque seulement@* cible: serveur pour faire suivre la requ@^ete@* @* @item me message @* envoyer une action CTCP au canal courant@* @* message: message @`a envoyer@* @* @item mode @{ canal @{[+|-]|o|p|s|i|t|n|b|v@} [limite] [utilisateur] [masque de banissement] @} | @{ nick @{[+|-]|i|w|s|o@} @} @* changer le mode du canal ou de l'utilisateur@* @* modes de canaux :@* canal: nom du canal @`a modifier@* o: donner/reprendre le statut privil@'egi@'e d'op@'erateur@* p: indicateur de canal priv@'e@* s: indicateur de canal secret@* i: indicateur de canal avec invitation seulement@* t: le titre est modifiable seulement par un op@'erateur du canal@* n: aucun message au canal depuis l'ext@'erieur@* m: canal mod@'er@'e@* l: fixer la limite d'utilisateurs pour le canal@* b: param@'etrer un masque de banissement pour garder des utilisateurs dehors@* e: param@'etrer un masque d'exception@* v: donner/reprendre la possibilit@'e de parler sur un canal mod@'er@'e@* k: d@'efinir une cl@'e (mot de passe) pour acc@'eder au canal@* modes utilisateur :@* pseudo: utilisateur @`a modifier@* i: marquer un utilisateur comme invisible@* s: marquer un utilisateur pour recevoir les notices du serveur@* w: l'utilisateur re@,{c}oit les wallops@* o: drapeau op@'erateur@* @* @item motd [cible] @* obtenir le message du jour@* @* cible: nom du serveur@* @* @item msg cible[,cible] texte @* envoyer un message @`a un utilisateur ou canal@* @* cible: utilisateur ou canal (peut-@^etre un masque, '*' = canal courant)@* texte: texte @`a envoyer@* @* @item names [canal[,canal]] @* lister les utilisateurs sur des canaux@* @* canal: nom du canal@* @* @item nick [-all] pseudo @* changer le pseudo courant@* @* -all: d@'efinir le nouveau pseudo sur tous les serveurs connect@'es@* pseudo: nouveau pseudo@* @* @item notice pseudo texte @* envoyer un message notice @`a un utilisateur@* @* pseudo: utilisateur cible pour la notice@* texte: texte @`a envoyer@* @* @item op pseudo [pseudo] @* donner le statut op@'erateur @`a un/des utilisateur(s)@* @* @item oper utilisateur mot_de_passe @* obtenir le statut d'op@'erateur@* @* utilisateur/mot_de_passe: utilis@'e pour obtenir les privil@`eges sur le serveur IRC courant@* @* @item part [canal[,canall] [message_de_fin] @* quitter un canal@* @* canal: canal @`a quitter@* message_de_fin: message de fin (affich@'e aux autres utilisateurs)@* @* @item ping serveur1 [serveur2] @* pinguer un serveur@* @* serveur1: serveur @`a pinguer@* serveur2: faire suivre le ping @`a ce serveur@* @* @item pong d@'emon [d@'emon2] @* r@'epondre @`a un message ping@* @* d@'emon: d@'emon qui a r@'epondu au message Ping@* d@'emon2: faire suivre le message @`a ce d@'emon@* @* @item query pseudo [texte] @* envoyer un message priv@'e @`a un utilisateur@* @* pseudo: utilisateur pour la conversation priv@'ee@* texte: texte @`a envoyer@* @* @item quit [message_de_fin] @* fermer toutes les connexions et quitter@* @* message_de_fin: message de fin (affich@'e aux autres utilisateurs)@* @* @item quote donn@'ees @* envoyer des donn@'ees brutes au serveur sans analyse@* @* donn@'ees: donn@'ees brutes @`a envoyer@* @* @item rehash @* demander au serveur de recharger son fichier de configuration@* @* @item restart @* demander au serveur de red@'emarrer@* @* @item service pseudo r@'eserv@'e distribution type r@'eserv@'e info @* enregister un nouveau service@* @* distribution: visibilit@'e du service@* type: r@'eserv@'e pour une utilisation future@* @* @item servlist [masque [type]] @* lister les services actuellement connect@'es au r@'eseau@* @* masque: lister seulement les services qui correspondent @`a ce masque@* type: lister seulement les services de ce type@* @* @item squery service texte @* envoyer un message @`a un service@* @* service: nom du service@* texte: texte @`a envoyer@* @* @item squit serveur commentaire @* d@'econnecter les liens vers un serveur@* @* serveur: nom du serveur@* commentaire: commentaire pour quitter@* @* @item stats [requ@^ete [serveur]] @* demander des statistiques sur le serveur@* @* requ@^ete: c/h/i/k/l/m/o/y/u (voir la RFC1459)@* serveur: nom du serveur@* @* @item summon utilisateur [cible [canal]] @* envoyer aux utilisateurs d'un serveur IRC un message leur demandant de rejoindre IRC@* @* utilisateur: nom d'utilisateur@* cible: nom du serveur@* canal: nom du canal@* @* @item time [cible] @* demander l'heure locale de serveur@* @* cible: demander l'heure de ce serveur@* @* @item topic [canal] [titre] @* recevoir/d@'efinir le titre du canal@* @* canal: nom du canal@* titre: nouveau titre pour le canal (si le titre est "-delete" alors le titre est supprim@'e)@* @* @item trace [cible] @* trouver le chemin jusqu'@`a un serveur sp@'ecifique@* @* cible: serveur@* @* @item unban [canal] pseudo [pseudo ...] @* supprime le bannissement sur des pseudos ou masques@* @* canal: nom du canal pour supprimer le bannissement@* pseudo: pseudo ou masque pour supprimer le bannissement@* @* @item userhost pseudo [pseudo ...] @* retourne une liste d'informations sur des utilisateurs@* @* pseudo: pseudo@* @* @item users [cible] @* liste des utilisateurs connect@'es au serveur@* @* cible: serveur@* @* @item version [serveur | pseudo] @* retourne la version de l'utilisateur ou du serveur (courant ou sp@'ecifi@'e)@* @* serveur: nom du serveur@* pseudo: utilisateur@* @* @item voice [pseudo [pseudo]] @* donne la voix @`a/aux utilisateur(s)@* @* @item wallops texte @* envoyer un message @`a tous les utilisateurs connect@'es qui ont activ@'e le mode utilisateur 'w' pour eux-m@^emes@* @* texte @`a envoyer@* @* @item who [masque ["o"]] @* g@'en@`ere une requ@^ete qui retourne une liste d'information@* @* masque: information qui correspond @`a ce masque uniquement@* o: seul les op@'erateurs sont retourn@'es correspondant au masque fourni@* @* @item whois [serveur] pseudo[,pseudo] @* demande les informations sur le(s) utilisateur(s)@* @* serveur: nom du serveur@* pseudo: utilisateur (peut @^etre un masque)@* @* @item whowas pseudo [,pseudo [,pseudo ...]] [nombre [cible]] @* demander de l'information sur un nick qui n'existe plus@* @* pseudo: pseudo @`a chercher@* nombre: nombre de r@'eponses @`a retourner (recherche compl@`ete si nombre n@'egatif)@* cible: la r@'eponse doit correspondre @`a ce masque@* @* @end table Fonctions internes pour les touches :@* @table @kbd @item return terminer la ligne@* @item tab compl@'eter le mot@* @item backspace effacer le caract@`ere pr@'ec@'edent@* @item delete effacer le caract@`ere suivant@* @item delete_end_line effacer jusqu'@`a la fin de la ligne@* @item delete_beginning_line effacer jusqu'au d@'ebut de la ligne@* @item delete_line effacer la ligne enti@`ere@* @item delete_previous_word effacer le mot pr@'ec@'edent@* @item delete_next_word effacer le mot suivant@* @item clipboard_paste coller le contenu du presse-papier@* @item transpose_chars inverser les caract@`eres@* @item home aller au d@'ebut de la ligne@* @item end aller @`a la fin de la ligne@* @item left se d@'eplacer d'un caract@`ere @`a gauche@* @item previous_word se d@'eplacer au mot pr@'ec@'edent@* @item right se d@'eplacer d'un caract@`ere @`a droite@* @item next_word se d@'eplacer au mot suivant@* @item up appeler la commande pr@'ec@'edente dans l'historique@* @item up_global appeler la commande pr@'ec@'edente dans l'historique global@* @item down appeler la commande suivante dans l'historique@* @item down_global appeler la commande suivante dans l'historique global@* @item page_up faire d@'efiler d'une page vers le haut@* @item page_down faire d@'efiler d'une page vers le bas@* @item infobar_clear effacer la barre d'infos@* @item nick_page_up faire d@'efiler la liste des pseudos d'une page vers le haut@* @item nick_page_down faire d@'efiler la liste des pseudos d'une page vers le bas@* @item nick_beginning afficher le d@'ebut de la liste des pseudos@* @item nick_end afficher la fin de la liste des pseudos@* @item refresh rafraichir l'@'ecran@* @item jump_smart sauter au tampon avec de l'activit@'e@* @item jump_dcc sauter au tampon DCC@* @item jump_last_buffer sauter au dernier tampon@* @item jump_server sauter au tampon du serveur@* @item jump_next_server sauter au prochain serveur@* @item hotlist_clear effacer la liste d'activit@'e@* @item grab_key capturer une touche@* @end table @node Tube FIFO, , Commandes WeeChat, Utilisation @section Tube FIFO Vous pouvez contr@^oler WeeChat @`a distance, en envoyant des commandes ou du texte dans un tube FIFO (l'option "irc_fifo_pipe" doit @^etre activ@'ee, elle est d@'esactiv@'ee par d@'efaut).@* Le tube FIFO est dans le r@'epertoire ~/.weechat/ et s'appelle "weechat_fifo_xxxxx" (o@`u xxxxx est l'ID du processus (PID) du WeeChat qui tourne).@* Donc si plusieurs WeeChat tournent, vous avez plusieurs tubes FIFO, un pour chaque session.@* @* La syntaxe pour envoyer des commandes ou du texte dans le tube FIFO est la suivante :@* @command{serveur,canal *texte ou commande ici}@* o@`u le serveur et le canal sont facultatifs, mais si le canal est l@`a, le serveur doit l'@^etre aussi.@* @* Quelques exemples : @table @asis @item @bullet{} changement du pseudo sur freenode en "pseudo|absent": @* @command{echo "freenode */nick pseudo|absent" >~/.weechat/weechat_fifo_12345} @* @item @bullet{} affichage de texte sur le canal #weechat : @* @command{echo "freenode,#weechat *bonjour tout le monde !" >~/.weechat/weechat_fifo_12345} @* @item @bullet{} affichage de texte sur le canal courant (le tampon affich@'e par WeeChat): @* @command{echo "*bonjour !" >~/.weechat/weechat_fifo_12345} @* @b{Attention :} ceci est dangereux et vous ne devriez pas le faire sauf si vous savez ce que vous faites ! @* @item @bullet{} envoyer deux commandes pour d@'echarger/recharger les scripts Perl (vous devez les s@'eparer par \n): @* @command{echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345} @end table @* Vous pouvez @'ecrire un script qui envoie les commandes @`a tous les WeeChat qui tournent en m@^eme temps, par exemple :@* @verbatim #!/bin/sh if [ $# -eq 1 ]; then for fifo in $(/bin/ls ~/.weechat/weechat_fifo_* 2>/dev/null); do echo -e "$1" >$fifo done fi @end verbatim @* Si le script s'appelle "auto_weechat_command", vous pouvez le lancer ainsi :@* @command{./auto_weechat_command "freenode,#weechat *bonjour"} @c ******************************* Extensions ********************************* @node Extensions, Auteurs / Support, Utilisation, Top @chapter Extensions @menu * Les extensions dans WeeChat:: * Ecrire une extension:: * Exemple d'extension:: * Extensions pour scripts:: @end menu @node Les extensions dans WeeChat, Ecrire une extension, Extensions, Extensions @section Les extensions dans WeeChat Une extension (``plugin'' en anglais) est un programme @'ecrit en C qui peut appeler des fonctions de WeeChat d@'efinies dans une interface.@* Ce programme C n'a pas besoin des sources WeeChat pour @^etre compil@'e et peut @^etre charg@'e/d@'echarg@'e dynamiquement dans WeeChat via la commande @command{/plugin}.@* @* L'extension doit @^etre au format biblioth@`eque, chargeable dynamiquement par le syst@^eme d'exploitation.@* Sous GNU/Linux, il s'agit d'un fichier ayant pour extension ``.so'', sous Windows ``.dll''. @node Ecrire une extension, Exemple d'extension, Les extensions dans WeeChat, Extensions @section Ecrire une extension @subsection R@`egles de base L'extension doit appeler le fichier ``weechat-plugin.h'' (disponible dans les sources de WeeChat).@* Ce fichier d@'efinit les structures et types dont l'extension aura besoin pour communiquer avec WeeChat.@* @* L'extension doit comporter certaines variables et fonctions obligatoires (sans quoi l'extension ne peut être chargée) :@* @itemize @bullet @item variables de description de l'extension : @itemize @minus @item plugin_name[]: le nom de l'extension @item plugin_version[]: la version de l'extension @item plugin_description[]: une courte description de l'extension @end itemize @item fonctions d'initialisation et fin de l'extension : @itemize @minus @item weechat_plugin_init: fonction appel@'ee au chargement de l'extension, qui doit renvoyer 1 en cas de succ@`es, 0 en cas d'erreur @item weechat_plugin_end: fonction appel@'ee au d@'echargement de l'extension, qui doit renvoyer 1 en cas de succ@`es, 0 en cas d'erreur @end itemize @end itemize @subsection Fonctions de l'interface (API) L'extension peut appeler un certain nombre de fonctions d@'efinies dans la structure t_weechat_plugin.@* @* Ces fonctions sont d@'etaill@'ees ci-dessous :@* @itemize @bullet @item @command{int ascii_strcasecmp (t_weechat_plugin *plugin, char *string1, char *string2)}@* @* Effectue une comparaison entre deux cha@^ines, sans tenir compte des majuscules/minuscules ni de la locale.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{string1}: la premi@`ere cha@^ine @`a comparer @item @option{string2}: la deuxi@`eme cha@^ine @`a comparer @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La diff@'erence entre les deux cha@^ines: n@'egatif si chaine1 < chaine2, nul si chaine1 == chaine 2, positif si chaine1 > chaine2@* @* @emph{Exemple :}@* @* @code{if (plugin->ascii_strcasecmp (plugin, "abc", "def") != 0) ...}@* @* @item @command{int ascii_strncasecmp (t_weechat_plugin *plugin, char *string1, char *string2, int max)}@* @* Effectue une comparaison entre deux cha@^ines, sans tenir compte des majuscules/minuscules ni de la locale, en comparant au plus ``max'' caract@`eres.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{string1}: la premi@`ere cha@^ine @`a comparer @item @option{string2}: la deuxi@`eme cha@^ine @`a comparer @item @option{max}: nombre de caract@`eres max @`a comparer @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La diff@'erence entre les deux cha@^ines: n@'egatif si chaine1 < chaine2, nul si chaine1 == chaine 2, positif si chaine1 > chaine2@* @* @emph{Exemple :}@* @* @code{if (plugin->ascii_strncasecmp (plugin, "abc", "def", 2) != 0) ...}@* @* @item @command{char **explode_string (t_weechat_plugin *plugin, char *string, char *separators, int num_items_max, int *num_items)}@* @* Explose une cha@^ine en plusieurs selon un/des d@'elimiteur(s).@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{string}: la cha@^ine @`a exploser @item @option{separators}: les d@'elimiteurs utilis@'s pour exploser la cha@^ine @item @option{num_items_max}: nombre maximum de sous-cha@^ines cr@'é@'ees (si 0, alors le nombre est infini) @item @option{num_items}: pointeur vers un entier qui contiendra le nombre de sous-cha@^ines cr@'e@'ees en retour @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Un tableau de cha@^ines, ou NULL si un probl@^eme a @'et@'e rencontr@'e.@* NB: le r@'esultat doit @^etre lib@'er@'e par un appel @`a la fonction ``free_exploded_string'' apr@`es utilisation.@* @* @emph{Exemple :}@* @* @code{char *argv;}@* @code{int argc;}@* @code{argv = plugin->explode_string (plugin, string, " ", 0, &argc);}@* @code{...}@* @code{if (argv != NULL)}@* @code{plugin->free_exploded_string (plugin, argv);}@* @* @item @command{char **free_exploded_string (t_weechat_plugin *plugin, char **string)}@* @* Lib@`ere la m@'emoire utilis@'ee pour une explosion de cha@^ine.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{string}: la cha@^ine explos@'ee par la fonction ``explode_string'' @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Aucune.@* @* @emph{Exemple :}@* @* @code{char *argv;}@* @code{int argc;}@* @code{argv = plugin->explode_string (plugin, string, " ", 0, &argc);}@* @code{...}@* @code{if (argv != NULL)}@* @code{plugin->free_exploded_string (plugin, argv);}@* @* @item @command{void exec_on_files (t_weechat_plugin *plugin, char *directory, int (*callback)(t_weechat_plugin *, char *))}@* @* Ex@'ecute une fonction sur tous les fichiers d'un r@'epertoire.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{directory}: le r@'epertoire o@`u les fichiers sont recherch@'es @item @option{callback}: une fonction appel@'ee pour chaque fichier trouv@'e @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Aucune.@* @* @emph{Exemple :}@* @* @code{int callback (t_weechat_plugin *plugin, char *file)}@* @code{@{}@* @code{@ @ @ @ plugin->printf_server (plugin, "fichier: %s", file);}@* @code{@ @ @ @ return 1;}@* @code{@}}@* @code{}@* @code{...}@* @code{plugin->exec_on_files (plugin, "/tmp", &callback);}@* @* @item @command{void printf (t_weechat_plugin *plugin, char *server, char *channel, char *message, ...)}@* @* Affiche un message sur un tampon WeeChat, identifi@'e par le serveur et le canal (tous deux pouvant @^etre NULL).@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{server}: nom du serveur pour trouver le tampon dans lequel afficher (peut @^etre NULL) @item @option{channel}: nom du canal pour trouver le tampon dans lequel afficher (peut @^etre NULL) @item @option{message}: message @`a afficher @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Aucune.@* @* @emph{Exemples :}@* @* @code{plugin->printf (NULL, NULL, "hello");}@* @code{plugin->printf (NULL, "#weechat", "hello");}@* @code{plugin->printf ("freenode", "#weechat", "hello");}@* @* @item @command{void printf_server (t_weechat_plugin *plugin, char *message, ...)}@* @* Affiche un message sur la fen@^etre du serveur courant.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{message}: message @`a afficher @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Aucune.@* @* @emph{Exemple :}@* @* @code{plugin->printf_server ("hello");}@* @* @item @command{void printf_infobar (t_weechat_plugin *plugin, int time, char *message, ...)}@* @* Affiche un message sur la barre d'infos pour un temps d@'etermin@'e.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{time}: temps pendant lequel le message est affich@'e, en secondes (0 = jamais effac@'e) @item @option{message}: message @`a afficher @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Aucune.@* @* @emph{Exemple :}@* @* @code{plugin->printf_infobar (5, "hello");}@* @* @item @command{t_plugin_handler *msg_handler_add (t_weechat_plugin *plugin, char *message, t_plugin_handler_func *handler_func, char *handler_args, void *handler_pointer)}@* @* Ajoute un gestionnaire de messages IRC, appel@'e d@`s qu'un message IRC est re@,cu.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{message}: message IRC (par exemple ``PRIVMSG'') @item @option{handler_func}: fonction appel@'ee lorsque le message est re@,cu @item @option{handler_args}: param@`etres pass@'es @`a la fonction appel@'ee @item @option{handler_pointer}: pointeur pass@'e @`a la fonction appel@'ee @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Le pointeur vers le nouveau gestionnaire de messages.@* @* @emph{Exemple :}@* @* @code{int msg_kick (t_weechat_plugin *plugin, char *server, char *command, char *arguments, char *handler_args, void *handler_pointer)}@* @code{@{}@* @code{@ @ @ @ plugin->printf (plugin, server, NULL, "KICK re@,cu");}@* @code{@}}@* @code{...}@* @code{plugin->msg_handler_add (plugin, "KICK", &msg_kick, NULL, NULL);}@* @* @item @command{t_plugin_handler *cmd_handler_add (t_weechat_plugin *plugin, char *command, char *description, char *arguments, char *arguments_description, t_plugin_handler_func *handler_func, char *handler_args, void *handler_pointer)}@* @* Ajoute un gestionnaire de commande WeeChat, appel@'e d@`s que l'utilisateur utilise la commande (par exemple /commande).@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{commande}: la nouvelle commande @item @option{description}: description de la commande (affich@'ee par /help commande) @item @option{arguments}: br@`eve description des param@`etres de la commande (affich@'ee par /help commande) @item @option{arguments_description}: longue description des param@`etres de la commande (affich@'ee par /help commande) @item @option{handler_func}: fonction appel@'ee lorsque la commande est ex@'ecut@'ee @item @option{handler_args}: param@`etres pass@'es @`a la fonction appel@'ee @item @option{handler_pointer}: pointeur pass@'e @`a la fonction appel@'ee @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Le pointeur vers le nouveau gestionnaire de commande.@* @* @emph{Exemple :}@* @* @code{int cmd_test (t_weechat_plugin *plugin, char *server, char *command, char *arguments, char *handler_args, void *handler_pointer)}@* @code{@{}@* @code{@ @ @ @ plugin->printf (plugin, server, NULL, "commande test, fichier: %s", (arguments) ? arguments : "aucun");}@* @code{@}}@* @code{...}@* @code{plugin->cmd_handler_add (plugin, "test", "Commande test", "[fichier]", "fichier: un nom de fichier", &cmd_test, NULL, NULL);}@* @* @item @command{void handler_remove (t_weechat_plugin *plugin, t_plugin_handler *handler)}@* @* Supprime un gestionnaire.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{handler}: le gestionnaire @`a supprimer @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Aucune.@* @* @emph{Exemple :}@* @* @code{plugin->handler_remove (plugin, my_handler);}@* @* @item @command{void handler_remove_all (t_weechat_plugin *plugin)}@* @* Supprime tous les gestionnaires d'une extension.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Aucune.@* @* @emph{Exemple :}@* @* @code{plugin->handler_remove_all (plugin);}@* @* @item @command{void exec_command (t_weechat_plugin *plugin, char *server, char *channel, char *command)}@* @* Execute une commande WeeChat (ou envoie un message @`a un canal).@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{server}: nom du serveur o@`u ex@'ecuter la commande (peut @^etre NULL) @item @option{channel}: nom du canal o@`u ex@'ecuter la commande (peut @^etre NULL) @item @option{command}: la commande @`a ex@'ecuter @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Aucune.@* @* @emph{Exemples :}@* @* @code{plugin->exec_command (plugin, NULL, NULL, "/help nick");}@* @code{plugin->exec_command (plugin, "freenode", "#weechat", "hello");}@* @* @item @command{char *get_info (t_weechat_plugin *plugin, char *info, char *server, char *channel)}@* @* Renvoie une information sur WeeChat ou un canal.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{info}: nom de l'info @`a obtenir : @itemize @minus @item @option{version}: obtenir la version de WeeChat @item @option{nick}: obtenir le pseudo @item @option{channel}: obtenir le nom du canal @item @option{server}: obtenir le nom du serveur @item @option{away}: obtenir le drapeau ``away'' @item @option{weechat_dir}: obtenir le r@'epertoire maison de WeeChat @item @option{weechat_libdir}: obtenir le r@'epertoire ``lib'' syst@`eme de WeeChat @item @option{weechat_sharedir}: obtenir le r@'epertoire ``share'' syst@`eme de partage WeeChat @end itemize @item @option{server}: nom du serveur o@`u r@'ecup@'erer l'information (ni n@'ecessaire) @item @option{channel}: nom du canal o@`u r@'ecup@'erer l'information (si n@'ecessaire) @end itemize @* @emph{Valeur renvoy@'ee :}@* @* L'information recherch@'ee, NULL si non trouv@'ee.@* NB: le r@'esultat doit @^etre lib@'er@'e par un appel @`a la fonction ``free'' apr@`es utilisation.@* @* @emph{Exemples :}@* @* @code{char *version = plugin->get_info (plugin, "version", NULL, NULL);}@* @code{char *nick = plugin->get_info (plugin, "nick", "freenode", NULL);}@* @* @item @command{t_plugin_info_dcc *get_dcc_info (t_weechat_plugin *plugin)}@* @* Renvoie la liste des DCC en cours ou termin@'es.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La liste cha@^in@'ee des DCC.@* NB: le r@'esultat doit @^etre lib@'er@'e par un appel @`a la fonction ``free_dcc_info'' apr@`es utilisation.@* @* @emph{Exemple :}@* @* @code{t_plugin_dcc_info *dcc_info = plugin->get_dcc_info (plugin);}@* @code{for (ptr_dcc = dcc_info; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc)}@* @code{@{}@* @code{@ @ @ @ plugin->printf_server (plugin, "DCC type=%d, avec: %s", ptr_dcc->type, ptr_dcc->nick);}@* @code{@}}@* @* @item @command{void free_dcc_info (t_weechat_plugin *plugin, t_plugin_dcc_info *dcc_info)}@* @* Lib@`ere la m@'emoire utilis@'ee par une liste de DCC.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{dcc_info}: pointeur vers une structure renvoy@'ee par la fonction ``get_dcc_info'' @end itemize @* @emph{Valeur renvoy@'ee :}@* @* Aucune.@* @* @emph{Exemple :}@* @* @code{plugin->free_dcc_info (plugin, dcc_info);}@* @* @item @command{char *get_config (t_weechat_plugin *plugin, char *option)}@* @* Renvoie la valeur d'une option de configuration WeeChat.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{option}: nom de l'option @`a lire @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La valeur de l'option, NULL si non trouv@'ee.@* NB: le r@'esultat doit @^etre lib@'er@'e par un appel @`a la fonction ``free'' apr@`es utilisation.@* @* @emph{Exemples :}@* @* @code{char *value1 = plugin->get_config (plugin, "look_set_title");}@* @code{char *value2 = plugin->get_config (plugin, "freenode.server_autojoin");}@* @* @item @command{int set_config (t_weechat_plugin *plugin, char *option, char *value)}@* @* Modifie la valeur d'une option de configuration WeeChat.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{option}: nom de l'option @`a mettre @`a jour @item @option{value}: nouvelle valeur pour l'option @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si l'option a @'et@'e modifi@'ee avec succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{plugin->set_config (plugin, "look_nicklist", "off");}@* @* @item @command{char *get_plugin_config (t_weechat_plugin *plugin, char *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 :@* @code{extension.option=valeur}@* NB: le nom de l'extension est ajout@'e automatiquement.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{option}: nom de l'option @`a lire @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La valeur de l'option, NULL si non trouv@'ee.@* NB: le r@'esultat doit @^etre lib@'er@'e par un appel @`a la fonction ``free'' apr@`es utilisation.@* @* @emph{Exemple :}@* @* @code{char *value = plugin->get_plugin_config (plugin, "ma_variable");}@* @* @item @command{int set_plugin_config (t_weechat_plugin *plugin, char *option, char *value)}@* @* Modifie la valeur d'une option de l'extension.@* L'option est @'ecrite dans le fichier ~/.weechat/plugins.rc et est sous cette forme :@* @code{extension.option=valeur}@* NB: le nom de l'extension est ajout@'e automatiquement.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: un pointeur vers la structure de l'extension @item @option{option}: nom de l'option @`a mettre @`a jour @item @option{value}: nouvelle valeur pour l'option @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si l'option a @'et@'e modifi@'ee avec succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{plugin->set_plugin_config (plugin, "ma_variable", "valeur");}@* @* @end itemize @subsection Compiler l'extension La compilation ne n@'ecessite pas les sources WeeChat, mais seulement le fichier ``weechat-plugin.h''.@* Pour compiler une extension compos@'ee d'un fichier ``toto.c'' (sous GNU/Linux) :@* @* gcc -fPIC -Wall -c toto.c@* gcc -shared -fPIC -o libtoto.so toto.o @subsection Charger l'extension dans WeeChat Copier le fichier ``libtoto.so'' dans le r@'epertoire des extensions g@'en@'eral (par exemple /usr/local/lib/weechat/plugins) ou bien dans celui de l'utilisateur (par exemple /home/xxxxx/.weechat/plugins).@* @* Sous WeeChat :@* @command{/plugin load toto} @node Exemple d'extension, Extensions pour scripts, Ecrire une extension, Extensions @section Exemple d'extension Un exemple complet d'extension, qui ajoute une commande /double affichant deux fois les param@`etres pass@'es sur le canal courant (d'accord ce n'est pas tr@`es utile mais ceci est un exemple !) :@* @verbatim #include #include "weechat-plugin.h" char plugin_name[] = "Toto"; char plugin_version[] = "0.1"; char plugin_description[] = "Plugin de test pour WeeChat"; /* gestionnaire de commande "/hello" */ int toto_cmd_double (t_weechat_plugin *plugin, char *server, char *command, 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 1; } 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", &toto_cmd_double, NULL, NULL); return 1; } int weechat_plugin_end (t_weechat_plugin *plugin) { /* on ne fait rien ici */ return 1; } @end verbatim @node Extensions pour scripts, , Exemple d'extension, Extensions @section Extensions pour scripts Trois extensions sont fournies en standard avec WeeChat pour utiliser des langages de script: Perl, Python et Ruby. @subsection Scripts Perl @subsubsection Charger/d@'echarger des scripts Perl Les scripts Perl sont charg@'es et d@'echarg@'es avec la commande @command{/perl} (tapez @kbd{/help perl} dans WeeChat pour obtenir de l'aide sur la commande).@* @emph{Exemples :}@* @itemize @bullet @item Charger un script Perl : @kbd{/perl load /tmp/essai.pl}@* @item D@'echarger tous les scripts Perl : @kbd{/perl unload}@* @item Lister les scripts Perl charg@'es : @kbd{/perl}@* @end itemize @subsubsection Interface WeeChat / Perl @itemize @bullet @item @command{weechat::register ( nom, version, fonction_de_fin, description );}@* @* C'est la premi@`ere fonction @`a appeler dans le script Perl.@* Tout script Perl pour WeeChat doit appeler cette fonction.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom unique pour identifier le script (chaque script doit avoir un nom diff@'erent) @item @option{version}: version du script @item @option{fonction_de_fin}: fonction Perl appel@'ee quand le script est d@'echarg@'e (param@`etre facultatif, une cha@^ine vide signifiant qu'il n'y a pas de fonction @`a appeler) @item @option{description}: description br@`eve du script. @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si le script a @'et@'e enregistr@'e, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat::register ("essai", "1.0", "fin_essai", "Script d'essai !");}@* @* @item @command{weechat::print ( message, [canal, [serveur]] );}@* @* Affiche un message dans un canal.@* @emph{Param@`etres :} @itemize @minus @item @option{message}: message @`a afficher @item @option{canal}: nom du canal @item @option{serveur}: nom interne du serveur @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemples :}@* @* @code{weechat::print ("message");}@* @code{weechat::print ("message", "#weechat");}@* @code{weechat::print ("message", "#weechat", "freenode");}@* @* @item @command{weechat::print_infobar ( d@'elai, message );}@* @* Affiche un message dans la barre d'infos.@* @emph{Param@`etres :} @itemize @minus @item @option{d@'elai}: d@'elai (en secondes) pendant lequel le message est affich@'e (si 0, le message ne sera pas effac@'e). @item @option{message}: message @`a afficher @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat::print_infobar (5, "message");}@* @* @item @command{weechat::add_message_handler ( nom, fonction );}@* @* Attache une fonction Perl @`a un message IRC particulier.@* La fonction sera appel@'ee @`a chaque fois que le message IRC sera re@,{c}u.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom du message IRC pour lequel la fonction est appel@'ee@* Pour conna@^itre la liste des messages IRC disponibles, merci de consulter les RFC 1459 et/ou 2812 :@* RFC 1459 : @uref{ftp://ftp.rfc-editor.org/in-notes/rfc1459.txt}@* RFC 2812 : @uref{ftp://ftp.rfc-editor.org/in-notes/rfc2812.txt} @item @option{fonction}: fonction Perl appel@'ee lorsque le message est re@,{c}u @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si la fonction Perl a @'et@'e attach@'ee, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat::add_message_handler ("privmsg", ma_fonction);}@* @code{sub ma_fonction}@* @code{@{ }@* @code{@ @ @ @ weechat::print ("serveur=$_[0]\n");}@* @code{@ @ @ @ ($null, $canal, $message) = split ":",$_[1],3;}@* @code{@ @ @ @ ($masque, $null, $canal) = split " ", $canal;}@* @code{@ @ @ @ weechat::print ("masque=$masque, canal=$canal, msg=$message\n");}@* @code{@} }@* @* @item @command{weechat::add_command_handler ( nom, fonction, [description, arguments, arguments_description] );}@* @* Cr@'e@'e une nouvelle commande WeeChat, associ@'ee @`a une fonction Perl.@* La fonction sera appel@'ee lorsque l'utilisateur lancera la commande par @kbd{/nom}.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom de la nouvelle commande@* Il peut s'agir d'une commande existante, auquel cas celle-ci est @'ecras@'ee par la fonction Perl. Soyez prudent en @'ecrasant les commandes WeeChat, car elles ne seront plus accessibles tant que le script Perl sera charg@'e. @item @option{fonction}: fonction Perl associ@'ee @`a la commande @item @option{description}: description de la commande (affich@'ee par /help commande) @item @option{arguments}: br@`eve description des param@`etres de la commande (affich@'ee par /help commande) @item @option{arguments_description}: longue description des param@`etres de la commande (affich@'ee par /help commande) @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si la fonction Perl a @'et@'e attach@'ee, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat::add_command_handler ("commande", ma_commande);}@* @code{sub ma_commande}@* @code{@{ }@* @code{@ @ @ @ weechat::print("Serveur: $_[0], param@`etres: $_[1]\n");}@* @code{@ @ @ @ return 0;}@* @code{@} }@* @* @item @command{weechat::remove_handler ( nom, fonction );}@* @* Supprime un gestionnaire de message ou de commande.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom du message IRC ou de la commande @item @option{fonction}: fonction Perl associ@'ee @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat::remove_handler ("commande", ma_commande);}@* @* @item @command{weechat::command ( commande, [canal, [serveur]] );}@* @* Ex@'ecute une commande ou envoie un message @'a un canal.@* @emph{Param@`etres :} @itemize @minus @item @option{commande}: commande @'a ex@'ecuter (ou message @'a envoyer au canal) @item @option{canal}: nom du canal @item @option{serveur}: nom interne du serveur @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemples :}@* @* @code{weechat::command ("bonjour tout le monde !");}@* @code{weechat::command ("/kick toto merci de quitter ce canal", "#weechat");}@* @code{weechat::command ("/nick newnick", "", "freenode");}@* @* @item @command{weechat::get_info ( nom, [serveur, [canal] ] );}@* @* Obtenir des informations vari@'ees sur WeeChat, le serveur ou l'utilisateur.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom de l'info @`a obtenir : @itemize @minus @item @option{version}: obtenir la version de WeeChat @item @option{nick}: obtenir le pseudo @item @option{channel}: obtenir le nom du canal @item @option{server}: obtenir le nom du serveur @item @option{away}: obtenir le drapeau ``away'' @item @option{weechat_dir}: obtenir le r@'epertoire maison de WeeChat @item @option{weechat_libdir}: obtenir le r@'epertoire ``lib'' syst@`eme de WeeChat @item @option{weechat_sharedir}: obtenir le r@'epertoire ``share'' syst@`eme de partage WeeChat @end itemize @item @option{serveur}: nom interne du serveur @item @option{canal}: nom du canal @end itemize @* @emph{Valeur renvoy@'ee :}@* @* L'information demand@'e, blanc si une erreur s'est produite ou que l'information n'a pas @'et@'e trouv@'ee.@* @* @emph{Exemples :}@* @* @code{$version = get_info("version");}@* @code{$nick = get_info("nick", "freenode");}@* @* @item @command{weechat::get_dcc_info ( );}@* @* Obtenir la liste des DCC.@* Le tableau renvoy@'e contient les champs suivants : @itemize @minus @item server: le serveur IRC @item channel: le canal IRC @item type: le type de DCC : @itemize @minus @item 0: discussion (re@,cue) @item 1: discussion (envoy@'ee) @item 2: fichier en r@'eception @item 3: fichier en @'emission @end itemize @item status: statut du DCC : @itemize @minus @item 0: en attente @item 1: en cours de connexion @item 2: actif @item 3: termin@'e @item 4: @'echou@'e @item 5: interrompu par l'utilisateur @end itemize @item start_time: la date et heure de cr@'eation du DCC @item start_transfer: la date et heure de d@'emarrage du transfert @item addr: adresse de l'utilisateur distant @item port: port utilis@'e pour le DCC @item nick: pseudo de l'utilisateur distant @item filename: nom de fichier @item local_filename: nom de fichier local @item size: taille du fichier @item pos: position actuelle dans le fichier @item start_resume: position de d@'emarrage apr@`es une interruption @item bytes_per_sec: nombre d'octets transmis par seconde depuis le d@'ebut @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La liste des DCC, 0 si une erreur s'est produite.@* @* @item @command{weechat::get_config ( option );}@* @* Obtenir la valeur d'une option de configuration WeeChat.@* @emph{Param@`etres :} @itemize @minus @item @option{option}: nom de l'option @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La valeur de l'option, blanc si une erreur s'est produite ou que l'option n'a pas @'et@'e trouv@'ee.@* @* @emph{Exemples :}@* @* @code{$value1 = weechat::get_config ("look_nicklist");}@* @code{$value2 = weechat::get_config ("freenode.server_autojoin");}@* @* @item @command{weechat::set_config ( option, valeur );}@* @* Modifier une otion de configuration WeeChat.@* @emph{Param@`etres :} @itemize @minus @item @option{option}: nom de l'option @item @option{valeur}: la nouvelle valeur pour l'option @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemples :}@* @* @code{weechat::set_config ("look_nicklist", "off");}@* @code{weechat::set_config ("freenode.server_autojoin, "#weechat");}@* @* @item @command{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 :@* @code{extension.script.option=valeur}@* NB: le nom de l'extension et du script sont ajout@'es automatiquement.@* @emph{Param@`etres :} @itemize @minus @item @option{option}: nom de l'option @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La valeur de l'option, blanc si une erreur s'est produite ou que l'option n'a pas @'et@'e trouv@'ee.@* @* @emph{Exemple :}@* @* @code{$value = weechat::get_plugin_config ("ma_variable");}@* @* @item @command{weechat::set_plugin_config ( option, valeur );}@* @* Modifie la valeur d'une option de l'extension.@* L'option est @'ecrite dans le fichier ~/.weechat/plugins.rc et est sous cette forme :@* @code{extension.script.option=valeur}@* NB: le nom de l'extension et du script sont ajout@'es automatiquement.@* @emph{Param@`etres :} @itemize @minus @item @option{option}: nom de l'option @item @option{valeur}: la nouvelle valeur pour l'option @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat::set_plugin_config ("ma_variable", "valeur");}@* @* @end itemize @subsection Scripts Python @subsubsection Charger/d@'echarger des scripts Python Les scripts Python sont charg@'es et d@'echarg@'es avec la commande @command{/python} (tapez @kbd{/help python} dans WeeChat pour obtenir de l'aide sur la commande).@* @emph{Exemples :}@* @itemize @bullet @item Charger un script Python : @kbd{/python load /tmp/essai.py}@* @item D@'echarger tous les scripts Python : @kbd{/python unload}@* @item Lister les scripts Python charg@'es : @kbd{/python}@* @end itemize @subsubsection Interface WeeChat / Python @itemize @bullet @item @command{weechat.register ( nom, version, fonction_de_fin, description )}@* @* C'est la premi@`ere fonction @`a appeler dans le script Python.@* Tout script Python pour WeeChat doit appeler cette fonction.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom unique pour identifier le script (chaque script doit avoir un nom diff@'erent) @item @option{version}: version du script @item @option{fonction_de_fin}: fonction Python appel@'ee quand le script est d@'echarg@'e (param@`etre facultatif, une cha@^ine vide signifiant qu'il n'y a pas de fonction @`a appeler) @item @option{description}: description br@`eve du script. @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si le script a @'et@'e enregistr@'e, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat.register ("essai", "1.0", "fin_essai", "Script d'essai !")}@* @* @item @command{weechat.prnt ( message, [canal, [serveur]] )}@* @* Affiche un message dans un canal.@* @emph{Param@`etres :} @itemize @minus @item @option{message}: message @`a afficher @item @option{canal}: nom du canal @item @option{serveur}: nom interne du serveur @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemples :}@* @* @code{weechat.prnt ("message")}@* @code{weechat.prnt ("message", "#weechat")}@* @code{weechat.prnt ("message", "#weechat", "freenode")}@* @* @item @command{weechat.print_infobar ( d@'elai, message )}@* @* Affiche un message dans la barre d'infos.@* @emph{Param@`etres :} @itemize @minus @item @option{d@'elai}: d@'elai (en secondes) pendant lequel le message est affich@'e (si 0, le message ne sera pas effac@'e). @item @option{message}: message @`a afficher @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat.print_infobar (5, "message")}@* @* @item @command{weechat.add_message_handler ( nom, fonction )}@* @* Attache une fonction Python @`a un message IRC particulier.@* La fonction sera appel@'ee @`a chaque fois que le message IRC sera re@,{c}u.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom du message IRC pour lequel la fonction est appel@'ee@* Pour conna@^itre la liste des messages IRC disponibles, merci de consulter les RFC 1459 et/ou 2812 :@* RFC 1459 : @uref{ftp://ftp.rfc-editor.org/in-notes/rfc1459.txt}@* RFC 2812 : @uref{ftp://ftp.rfc-editor.org/in-notes/rfc2812.txt} @item @option{fonction}: fonction Python appel@'ee lorsque le message est re@,{c}u @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si la fonction Python a @'et@'e attach@'ee, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat.add_message_handler ("privmsg", ma_fonction)}@* @code{def ma_fonction(serveur, args):}@* @code{@ @ @ @ weechat.prnt("serveur="+serveur)}@* @code{@ @ @ @ null, canal, message = string.split(args, ":", 2)}@* @code{@ @ @ @ masque, null, canal = string.split(string.strip(canal), " ", 2)}@* @code{@ @ @ @ weechat.prnt("masque="+masque+", canal="+canal+", message="+message)}@* @* @item @command{weechat.add_command_handler ( nom, fonction )}@* @* Cr@'e@'e une nouvelle commande WeeChat, associ@'ee @`a une fonction Python.@* La fonction sera appel@'ee lorsque l'utilisateur lancera la commande par @kbd{/nom}.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom de la nouvelle commande@* Il peut s'agir d'une commande existante, auquel cas celle-ci est @'ecras@'ee par la fonction Python. Soyez prudent en @'ecrasant les commandes WeeChat, car elles ne seront plus accessibles tant que le script Python sera charg@'e. @item @option{fonction}: fonction Python associ@'ee @`a la commande @item @option{description}: description de la commande (affich@'ee par /help commande) @item @option{arguments}: br@`eve description des param@`etres de la commande (affich@'ee par /help commande) @item @option{arguments_description}: longue description des param@`etres de la commande (affich@'ee par /help commande) @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si la fonction Python a @'et@'e attach@'ee, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat.add_command_handler ("commande", ma_commande)}@* @code{def ma_commande(serveur, args):}@* @code{@ @ @ @ weechat.prnt("serveur:"+serveur+" param@`etres:"+args)}@* @* @item @command{weechat.remove_handler ( nom, fonction );}@* @* Supprime un gestionnaire de message ou de commande.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom du message IRC ou de la commande @item @option{fonction}: fonction Python associ@'ee @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat.remove_handler ("commande", ma_commande);}@* @* @item @command{weechat.command ( commande, [canal, [serveur]] )}@* @* Ex@'ecute une commande ou envoie un message @'a un canal.@* @emph{Param@`etres :} @itemize @minus @item @option{commande}: commande @'a ex@'ecuter (ou message @'a envoyer au canal) @item @option{canal}: nom du canal @item @option{serveur}: nom interne du serveur @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemples :}@* @* @code{weechat.command ("bonjour tout le monde !")}@* @code{weechat.command ("/kick toto merci de quitter ce canal", "#weechat")}@* @code{weechat.command ("/nick newnick", "", "freenode")}@* @* @item @command{weechat.get_info ( nom, [serveur] )}@* @* Obtenir des informations vari@'ees sur WeeChat, le serveur ou l'utilisateur.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom de l'info @`a obtenir : @itemize @minus @item @option{version}: obtenir la version de WeeChat @item @option{nick}: obtenir le pseudo @item @option{channel}: obtenir le nom du canal @item @option{server}: obtenir le nom du serveur @item @option{away}: obtenir le drapeau ``away'' @item @option{weechat_dir}: obtenir le r@'epertoire maison de WeeChat @item @option{weechat_libdir}: obtenir le r@'epertoire ``lib'' syst@`eme de WeeChat @item @option{weechat_sharedir}: obtenir le r@'epertoire ``share'' syst@`eme de partage WeeChat @end itemize @item @option{serveur}: nom interne du serveur @end itemize @* @emph{Valeur renvoy@'ee :}@* @* L'information demand@'e, blanc si une erreur s'est produite ou que l'information n'a pas @'et@'e trouv@'ee.@* @* @emph{Exemples :}@* @* @code{$version = weechat.get_info ("version")}@* @code{$nick = weechat.get_info ("nick", "freenode")}@* @* @item @command{weechat.get_dcc_info ( );}@* @* Obtenir la liste des DCC.@* Le tableau renvoy@'e contient les champs suivants : @itemize @minus @item server: le serveur IRC @item channel: le canal IRC @item type: le type de DCC : @itemize @minus @item 0: discussion (re@,cue) @item 1: discussion (envoy@'ee) @item 2: fichier en r@'eception @item 3: fichier en @'emission @end itemize @item status: statut du DCC : @itemize @minus @item 0: en attente @item 1: en cours de connexion @item 2: actif @item 3: termin@'e @item 4: @'echou@'e @item 5: interrompu par l'utilisateur @end itemize @item start_time: la date et heure de cr@'eation du DCC @item start_transfer: la date et heure de d@'emarrage du transfert @item addr: adresse de l'utilisateur distant @item port: port utilis@'e pour le DCC @item nick: pseudo de l'utilisateur distant @item filename: nom de fichier @item local_filename: nom de fichier local @item size: taille du fichier @item pos: position actuelle dans le fichier @item start_resume: position de d@'emarrage apr@`es une interruption @item bytes_per_sec: nombre d'octets transmis par seconde depuis le d@'ebut @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La liste des DCC, 0 si une erreur s'est produite.@* @* @item @command{weechat.get_config ( nom );}@* @* Obtenir la valeur d'une option de configuration WeeChat.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom de l'option @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La valeur de l'option, blanc si une erreur s'est produite ou que l'option n'a pas @'et@'e trouv@'ee.@* @* @emph{Exemples :}@* @* @code{$value1 = weechat.get_config ("look_nicklist");}@* @code{$value2 = weechat.get_config ("freenode.server_autojoin");}@* @* @item @command{weechat.set_config ( nom, valeur );}@* @* Modifier une otion de configuration WeeChat.@* @emph{Param@`etres :} @itemize @minus @item @option{nom}: nom de l'option @item @option{valeur}: la nouvelle valeur pour l'option @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemples :}@* @* @code{weechat.set_config ("look_nicklist", "off");}@* @code{weechat.set_config ("freenode.server_autojoin, "#weechat");}@* @* @item @command{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 :@* @code{extension.script.option=valeur}@* NB: le nom de l'extension et du script sont ajout@'es automatiquement.@* @emph{Param@`etres :} @itemize @minus @item @option{option}: nom de l'option @end itemize @* @emph{Valeur renvoy@'ee :}@* @* La valeur de l'option, blanc si une erreur s'est produite ou que l'option n'a pas @'et@'e trouv@'ee.@* @* @emph{Exemple :}@* @* @code{$value = weechat.get_plugin_config ("ma_variable");}@* @* @item @command{weechat.set_plugin_config ( option, valeur );}@* @* Modifie la valeur d'une option de l'extension.@* L'option est @'ecrite dans le fichier ~/.weechat/plugins.rc et est sous cette forme :@* @code{extension.script.option=valeur}@* NB: le nom de l'extension et du script sont ajout@'es automatiquement.@* @emph{Param@`etres :} @itemize @minus @item @option{option}: nom de l'option @item @option{valeur}: la nouvelle valeur pour l'option @end itemize @* @emph{Valeur renvoy@'ee :}@* @* 1 si succ@`es, 0 si une erreur s'est produite.@* @* @emph{Exemple :}@* @* @code{weechat.set_plugin_config ("ma_variable", "valeur");}@* @* @end itemize @subsection Scripts Ruby Non d@'evelopp@'e ! @c **************************** Auteurs / Support ***************************** @node Auteurs / Support, , Extensions, Top @chapter Auteurs / Support @ifhtml @menu * Auteurs:: * Obtenir du support:: * Copyright:: @end menu @end ifhtml @ifnothtml @menu * Auteurs:: * Obtenir du support:: @end menu @end ifnothtml @node Auteurs, Obtenir du support, Auteurs / Support, Auteurs / Support @section Auteurs WeeChat est d@'evelopp@'e par :@* @itemize @bullet @item FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}> @end itemize @ifhtml @node Obtenir du support, Copyright, Auteurs, Auteurs / Support @end ifhtml @ifnothtml @node Obtenir du support, , Auteurs, Auteurs / Support @end ifnothtml @section Obtenir du support Avant de faire appel au support, merci de lire la documentation et la FAQ de WeeChat.@* (la documentation est le document que vous @^etes en train de lire, si vous n'avez pas tout lu jusqu'ici, il est encore temps de recommencer !)@* @itemize @bullet @item Support par IRC:@* - serveur : @b{irc.freenode.net}@* - canal : @b{#weechat}@*@* @item Forum WeeChat : @uref{http://forums.flashtux.org}@*@* @item Support par la liste de diffusion :@* - pour souscrire/d@'esinscrire :@*@uref{http://mail.nongnu.org/mailman/listinfo/weechat-support}.@* - pour envoyer un mail @`a la liste de diffusion, envoyer @`a :@*@email{weechat-support@@nongnu.org}.@* Les archives de la liste de diffusion sont ici :@* @uref{http://mail.nongnu.org/archive/html/weechat-support}@*@* @item Voir la page support WeeChat pour plus de d@'etails :@* @uref{http://weechat.flashtux.org/support.php} @end itemize @ifhtml @node Copyright, , Obtenir du support, Auteurs / Support @section Copyright Ce manuel documente le client IRC WeeChat, il fait partie de WeeChat.@* Copyright @copyright{} 2005 FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@* @* Ce document peut @^etre utilis@'e sous les termes de la licence GNU General Public License version 2 ou plus. @end ifhtml @bye