\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename weechat_doc_es.info @settitle WeeChat - Cliente IRC r@'apido, ligero y extensible @c %**end of header @c WeeChat documentation (spanish 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_es.texi @c html: makeinfo --html --no-split --number-sections weechat_doc_es.texi @c tex @c \overfullrule=0pt @c end tex @documentlanguage es @documentencoding ISO-8859-1 @titlepage @title WeeChat - Gui@'on de usuario. @subtitle Cliente IRC r@'apido, peque@~no y extensible @subtitle Documentaci@'on para WeeChat v0.1.6-cvs - 18 de octubre de 2005 @author FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}> @page Este manual documenta el cliente de IRC WeeChat, y hace parte del proyecto.@* @* Puede obtener la @`ultima versi@'on de este documento en la p@'agina:@* @uref{http://weechat.flashtux.org/doc.php}@* @* Copyright @copyright{} 2005 FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@* Traducido en espa@~nol por Iznogoud <@email{iznogoud@@dlfp.org, iznogoud AT dlfp.org}>@* @* Puede utilizar este documento seg@'un los t@'erminos de la licencia GNU General Public License versi@'on 2 o posterior. @end titlepage @everyheading @thischapter @| @| @everyfooting @thistitle @| @| Page @thispage @contents @node Top, Introduccion, (dir), (dir) @menu * Introduccion:: Presentaci@'on de WeeChat * Instalacion:: Instalaci@'on de WeeChat * Uso:: Utilizaci@'on de WeeChat * Plugins:: WeeChat plugins * Autores / Soporte:: Contactar los autores y obtener soporte @end menu @c ******************************* Introducci'on ******************************* @node Introduccion, Instalacion, Top, Top @chapter Introducci@'on @menu * Descripcion:: * Requisitos:: @end menu @node Descripcion, Requisitos, Introduccion, Introduccion @section Descripci@'on WeeChat (Wee Enhanced Environment for Chat) es un cliente de IRC libre, r@'apido y de peque@~no tama@~no, dise@~nado para diferentes sistemas operativos.@* @* Las caracter@'isticas principales son las siguientes: @itemize @minus @item conexi@'on multi-servidores (con SSL, IPv6, proxy) @item m@'ultiples interfaces: Curses, wxWidgets, Gtk y Qt @item peque@~no, r@'apido y ligero. @item parametrizable y extensible mediante guiones (scripts) @item conforme a las RFCs 1459, 2810, 2811, 2812, y 2813 @item multi-plataforma (Gnu/Linux, *BSD, MacOS X, Windows y otros sistemas operativos) @item 100% GPL, con Licencia Libre @end itemize @* La p@'agina Web de WeeChat est@'a aqu@'i (en franc@'es):@* @uref{http://weechat.flashtux.org}@* @node Requisitos, , Descripcion, Introduccion @section Requisitos Los requisitos para instalar WeeChat son:@* @itemize @bullet @item Un sistema operativo GNU/Linux (con compilador y herramientas asociadas para paquetes de c@'odigo fuente) @item Acceso a la cuenta "root" (para instalar WeeChat) @item Seg@'un el interfaz, una de las bibliotecas siguientes: @itemize @minus @item Curses: la librer@'ia ncurses, @item Gtk: *** interfaz no desarrollada por el momento ***, @item Qt: *** interfaz no desarrollada por el momento ***, @end itemize @end itemize @c ******************************* Instalaci@'on ******************************* @node Instalacion, Uso, Introduccion, Top @chapter Instalaci@'on @menu * Paquetes binarios:: * Paquetes de fuentes:: * CVS:: @end menu @node Paquetes binarios, Paquetes de fuentes, Instalacion, Instalacion @section Paquetes binarios Los paquetes binarios est@'an disponibles para las siguientes distribuciones: @itemize @bullet @item Debian (o compatible con Debian)@* Para instalar WeeChat: @kbd{apt-get install weechat-curses} @item Mandrake/Redhat (o cualquier distribuci@'on compatible con los paquetes RPM)@* Para instalar WeeChat: @kbd{rpm -i /direccion/weechat-x.y.z-1.i386.rpm} @item Gentoo@* Para instalar WeeChat: @kbd{emerge -pf weechat && emerge weechat} @item BSD (no disponible !) @item Slackware (no disponible!) @item Windows (no disponible!) @end itemize donde x.y.z es la versi@'on de WeeChat (por ejemplo 0.0.1) @* @node Paquetes de fuentes, CVS, Paquetes binarios, Instalacion @section Paquetes de fuentes Escribe en un terminal o una consola:@* @kbd{./configure}@* @kbd{make}@* Nota: si quieres construir WeeChat @'unicamente para ciertas interfaces, puedes a@~nadir Par@'ametros a ./configure, escribe @kbd{./configure --help} para obtener ayuda sobre estas opciones.@* Adquiere los derechos de root e instala WeeChat:@* @kbd{su}@* (introduce la contrase@~na de root)@* @kbd{make install}@* @node CVS, , Paquetes de fuentes, Instalacion @section CVS Atenci@'on: Las fuentes CVS est@'an reservadas para usuarios con experiencia: Es posible que WeeChat no se instale o que se sea bastante inestable. @exclamdown{}Ya te he avisado!@* Para recuperar las fuentes CVS, escribe las l@'ineas siguientes:@* @kbd{cvs -d:pserver:anoncvs@@subversions.gnu.org:/cvsroot/weechat login}@* @kbd{cvs -z3 -d:pserver:anoncvs@@subversions.gnu.org:/cvsroot/weechat co weechat}@* (Si te pregunta una contrase@~na, simplemente pulsa la tecla Entrar)@* Ejecuta el script:@* @kbd{./autogen.sh}@* Luego, lee las instructiones para Paquetes de fuentes - @xref{Paquetes de fuentes}. @c ******************************* Utilisaci@'on ******************************** @node Uso, Plugins, Instalacion, Top @chapter Uso @menu * Iniciar WeeChat:: * Ficheros de configuracion:: * Atajos de teclado:: * Comandos WeeChat:: * Canal FIFO:: @end menu @node Iniciar WeeChat, Ficheros de configuracion, Uso, Uso @section Iniciar WeeChat @subsection Par@'ametros de l@'inea de comandos @table @code @item -c, --config Obtener la ayuda del fichero de configuraci@'on (lista de opciones)@* @item -f, --key-functions Display WeeChat internal functions for keys@* @item -h, --help Obtener la ayuda@* @item -i, --irc-commands Display IRC commands list@* @item -l, --license Obtener la licencia de WeeChat@* @item -v, --version Obtener la versi@'on de WeeChat@* @item -w, --weechat-commands Display WeeChat commands list@* @end table @subsection Lanzar WeeChat Para ejecutar WeeChat, basta escribir la l@'inea siguiente:@* @kbd{weechat-curses} (para el interfaz con Curses)@* o @kbd{weechat-wxwidgets} (para el interfaz con wxWidgets)@* o @kbd{weechat-gtk} (para el interfaz con Gtk)@* o @kbd{weechat-qt} (para el interfaz con Qt)@* Cuando se ejecuta WeeChat por primera vez, un fichero de configuraci@'on se crea con las opciones por defecto;@* El fichero de configuraci@'on por defecto est@'a en: ~/.weechat/weechat.rc@* Puedes editarlo para configurar WeeChat con las opciones deseadas, o tambi@'en puedes modificar los par@'ametros directamente en WeeChat, con la l@'inea @kbd{/set} - @xref{Comandos WeeChat}. @node Ficheros de configuracion, Atajos de teclado, Iniciar WeeChat, Uso @section Ficheros de configuraci@'on Enumeraci@'on de las opciones del fichero de configuraci@'on:@* @table @kbd @item look_set_title Set title for window (terminal for Curses GUI) with name & version@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_startup_logo Display WeeChat logo at startup@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_startup_version Display WeeChat version at startup@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_weechat_slogan WeeChat slogan (if empty, slogan is not used)@* Type: string (any string), default value: 'the geekest IRC client!'@* @item look_charset_decode Charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if empty, messages are not converted)@* Type: string (any string), default value: 'UTF-8'@* @item look_charset_encode Charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 (if empty, local charset is used)@* Type: string (any string), default value: ''@* @item look_charset_internal Internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if empty, local charset is used)@* Type: string (any string), default value: 'ISO-8859-1'@* @item look_buffer_timestamp Timestamp for buffers@* Type: string (any string), default value: '[%H:%M:%S]'@* @item look_color_nicks Display nick names with different colors@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_color_nicks_number Number of colors to use for nicks colors@* Type: integer (values: between 1 and 10), default value: 10@* @item look_color_actions Display actions with different colors@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_remove_colors_from_msgs Remove colors from incoming messages@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_nicklist Display nicklist window (for channel windows)@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_nicklist_position Nicklist position (top, left, right (default), bottom)@* Type: string (values: 'left', 'right', 'top', 'bottom'), default value: 'right'@* @item look_nicklist_min_size Min size for nicklist (width or height, depending on look_nicklist_position (0 = no min size))@* Type: integer (values: between 0 and 100), default value: 0@* @item look_nicklist_max_size Max size for nicklist (width or height, depending on look_nicklist_position (0 = no max size; if min == max and > 0, then size is fixed))@* Type: integer (values: between 0 and 100), default value: 0@* @item look_no_nickname Text to display instead of nick when not connected@* Type: string (any string), default value: '-cmd-'@* @item look_nickmode Display nick mode ((half)op/voice) before each nick@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_nickmode_empty Display space if nick mode is not (half)op/voice@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item look_nick_completor The string inserted after nick completion@* Type: string (any string), default value: ':'@* @item look_infobar Enable info bar@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_infobar_timestamp Timestamp for time in infobar@* Type: string (any string), default value: '%B, %A %d %Y'@* @item look_infobar_seconds Display seconds in infobar time@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_infobar_delay_highlight Delay (in seconds) for highlight messages in infobar (0 = disable highlight notifications in infobar)@* Type: integer (values: between 0 and 2147483647), default value: 7@* @item look_hotlist_names_count Max number of names in hotlist (0 = no name displayed, only buffer numbers)@* Type: integer (values: between 0 and 32), default value: 3@* @item look_hotlist_names_level Level for displaying names in hotlist (combination of: 1=join/part, 2=message, 4=private, 8=highlight, for example: 12=private+highlight)@* Type: integer (values: between 1 and 15), default value: 12@* @item look_hotlist_names_length Max length of names in hotlist (0 = no limit)@* Type: integer (values: between 0 and 32), default value: 0@* @item look_day_change Display special message when day changes@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item look_day_change_timestamp Timestamp for date displayed when day changed@* Type: string (any string), default value: '%a, %d %b %Y'@* @item col_title Color for title bar@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_title_bg Background for title bar@* Type: color (Curses or Gtk color), default value: 'blue'@* @item col_chat Color for chat text@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_chat_time Color for time in chat window@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_chat_time_sep Color for time separator (chat window)@* Type: color (Curses or Gtk color), default value: 'brown'@* @item col_chat_prefix1 Color for 1st and 3rd char of prefix@* Type: color (Curses or Gtk color), default value: 'lightcyan'@* @item col_chat_prefix2 Color for middle char of prefix@* Type: color (Curses or Gtk color), default value: 'white'@* @item col_chat_join Color for join arrow (prefix)@* Type: color (Curses or Gtk color), default value: 'lightgreen'@* @item col_chat_part Color for part/quit arrow (prefix)@* Type: color (Curses or Gtk color), default value: 'lightred'@* @item col_chat_nick Color for nicks in actions (chat window)@* Type: color (Curses or Gtk color), default value: 'lightcyan'@* @item col_chat_host Color for hostnames (chat window)@* Type: color (Curses or Gtk color), default value: 'cyan'@* @item col_chat_channel Color for channel names in actions (chat window)@* Type: color (Curses or Gtk color), default value: 'white'@* @item col_chat_dark Color for dark separators (chat window)@* Type: color (Curses or Gtk color), default value: 'green'@* @item col_chat_highlight Color for highlighted nick (chat window)@* Type: color (Curses or Gtk color), default value: 'yellow'@* @item col_chat_bg Background for chat window@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_status Color for status bar@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_status_delimiters Color for status bar delimiters@* Type: color (Curses or Gtk color), default value: 'cyan'@* @item col_status_channel Color for current channel in status bar@* Type: color (Curses or Gtk color), default value: 'white'@* @item col_status_data_msg Color for window with new messages (status bar)@* Type: color (Curses or Gtk color), default value: 'yellow'@* @item col_status_private Color for window with private message (status bar)@* Type: color (Curses or Gtk color), default value: 'lightmagenta'@* @item col_status_highlight Color for window with highlight (status bar)@* Type: color (Curses or Gtk color), default value: 'lightred'@* @item col_status_data_other Color for window with new data (not messages) (status bar)@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_status_more Color for window with new data (status bar)@* Type: color (Curses or Gtk color), default value: 'white'@* @item col_status_bg Background for status window@* Type: color (Curses or Gtk color), default value: 'blue'@* @item col_infobar Color for info bar text@* Type: color (Curses or Gtk color), default value: 'black'@* @item col_infobar_delimiters Color for infobar delimiters@* Type: color (Curses or Gtk color), default value: 'blue'@* @item col_infobar_highlight Color for info bar highlight notification@* Type: color (Curses or Gtk color), default value: 'white'@* @item col_infobar_bg Background for info bar window@* Type: color (Curses or Gtk color), default value: 'cyan'@* @item col_input Color for input text@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_input_channel Color for input text (channel name)@* Type: color (Curses or Gtk color), default value: 'white'@* @item col_input_nick Color for input text (nick name)@* Type: color (Curses or Gtk color), default value: 'lightcyan'@* @item col_input_delimiters Color for input text (delimiters)@* Type: color (Curses or Gtk color), default value: 'lightgreen'@* @item col_input_bg Background for input window@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_nick Color for nicknames@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_nick_away Color for away nicknames@* Type: color (Curses or Gtk color), default value: 'cyan'@* @item col_nick_chanowner Color for chan owner symbol (specific to unrealircd)@* Type: color (Curses or Gtk color), default value: 'lightgreen'@* @item col_nick_chanadmin Color for chan admin symbol (specific to unrealircd)@* Type: color (Curses or Gtk color), default value: 'lightgreen'@* @item col_nick_op Color for operator symbol@* Type: color (Curses or Gtk color), default value: 'lightgreen'@* @item col_nick_halfop Color for half-operator symbol@* Type: color (Curses or Gtk color), default value: 'lightmagenta'@* @item col_nick_voice Color for voice symbol@* Type: color (Curses or Gtk color), default value: 'yellow'@* @item col_nick_more Color for '+' when scrolling nicks@* Type: color (Curses or Gtk color), default value: 'lightmagenta'@* @item col_nick_sep Color for nick separator@* Type: color (Curses or Gtk color), default value: 'blue'@* @item col_nick_self Color for local nick@* Type: color (Curses or Gtk color), default value: 'white'@* @item col_nick_color1 Color for nick@* Type: color (Curses or Gtk color), default value: 'cyan'@* @item col_nick_color2 Color for nick@* Type: color (Curses or Gtk color), default value: 'magenta'@* @item col_nick_color3 Color for nick@* Type: color (Curses or Gtk color), default value: 'green'@* @item col_nick_color4 Color for nick@* Type: color (Curses or Gtk color), default value: 'brown'@* @item col_nick_color5 Color for nick@* Type: color (Curses or Gtk color), default value: 'lightblue'@* @item col_nick_color6 Color for nick@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_nick_color7 Color for nick@* Type: color (Curses or Gtk color), default value: 'lightcyan'@* @item col_nick_color8 Color for nick@* Type: color (Curses or Gtk color), default value: 'lightmagenta'@* @item col_nick_color9 Color for nick@* Type: color (Curses or Gtk color), default value: 'lightgreen'@* @item col_nick_color10 Color for nick@* Type: color (Curses or Gtk color), default value: 'blue'@* @item col_nick_private Color for other nick in private window@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_nick_bg Background for nicknames@* Type: color (Curses or Gtk color), default value: 'default'@* @item col_chat_dcc_selected Color for selected DCC (chat window)@* Type: color (Curses or Gtk color), default value: 'white'@* @item col_dcc_waiting Color for "waiting" dcc status@* Type: color (Curses or Gtk color), default value: 'lightcyan'@* @item col_dcc_connecting Color for "connecting" dcc status@* Type: color (Curses or Gtk color), default value: 'yellow'@* @item col_dcc_active Color for "active" dcc status@* Type: color (Curses or Gtk color), default value: 'lightblue'@* @item col_dcc_done Color for "done" dcc status@* Type: color (Curses or Gtk color), default value: 'lightgreen'@* @item col_dcc_failed Color for "failed" dcc status@* Type: color (Curses or Gtk color), default value: 'lightred'@* @item col_dcc_aborted Color for "aborted" dcc status@* Type: color (Curses or Gtk color), default value: 'lightred'@* @item history_max_lines Maximum number of lines in history for one server/channel/private window (0 = unlimited)@* Type: integer (values: between 0 and 2147483647), default value: 4096@* @item history_max_commands Maximum number of user commands in history (0 = unlimited)@* Type: integer (values: between 0 and 2147483647), default value: 100@* @item log_auto_server Automatically log server messages@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item log_auto_channel Automatically log channel chats@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item log_auto_private Automatically log private chats@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item log_plugin_msg Log messages from plugins (scripts)@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item log_path Path for WeeChat log files@* Type: string (any string), default value: '~/.weechat/logs/'@* @item log_timestamp Timestamp for log (see man strftime for date/time specifiers)@* Type: string (any string), default value: '%Y %b %d %H:%M:%S'@* @item log_hide_nickserv_pwd Hide password displayed by nickserv@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item irc_display_away Display message to all channels when (un)marking as away@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item irc_default_msg_away Default message when away@* Type: string (any string), default value: 'away'@* @item irc_default_msg_part Default part message (leaving channel)@* Type: string (any string), default value: 'WeeChat %v'@* @item irc_default_msg_quit Default quit message ('%v' will be replaced by WeeChat version in string)@* Type: string (any string), default value: 'WeeChat %v'@* @item irc_notice_as_pv Display notices as private messages@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item irc_away_check Interval between two checks for away (in minutes, 0 = never check)@* Type: integer (values: between 0 and 2147483647), default value: 0@* @item irc_lag_check Interval between two checks for lag (in seconds)@* Type: integer (values: between 30 and 2147483647), default value: 60@* @item irc_lag_min_show Minimum lag to show (in seconds)@* Type: integer (values: between 0 and 2147483647), default value: 1@* @item irc_lag_disconnect Disconnect after important lag (in minutes, 0 = never disconnect)@* Type: integer (values: between 0 and 2147483647), default value: 5@* @item irc_fifo_pipe Create a FIFO pipe for remote control@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item irc_highlight Comma separated list of words to highlight (case insensitive comparison)@* Type: string (any string), default value: ''@* @item dcc_auto_accept_files Automatically accept incoming dcc files@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item dcc_auto_accept_chats Automatically accept dcc chats (use carefully!)@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item dcc_timeout Timeout for dcc request (in seconds)@* Type: integer (values: between 1 and 2147483647), default value: 300@* @item dcc_blocksize Block size for dcc packets in bytes (default: 65536)@* Type: integer (values: between 1024 and 102400), default value: 65536@* @item dcc_download_path Path for writing incoming files with dcc (default: user home)@* Type: string (any string), default value: '~'@* @item dcc_upload_path Path for reading files when sending thru dcc (when no path is specified)@* Type: string (any string), default value: '~'@* @item dcc_convert_spaces Convert spaces to underscores when sending files@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item dcc_auto_rename Rename incoming files if already exists (add '.1', '.2', ...)@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item dcc_auto_resume Automatically resume dcc transfer if connection with remote host is loosed@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item proxy_use Use a proxy server to connect to irc server@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item proxy_type Proxy type (http (default), socks4, socks5)@* Type: string (values: 'http', 'socks4', 'socks5'), default value: 'http'@* @item proxy_ipv6 Connect to proxy in ipv6@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item proxy_address Proxy server address (IP or hostname)@* Type: string (any string), default value: ''@* @item proxy_port Port for connecting to proxy server@* Type: integer (values: between 0 and 65535), default value: 3128@* @item proxy_username Username for proxy server@* Type: string (any string), default value: ''@* @item proxy_password Password for proxy server@* Type: string (any string), default value: ''@* @item plugins_path Path for searching plugins@* Type: string (any string), default value: '~/.weechat/plugins'@* @item plugins_autoload Comma separated list of plugins to load automatically at startup, "*" means all plugins found (names may be partial, for example "perl" is ok for "libperl.so")@* Type: string (any string), default value: '*'@* @item plugins_extension Standard plugins extension in filename, used for autoload (if empty, then all files are loaded when autoload is "*")@* Type: string (any string), default value: '.so'@* @item server_name Name associated to IRC server (for display only)@* Type: string (any string), default value: ''@* @item server_autoconnect Automatically connect to server when WeeChat is starting@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item server_autoreconnect Automatically reconnect to server when disconnected@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item server_autoreconnect_delay Delay (in seconds) before trying again to reconnect to server@* Type: integer (values: between 0 and 65535), default value: 30@* @item server_address IP address or hostname of IRC server@* Type: string (any string), default value: ''@* @item server_port Port for connecting to server@* Type: integer (values: between 0 and 65535), default value: 6667@* @item server_ipv6 Use IPv6 protocol for server communication@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item server_ssl Use SSL for server communication@* Type: boolean (values: 'on' or 'off'), default value: 'off'@* @item server_password Password for IRC server@* Type: string (any string), default value: ''@* @item server_nick1 Nickname to use on IRC server@* Type: string (any string), default value: ''@* @item server_nick2 Alternate nickname to use on IRC server (if nickname is already used)@* Type: string (any string), default value: ''@* @item server_nick3 2nd alternate nickname to use on IRC server (if alternate nickname is already used)@* Type: string (any string), default value: ''@* @item server_username User name to use on IRC server@* Type: string (any string), default value: ''@* @item server_realname Real name to use on IRC server@* Type: string (any string), default value: ''@* @item server_command First command to run when connected to server@* Type: string (any string), default value: ''@* @item server_command_delay Delay (in seconds) after command was executed (example: give some time for authentication)@* Type: integer (values: between 0 and 5), default value: 0@* @item server_autojoin Comma separated list of channels to join when connected to server (example: "#chan1,#chan2,#chan3 key1,key2")@* Type: string (any string), default value: ''@* @item server_autorejoin Automatically rejoin channels when kicked@* Type: boolean (values: 'on' or 'off'), default value: 'on'@* @item server_notify_levels Comma separated list of notify levels for channels of this server (format: #channel:1,..)@* Type: string (any string), default value: ''@* @end table Los colores para el interfaz Curses son:@* @itemize @minus @item @kbd{default}: color por defecto (con transparencia para el fondo) @item @kbd{black}: negro @item @kbd{red}: rojo oscuro @item @kbd{lightred}: rojo claro @item @kbd{green}: verde oscuro @item @kbd{lightgreen}: verde claro @item @kbd{brown}: marr@'on @item @kbd{yellow}: amarillo @item @kbd{blue}: azul oscuro @item @kbd{lightblue}: azul claro @item @kbd{magenta}: violeta oscuro @item @kbd{lightmagenta}: violeta claro @item @kbd{cyan}: cyan oscuro @item @kbd{lightcyan}: cyan claro @item @kbd{white}: blanco @end itemize @node Atajos de teclado, Comandos WeeChat, Ficheros de configuracion, Uso @section Atajos de teclado @table @kbd @item Flecha izquierda / Flecha derecha Ir a la letra anterior / siguiente en la l@'inea de comandos@* @* @item Ctrl + flecha izquierda / Ctrl + flecha derecha Ir a la palabra anterior / siguiente en la l@'inea de comandos@* @* @item Inicio / Ctrl + A Ir al inicio de la l@'inea de comandos@* @* @item Fin / Ctrl + E Ir al final de la l@'inea de comandos@* @* @item Ctrl + K Delete until end of line@* @* @item Ctrl + L Refrescar toda la ventana@* @* @item Ctrl + U Delete until beginning of line@* @* @item Ctrl + W Borrar la palabra anterior en la l@'inea de comandos@* @* @item Backspace / Supr Borrar el caracter anterior / siguiente en la l@'inea de comandos@* @* @item Tab Completar el comando o el seud@'onimo (@kbd{Tab} de nuevo: encontrar la pr@'oxima autocompletaci@'on)@* @* @item Cualquier caracter A@~nadir la letra en la posici@'on del cursor en la l@'inea de comandos@* @* @item Entrar Ejecutar la l@'inea de comandos o enviar el mensaje@* @* @item Flecha de arriba / Flecha de abajo Mostrar los @'ultimos comandos/mensajes@* @* @item Ctrl + up arrow / Ctrl + down arrow Call again last commands/messages in global history@* @* @item PageUp / PageDown Obtener el hist@'orico de la memoria temporal (buffer)@* @* @item F5 / F6 Ir a la memoria temporal anterior / siguiente@* @* @item F7 / F8 Ir a la ventana anterior / siguiente@* @* @item F10 Borrar el @'ultimo mensaje en la barra de informaciones@* @* @item F11 / F12 Scroll nicklist@* @* @item Alt + flecha izquierda / Alt + flecha derecha Como F5 / F6@* @* @item Alt + A Ir a la memoria temporal donde hay actividad (con el orden de prioridad siguiente: resaltado, mensaje, otros)@* @* @item Alt + B Go to previous word@* @* @item Alt + D Delete next word@* @* @item Alt + F Go to next word@* @* @item Alt + H Borrar la 'hotlist' (notificaci@'on de actividad en otras memorias temporales)@* @* @item Alt + J then Alt + D Obtener la lista de DCC actual@* @* @item Alt + J then Alt + L Switch to last buffer@* @* @item Alt + J then Alt + S Ir a la memoria temporal del servidor@* @* @item Alt + J then Alt + X Ir al primer canal del servidor siguiente (o a la memoria temporal del servidor si ning@'un canal est@'a abierto)@* @* @item Alt + (1-9) Saltar a la memoria temporal con ese n@'umero@* @* @item Alt + J then number (01-99) Saltar a la memoria temporal con ese n@'umero@* @* @item Alt + K Grab a key @* @item Alt + R Delete entire line@* @* @item Alt + PageUp / Alt + PageDown / Alt + Home / Alt + End Scroll nicklist@* @* @end table @node Comandos WeeChat, Canal FIFO, Atajos de teclado, Uso @section Comandos WeeChat Comandos internos WeeChat:@* @table @kbd @item alias [nombre_alias [comando [argumentos]] @* crear un alias para un comando@* @* nombre_alias: nombre del seud@'onimo@* comando: nombre del comando (comando WeeChat @'o IRC, sin el primer '/')@* argumentos: par@'ametros para el comando@* @* @item buffer [acci@'on | número] @* gestionar los búfers@* @* acci@'on: acci@'on a efectuar:@* move: desplaza el búfer en la lista (puede ser relativo, por ejemplo, -1)@* close: cierra el búfer (para un canal equivale a /part sin el mensaje de fin)@* list: lista los búfers abiertos (si no hay par@'ametros se supone esta lista)@* notify: fija el nivel de notificaci@'on (0=nunca, 1=highlight, 2=1+msg, 3=2+join/part)@* número: saltar al búfer por número@* @* @item clear [-all] @* limpiar la(s) ventana(s)@* @* -all: limpiar todas las ventanas@* @* @item connect [nombre_del_servidor] @* conectarse a un servidor@* @* nombre_del_servidor: nombre del servidor al que conectarse@* @* @item disconnect [nombre_del_servidor] @* desconectarse de un servidor@* @* nombre_del_servidor: nombre del servidor del que desconectarse@* @* @item debug dump @* imprime mensajes de depuraci@'on@* @* volcado: almacena un volcado de memoria en el archivo de registro de Weechat (se escribe el mismo volcado cuando Weechat se cuelga)@* @* @item help [comando] @* mostrar ayuda sobre los comandos@* @* comando: nombre de un comando de Weechat @'o de IRC@* @* @item ignore [mask [[type | command] [channel [server]]]] @* ignore IRC messages and/or hosts@* @* mask: nick or host mask to ignore@* type: type of message to ignore (action, ctcp, dcc, pv)@* command: IRC command@* channel: name of channel for ignore@* server: name of server for ignore@* @* For each argument, '*' means all.@* Without argument, /ignore command lists all defined ignore.@* @* @item key [clave funci@'on/comando] [desatar clave] [funciones] [reset -yes] @* atar/desatar claves@* @* clave: ata esta clave a una funci@'on interna o a un comando (comenzando por "/ ")@* desatar: desata una clave(si "all", se restauran los anclajes por defecto)@* funciones: lista funciones internas para el anclaje de claves@* reset: restaura anclajes a los valores por defecto y elimina todos los anclajes personales (usar cuidadosamente)@* @* @item plugin [load fichero] | [autoload] | [reload] | [unload] @* list/load/unload plugins@* @* filename: WeeChat plugin (file) to load@* @* Without argument, /plugin command lists all loaded plugins.@* @* @item server [nombre_de_servidor] | [nombre_de_servidor nombre/IP puerto [-auto | -noauto] [-ipv6] [-ssl] [-pwd contrase@~na] [-nicks alias1 alias2 alias3] [-username nombre de usuario] [-realname nombre_real] [-command comando] [-autojoin canal[,canal]] ] | [del nombre_de_servidor] @* lista, a@~nade o elimina servidores@* @* nombre_de_servidor: nombre del servidor, para uso interno y para mostrar@* nombre_de_anfitri@'on: nombre o direcci@'on IP del servidor@* puerto: puerto para el servidor (número entero)@* ipv6: utilizar protocolo IPv6@* ssl: utilizar protocolo SSL@* contrase@~na: contrase@~na para el servidor@* alias1: primer alias para el servidor@* alias2: alias alternativo para el servidor@* alias3: segundo alias alternativo para el servidor@* nombre_de_usuario: nombre de usuario@* nombre_real: nombre real del usuario@* @* @item save [archivo] @* guardar configuraci@'on a disco@* @* archivo: fichero en el que guardar la configuraci@'on@* @* @item set [opci@'on [ = valor]] @* modificar par@'ametros de configuraci@'on@* @* option: name of an option (if name is full and no value is given, then help is displayed on option)@* value: value for option@* @* @item unalias alias @* eliminar un alias@* @* alias: nombre del alias a suprimir@* @* @item unignore [number | [mask [[type | command] [channel [server]]]]] @* unignore IRC messages and/or hosts@* @* number: # of ignore to unignore (number is displayed by list of ignore)@* mask: nick or host mask to unignore@* type: type of message to unignore (action, ctcp, dcc, pv)@* command: IRC command@* channel: name of channel for unignore@* server: name of server for unignore@* @* For each argument, '*' means all.@* Without argument, /unignore command lists all defined ignore.@* @* @item window [list | splith | splitv | [merge [down | up | left | right | all]]] @* gesti@'on de ventanas@* @* list: lista las ventanas abiertas (si no hay par@'ametros, significa esta lista)@* splith: dividir la ventana actual horizontalmente@* splitv: dividir la ventana actual verticalmente@* merge: fusionar una ventana con otra@* @* @end table Comandos IRC:@* @table @kbd @item admin [target] @* encontrar informaci@'on sobre el administrador del servidor@* @* target: servidor objetivo@* @* @item ame mensaje @* send a CTCP action to all channels of all connected servers@* @* mensaje: mensaje a enviar@* @* @item amsg texto @* send message to all channels of all connected servers@* @* texto: texto a enviar@* @* @item away [-all] [mensaje] @* revertir el estado ausente@* @* -all: revertir el estado ausente en todos los servidores conectados@* mensaje: mensaje para el estado ausente (si no se da ningún mensaje, se elimina el estado ausente)@* @* @item ban [canal] [usariio [usuario ...]] @* banea usuarios o m@'aquinas@* @* canal: canal en el que banear@* usuario: nombre de usuario o m@'aquina a banear@* @* @item ctcp nickname type [arguments] @* send a CTCP message (Client-To-Client Protocol)@* @* nickname: user to send CTCP to@* type: CTCP type (examples: "version", "ping", ..)@* arguments: arguments for CTCP@* @* @item dcc acci@'on [usuario [fichero]] @* empieza DCC (archivo @'o charla) @'o cerrar charla@* @* acci@'on: 'send' (env@'io de archivo) @'o 'chat' (charla) @'o 'close' (cerrar charla)@* usuario: nombre de usuario a quien enviar el archivo o la charla@* fichero: nombre del fichero (en la m@'aquina local)@* @* @item dehalfop [pseudo [pseudo]] @* elimina el estado de media operador de canal a/a los usuario(s)@* @* @item deop [pseudo [pseudo]] @* elimina el estado de operador de canal a/a los usuario(s)@* @* @item devoice [pseudo [pseudo]] @* elimina la voz a/a los usuario(s)@* @* @item die @* cerrar el servidor@* @* @item halfop [pseudo [pseudo]] @* dar el estado de media operador de canal a/a los usuario(s)@* @* @item info [target] @* obtener informaci@'on describiendo al servidor@* @* objetivo: nombre del servidor@* @* @item invite usuario canal @* invitar a un usuario a un canal@* @* nickname: usuario a invitar@* channel: canal para la invitaci@'on@* @* @item ison usuario [usuario ...] @* comprobar si un usuario est@'a actualmente en el IRC@* @* usuario: usuario@* @* @item join canal[,canal] [clave[,clave]] @* unirse a un canal@* @* canal: nombre del canal al que unirse@* clave: clave para unirse al canal@* @* @item kick [canal] usuario [comentario] @* expulsar forzosamente a un usuario de un canal@* @* canal: canal en el que est@'a el usuario@* usuario: usuario a expulsar@* comentario: comentario para la expulsi@'on@* @* @item kickban [canal] usuario [comentario] @* expulsa y banea a un usuario de un canal@* @* canal: canal donde est@'a el usuario@* usuario: nombre de usuario a expulsar y banear@* comentario: comentario para la expulsi@'on@* @* @item kill usuario comentario @* cerrar la conexi@'on cliente-servidor@* @* usuario: usuario@* comentario: comentario para la muerte@* @* @item links [[servidor] m@'ascara_servidor] @* listar todos los nombres de servidor conocidos por el servidor que responde a la consulta@* @* servidor: este servidor deber@'ia responder a la consulta@* m@'ascara_servidor: listado de servidores que deben coincidir con esta m@'ascara@* @* @item list [canal[,canal] [servidor]] @* listar canales y sus temas@* @* canal: canal a listar@* servidor: nombre del servidor@* @* @item lusers [m@'ascara [objetivo]] @* obtener estad@'isticas sobre el tama@~no de la red IRC@* @* m@'ascara: servidores que coinciden s@'olo con la m@'ascara@* objetivo: servidor al que remitir la consulta@* @* @item me mensaje @* enviar una acci@'on CTCP al canal actual@* @* mensaje: mensaje a enviar@* @* @item mode @{ canal @{[+|-]|o|p|s|i|t|n|b|v@} [limitar] [usuario] [m@'ascara de baneo] @} | @{ usuario @{[+|-]|i|w|s|o@} @} @* cambiar modo del canal o del usuario@* @* channel modes:@* channel: channel name to modify@* o: give/take channel operator privileges@* p: private channel flag@* s: secret channel flag@* i: invite-only channel flag@* t: topic settable by channel operator only flag@* n: no messages to channel from clients on the outside@* m: moderated channel@* l: set the user limit to channel@* b: set a ban mask to keep users out@* e: set exception mask@* v: give/take the ability to speak on a moderated channel@* k: set a channel key (password)@* user modes:@* nickname: nickname to modify@* i: mark a user as invisible@* s: mark a user for receive server notices@* w: user receives wallops@* o: operator flag@* @* @item motd [target] @* obtener el mensaje del d@'ia@* @* objetivo: nombre del servidor@* @* @item msg destinatario[,destinatario] texto @* enviar un mensaje a un usuario o canal@* @* destinatario: usuario o canal (puede que sea una m@'ascara, '*' = canal actual)@* texto: texto a enviar@* @* @item names [canal[,canal]] @* listar usuarios en canales@* @* canal: nombre del canal@* @* @item nick [-all] usuarios @* cambiar el nombre de usuario actual@* @* -all: establece el nuevo nombre de usuario para todos los servidores conectados@* nickname: nuevo nombre de usuario@* @* @item notice usuario texto @* enviar mensaje de aviso a usuario@* @* usuario: usuario destinatario del aviso@* texto: texto a enviar@* @* @item op pseudo [pseudo] @* dar el estado de operador de canal a/a los usuario(s)@* @* @item oper contrase@~na de usuario @* obtener el estado de operador@* @* usuario/contrase@~na: usado para obtener los privilegios en el servidor IRC actual@* @* @item part [canal[,canal]] [mensaje_de_salida] @* abandonar un canal@* @* canal: canal a abandonar@* mensaje de salida: mensaje de partida (mostrado al resto de usuarios)@* @* @item ping servidor1 [servidor2] @* hacer ping a un servidor@* @* servidor1: servidor al que hacer ping@* servidor2: remitir el ping a este servidor@* @* @item pong demonio [demonio2] @* contestar a un mensaje de ping@* @* demonio: demonio que ha contestado al mensaje Ping@* d@'emon2: remitir el mensaje a este demonio@* @* @item query usuario [texto] @* enviar un mensaje privado a un usuario@* @* usuario: usuario para conversaci@'on privada@* texto: texto a enviar@* @* @item quit [mensaje_de_salida] @* cerrar todas las conexiones y salir@* @* mensaje_de_salida: mensaje de partida (mostrado al resto de usuarios)@* @* @item quote datos @* enviar datos en sucio al servidor sin analizar@* @* datos: datos en sucio a enviar@* @* @item rehash @* pedir al servidor que recarque su archivo de configuraci@'on@* @* @item restart @* pedir al servidor que se reinicie@* @* @item service usuario reservado distribuci@'on tipo reservado info @* registrar un nuevo servicio@* @* distribuci@'on: visibilidad del servicio@* tipo: reservado para una futura utilizaci@'on@* @* @item servlist [m@'ascara [tipo]] @* listar servicios conectados actualmente a la red@* @* m@'ascara: listar s@'olo aquellos servicios que concuerdan con esta m@'ascara@* tipo: listar s@'olo servicios de este tipo@* @* @item squery servicio texto @* enviar un mensaje a un servicio@* @* servicio: nombre del servicio@* texto: texto a enviar@* @* @item squit comentario de servidor @* desconectar los enlaces de servidor@* @* servidor: nombre del servidor@* comentario: comentario para salir@* @* @item stats [consulta [servidor]] @* pedir estad@'isticas sobre el servidor@* @* consulta: c/h/i/k/l/m/o/y/u (ver la RFC1459)@* servidor: nombre del servidor@* @* @item summon usuario [destinatario [canal]] @* enviar a los usuarios que est@'an en una m@'aquina local ejecutando un servidor IRC un mensaje pidi@'endoles que se unan al IRC@* @* usuario: nombre de usuario@* destinatario: nombre del servidor@* canal: nombre del canal@* @* @item time [target] @* pedir la hora local del servidor@* @* destinatario: pedir la hora de ese servidor@* @* @item topic [canal] [tema] @* obtener/establecer el tema de un canal@* @* canal: nombre del canal@* tema: nuevo tema para el canal (si el tema es "-delete" entonces se elimina el tema actual)@* @* @item trace [target] @* encontrar la ruta hacia el servidor especificado@* @* target: servidor objetivo@* @* @item unban [canal] usuario [usuario ...] @* desbanea usuarios o m@'aquinas@* @* canal: canal en el que desbanear (quitar la prohibici@'on)@* usuario: usuario o m@'aquina a desbanear@* @* @item userhost usuario [usuario ...] @* devuelve una lista de informaci@'on sobre usuarios@* @* usuario: usuario@* @* @item users [target] @* lista de usuarios conectados al servidor@* @* target: servidor objetivo@* @* @item version [servidor | usuario] @* da la informaci@'on de versi@'on del usuario o servidor (actual o especificado)@* @* servidor: nombre de servidor@* usuario: usuario@* @* @item voice [pseudo [pseudo]] @* da voz a/a los usuario(s)@* @* @item wallops texto @* enviar un mensaje a todos los usuarios conectados que tengan activo el modo de usuario w para ellos mismos@* @* texto a enviar@* @* @item who [m@'ascara ["o"]] @* genera una consulta que devuelve una lista de informaci@'on@* @* m@'ascara: s@'olo informaci@'on que concuerde con esta m@'ascara@* o: s@'olo son devueltos operadores de acuerdo con la m@'ascara proporcionada@* @* @item whois [servidor] usuario[,usuario] @* pedir informaci@'on sobre el/los usuario(s)@* @* servidor: nombre del servidor@* usuario: nombre de usuario (puede que sea una m@'ascara)@* @* @item whowas usuario [,usuario [,usuario ...]] [número [destinatario]] @* pedir informaci@'on sobre un usuario que ya no existe@* @* usuario: nombre de usuario a buscar@* número: número de respuestas a devolver (búsqueda completa si el número es negativo)@* destinatario: la respuesta deber@'ia concordar con esta m@'ascara@* @* @end table Internal functions for keys:@* @table @kbd @item return terminar l@'inea@* @item tab completar palabra@* @item backspace borrar el car@'acter anterior@* @item delete borrar el car@'acter siguiente@* @item delete_end_line borrar hasta fin de l@'inea@* @item delete_beginning_line borrar hasta principio de l@'inea@* @item delete_line borrar l@'inea entera@* @item delete_previous_word borrar la palabra anterior@* @item delete_next_word borrar la palabra siguiente@* @item clipboard_paste paste current clipboard content@* @item transpose_chars transpose chars@* @item home ir al principio de l@'inea@* @item end ir al final de l@'inea@* @item left mover un car@'acter a la izquierda@* @item previous_word mover a la palabra anterior@* @item right mover un car@'acter a la derecha@* @item next_word mover a la palabra siguiente@* @item up llamar al comando anterior en el historial@* @item up_global call previous command in global history@* @item down llamar al comando siguiente en el historial@* @item down_global call next command in global history@* @item page_up desplazarse una p@'agina hacia arriba@* @item page_down desplazarse una p@'agina hacia abajo@* @item infobar_clear limpiar barra de informaci@'on@* @item nick_page_up desplazar la lista de nicks una p@'agina hacia arriba@* @item nick_page_down desplazar la lista de nicks una p@'agina hacia abajo@* @item nick_beginning mostrar el principio de la lista de nicks@* @item nick_end mostrar el final de la lista de nicks@* @item refresh recargar la pantalla@* @item jump_smart saltar al búfer con actividad@* @item jump_dcc saltar al búfer DCC@* @item jump_last_buffer jump to last buffer@* @item jump_server saltar al búfer servidor@* @item jump_next_server saltar al servidor siguiente@* @item hotlist_clear limpiar hotlist@* @item grab_key grab a key@* @end table @node Canal FIFO, , Comandos WeeChat, Uso @section Canal FIFO Puedes controlar WeeChat a distantia, enviando comandos o texto a un canal FIFO (debes activar la opci@'on "irc_fifo_pipe" que est@'a desactivada por defecto).@* El canal FIFO est@'a dentro del directorio ~/.weechat/ y se llama "weechat_fifo_xxxxx" (donde xxxxx es el ID del proceso (PID) de WeeChat).@* Entonces si tienes varios WeeChat que se est@'an ejecutando, tendr@'as varios canales FIFO, uno por cada sesi@'on.@* @* La sintaxis para enviar comandos o texto dentro del canal FIFO es la siguiente:@* @command{servidor,canal *texto o comando aqu@'i}@* donde el serviros y el canal son opcionales pero si precisa el canal, debes precisar tambi@'en el servidor.@* @* Algunos ejemplos: @table @asis @item @bullet{} cambiar el seud@'onimo en freenode por "mynick|out": @* @command{echo "freenode */nick mynick|out" >~/.weechat/weechat_fifo_12345} @* @item @bullet{} escribir texto en el canal #weechat: @* @command{echo "freenode,#weechat *@exclamdown{}Hola a todos!" >~/.weechat/weechat_fifo_12345} @* @item @bullet{} escribir texto en el canal corriente (el que se puede visualizar en WeeChat actualmente) @* @command{echo "*@exclamdown{}Hola!" >~/.weechat/weechat_fifo_12345} @* @b{Advertencia:} esto es peligroso y no deber@'ias hacerlo.. salvo si lo que est@'as haciendo. @* @item @bullet{} enviar dos comandos para descargar y recargar los scripts Perl (tienes que separarlos con un \n): @* @command{echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345} @end table @* Puedes escribir un script que envia los comandos a todos los programas WeeChat que se est@'an ejecutando de momento. Por ejemplo:@* @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 el script se llama "auto_weechat_command", puedes ejecutarlo hac@'i:@* @command{./auto_weechat_command "freenode,#weechat *Hola"} @c ******************************** Plugins *********************************** @node Plugins, Autores / Soporte, Uso, Top @chapter Plugins @menu * Plugins in WeeChat:: * Write a plugin:: * Plugin example:: * Scripts plugins:: @end menu @node Plugins in WeeChat, Write a plugin, Plugins, Plugins @section Plugins in WeeChat A plugin is a C program which can call WeeChat functions defined in an interface.@* @* This C program does not need WeeChat sources to compile and can be dynamically loaded into WeeChat with command @command{/plugin}.@* @* The plugin has to be a dynamic library, for dynamic loading by operating system. Under GNU/Linux, the file has ``.so'' extension. @node Write a plugin, Plugin example, Plugins in WeeChat, Plugins @section Write a plugin @subsection Base rules The plugin should include ``weechat-plugin.h'' file (available in WeeChat source code).@* This file defines structures and types used to communicate with WeeChat.@* @* The plugin must have some variables and functions (mandatory, without them the plugin can't load):@* @itemize @bullet @item variables for plugin description: @itemize @minus @item plugin_name[]: plugin name @item plugin_version[]: plugin version @item plugin_description[]: short description of plugin @end itemize @item functions for init and end of plugin: @itemize @minus @item weechat_plugin_init: function called when plugin is loaded @item weechat_plugin_end: function called when plugin is unloaded @end itemize @end itemize @subsection API functions The plugin can call some functions defined in t_weechat_plugin structure.@* These functions are detailed below: @itemize @bullet @item @command{int ascii_strcasecmp (t_weechat_plugin *plugin, char *string1, char *string2)}@* @* locale and case independent string comparison.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{string1}: first string for comparison @item @option{string2}: second string for comparison @end itemize @* @emph{Return value:}@* @* Difference between two strings: negative if chaine1 < chaine2, nul if chaine1 == chaine 2, positive if chaine1 > chaine2@* @* @emph{Example:}@* @* @code{if (plugin->ascii_strcasecmp (plugin, "abc", "def") != 0) ...}@* @* @item @command{char **explode_string (t_weechat_plugin *plugin, char *string, char *separators, int num_items_max, int *num_items)}@* @* Explode a string according to one or more delimiter(s).@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{string}: string to explode @item @option{separators}: delimiters used for explosion @item @option{num_items_max}: maximum number of items created (0 means no limit) @item @option{num_items}: pointer to int which will contain number of items created @end itemize @* @emph{Return value:}@* @* Array of strings, NULL if problem.@* Note: the result has to be free by a call to ``free_exploded_string'' function after use.@* @* @emph{Example:}@* @* @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)}@* @* Free memory used by a string explosion.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{string}: string exploded by ``explode_string'' function @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @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 *))}@* @* Execute a function on all files of a directory.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{directory}: directory for searching files @item @option{callback}: function called for each file found @end itemize @* @emph{Return value:}@* @* Aucune.@* @* @emph{Exemple :}@* @* @code{int callback (t_weechat_plugin *plugin, char *file)}@* @code{@{}@* @code{@ @ @ @ plugin->printf_server (plugin, "file: %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, ...)}@* @* Display a message on a WeeChat buffer, identified by server and channel (both may be NULL).@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{server}: name of server to find buffer for message display (may be NULL) @item @option{channel}: name of channel to find buffer for message display (may be NULL) @item @option{message}: message @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Examples:}@* @* @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, ...)}@* @* Display a message on server buffer.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{message}: message @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{plugin->printf_server ("hello");}@* @* @item @command{void printf_infobar (t_weechat_plugin *plugin, int time, char *message, ...)}@* @* Display a message in infobar for a specified time.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{time}: time in seconds for displaying message (0 means never erased) @item @option{message}: message @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{plugin->printf_infobar (5, "hello");}@* @* @item @command{t_plugin_msg_handler *msg_handler_add (t_weechat_plugin *plugin, char *message, t_plugin_handler_func *handler_func, char *handler_args, void *handler_pointer)}@* @* Add an IRC message handler, called when an IRC message is received.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{message}: IRC message (for example: ``PRIVMSG'') @item @option{handler_func}: function called when message is received @item @option{handler_args}: arguments given to function when called @item @option{handler_pointer}: pointer given to function when called @end itemize @* @emph{Return value:}@* @* Pointer to new message handler.@* @* @emph{Example:}@* @* @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 received");}@* @code{@}}@* @code{...}@* @code{plugin->msg_handler_add (plugin, "KICK", &msg_kick, NULL, NULL);}@* @* @item @command{void msg_handler_remove (t_weechat_plugin *plugin, t_plugin_msg_handler *msg_handler)}@* @* Remove an IRC message handler.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{msg_handler}: handler to remove @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{plugin->msg_handler_remove (plugin, my_msg_handler);}@* @* @item @command{void msg_handler_remove_all (t_weechat_plugin *plugin)}@* @* Remove all IRC message handlers for a plugin.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{plugin->msg_handler_remove_all (plugin);}@* @* @item @command{t_plugin_cmd_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)}@* @* Add a WeeChat command handler, called when user uses command (for example /command).@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{commande}: the new command @item @option{description}: command description (displayed by /help command) @item @option{arguments}: short description of command arguments (displayed by /help command) @item @option{arguments_description}: long description of command arguments (displayed by /help command) @item @option{handler_func}: function called when comand is executed @item @option{handler_args}: arguments given to function when called @item @option{handler_pointer}: pointer given to function when called @end itemize @* @emph{Return value:}@* @* Pointer to new command handler.@* @* @emph{Example:}@* @* @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, "test command, file: %s", (arguments) ? arguments : "none");}@* @code{@}}@* @code{...}@* @code{plugin->cmd_handler_add (plugin, "test", "Test command", "[file]", "file: a file name", &cmd_test, NULL, NULL);}@* @* @item @command{void cmd_handler_remove (t_weechat_plugin *plugin, t_plugin_cmd_handler *cmd_handler)}@* @* Remove a command handler.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{cmd_handler}: command handler to remove @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{plugin->cmd_handler_remove (plugin, my_cmd_handler);}@* @* @item @command{void cmd_handler_remove_all (t_weechat_plugin *plugin)}@* @* Remove all command handlers for a plugin.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example :}@* @* @code{plugin->cmd_handler_remove_all (plugin);}@* @* @item @command{void exec_command (t_weechat_plugin *plugin, char *server, char *channel, char *command)}@* @* Execute a WeeChat command (or send a message to a channel).@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{server}: name of server for executing command (may be NULL) @item @option{channel}: name of channel for executing command (may be NULL) @item @option{command}: command @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Examples:}@* @* @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)}@* @* Return an info about WeeChat or a channel.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{info}: name of info to read: @itemize @minus @item @option{version}: get WeeChat's version @item @option{nick}: get nick @item @option{channel}: get channel name @item @option{server}: get server name @item @option{away}: get ``away'' flag @item @option{weechat_dir}: get WeeChat home dir @item @option{weechat_libdir}: get WeeChat system lib dir @item @option{weechat_sharedir}: get WeeChat system share dir @end itemize @item @option{server}: name of server for reading info (if needed) @item @option{channel}: name of channel for reading info (if needed) @end itemize @* @emph{Return value:}@* @* Information asked, NULL if not found.@* Note: result has to be free by a call to ``free'' function after use.@* @* @emph{Examples:}@* @* @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)}@* @* Returns list of DCC currently active or finished.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @end itemize @* @emph{Return value:}@* @* Chained list of DCC.@* Note: result has to be free by a call to ``free_dcc_info'' function after use.@* @* @emph{Example:}@* @* @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, with: %s", ptr_dcc->type, ptr_dcc->nick);}@* @code{@}}@* @* @item @command{void free_dcc_info (t_weechat_plugin *plugin, t_plugin_dcc_info *dcc_info)}@* @* Free memory used by a DCC list.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{dcc_info}: pointer to DCC list returned by ``get_dcc_info'' function @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{plugin->free_dcc_info (plugin, dcc_info);}@* @* @item @command{char *get_config (t_weechat_plugin *plugin, char *option)}@* @* Return value of a WeeChat config option.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{option}: name of option to read @end itemize @* @emph{Return value:}@* @* Value of option, NULL if not found.@* Note: result has to be free by a call to ``free'' function after use.@* @* @emph{Examples:}@* @* @code{char *value1 = plugin->get_config (plugin, "look_set_title");}@* @code{char *value2 = plugin->get_config (plugin, "freenode.server_autojoin");}@* @* @end itemize @subsection Compile plugin Compile does not need WeeChat sources, only file ``weechat-plugin.h''.@* To compile a plugin which has one file ``toto.c'' (sous GNU/Linux):@* @* gcc -fPIC -Wall -c toto.c@* gcc -shared -fPIC -o libtoto.so toto.o @subsection Load plugin under WeeChat Copy ``libtoto.so'' file into general plugins dir (for example /usr/local/lib/weechat/plugins) or into user's plugins dir (for example /home/xxxxx/.weechat/plugins).@* @* Under WeeChat:@* @command{/plugin load toto} @node Plugin example, Scripts plugins, Write a plugin, Plugins @section Plugin example Full example of plugin, which adds a /double command, which displays two times arguments on current channel (ok that's not very useful, but that's just an example!): @verbatim #include #include "weechat-plugin.h" char plugin_name[] = "Toto"; char plugin_version[] = "0.1"; char plugin_description[] = "Test plugin for 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", "Display two times a message", "msg", "msg: message", &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 Scripts plugins, , Plugin example, Plugins @section Scripts plugins Three plugins are provided with WeeChat to load scripts: Perl, Python and Ruby. @subsection Perl scripts @subsubsection Cargar/descargar programas Perl Los programas Perl se cargan y descargan con el comando @command{/perl} (escribiendo @kbd{/help perl} en WeeChat para obtener la ayuda acerca del comando).@* @emph{Ejemplos:}@* @itemize @bullet @item Cargar un programa Perl: @kbd{/perl load /tmp/ejemplo.pl}@* @item Descargar todos los programas Perl: @kbd{/perl unload}@* @item Listar los programas Perl cargados: @kbd{/perl}@* @end itemize @subsubsection Interfaz WeeChat / Perl @itemize @bullet @item @command{weechat::register ( nombre, versi@'on, funci@'on_final, descripci@'on );}@* @* Es la primera funci@'on a la que llamar en el programa Perl.@* Todos los programas en Perl para WeeChat deben llamar esta funci@'on.@* @emph{Par@'ametros:} @itemize @minus @item @option{nombre}: nombre @'unico para identificar el programa (cada programa debe tener un nombre distinto) @item @option{versi@'on}: versi@'on del programa @item @option{funci@'on_final}: funci@'on Perl llamada cuando el programa finaliza (par@'ametro facultativo, una cadena llena significa que no hay ninguna funci@'on que llamar) @item @option{descripci@'on}: descripci@'on breve del programa @end itemize @* @emph{Ejemplo:}@* @* @code{weechat::register ("ejemplo", "1.0", "fin_ejemplo", "programa de ejemplo...");}@* @* @item @command{weechat::print ( mensaje, [canal, [servidor]] );}@* @* Escribe un mensaje en un canal.@* @emph{Par@'ametros:} @itemize @minus @item @option{mensaje}: mensaje a escribir @item @option{canal}: nombre del canal @item @option{servidor}: (opcional) nombre interno del servidor @end itemize @* @emph{Ejemplos:}@* @* @code{weechat::print ("mensaje");}@* @code{weechat::print ("mensaje", "#weechat");}@* @code{weechat::print ("mensaje", "#weechat", "freenode");}@* @* @item @command{weechat::print_infobar ( retraso, mensaje );}@* @* Escribir un mensaje en la barra de informaciones.@* @emph{Par@'ametros:} @itemize @minus @item @option{plazo}: periodo en segundo durante el cual se mostrar@'a el mensaje (si es 0, el mensaje no se borrar@'a). @item @option{message}: mensaje que se escribir@'a en la barra de informaciones. @end itemize @* @emph{Ejemplo:}@* @* @code{weechat::print_infobar (5, "mensaje");}@* @* @item @command{weechat::add_message_handler ( nombre, funci@'on );}@* @* Adjunta una funci@'on Perl a un mensaje IRC.@* Se llamar@'a a la funci@'on cada vez que el mensaje IRC se reciba.@* @emph{Par@'ametros:} @itemize @minus @item @option{nombre}: nombre del mensaje IRC que producir@'a la llamada a la funci@'on.@* Para saber qu@'e tipo de mensajes IRC existen puede leer las RFC 1459 y/o 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{funci@'on}: funci@'on en Perl llamada cuando se reciba el mensaje. @end itemize @* @emph{Ejemplo:}@* @* @code{weechat::add_message_handler ("privmsg", mi_funcion);}@* @code{sub mi_funcion}@* @code{@{ }@* @code{@ @ @ @ weechat::print ("serveur=$_[0]\n");}@* @code{@ @ @ @ ($null, $canal, $mensaje) = split ":",$_[1],3;}@* @code{@ @ @ @ ($mascara, $null, $canal) = split " ", $canal;}@* @code{@ @ @ @ weechat::print ("masc=$mascara, canal=$canal, msj=$mensaje\n");}@* @code{@} }@* @* @item @command{weechat::add_command_handler ( nombre, funci@'on );}@* @* A@~nadir un nuevo comando WeeChat, con un enlace a una funci@'on en Perl.@* Se llamar@'a a la funci@'on cuando el usuario lance el comando con @kbd{/nombre}.@* @emph{Par@'ametros:} @itemize @minus @item @option{nombre}: nombre del nuevo comando@* Puede ser un comando que ya existe, y en este caso el nuevo comando sustituir@'a el antiguo. Ten cuidado cuando sustituyas a un comando de WeeChat, no podr@'a acceder al antiguo comando si el script Perl est@'a cargado. @item @option{funcion}: funci@'on Perl assiciada al comando. @item @option{description}: command description (displayed by /help command) @item @option{arguments}: short description of command arguments (displayed by /help command) @item @option{arguments_description}: long description of command arguments (displayed by /help command) @end itemize @* @emph{Ejemplo:}@* @* @code{weechat::add_command_handler ("comando", mi_comando);}@* @code{sub mi_comando}@* @code{@{ }@* @code{@ @ @ @ weechat::print("Servidor: $_[0], Par@'ametros: $_[1]\n");}@* @code{@ @ @ @ return 0;}@* @code{@} }@* @* @item @command{weechat::command ( command, [channel, [server]] );}@* @* Execute a command or send a message to a channel.@* @emph{Arguments:} @itemize @minus @item @option{command}: command to execute (or message to send in a channel) @item @option{channel}: name of channel @item @option{server}: internal name of server @end itemize @* @emph{Examples:}@* @* @code{weechat::command ("hello world!");}@* @code{weechat::command ("/kick toto please leave this chan", "#weechat");}@* @code{weechat::command ("/nick newnick", "", "freenode");}@* @* @item @command{weechat::get_info ( nombre, [servidor] );}@* @* Obtener informaciones distintas sobre WeeChat, el servidor o el usuario.@* @emph{Par@'ametros:} @itemize @minus @item @option{nombre}: nombre de la informaci@'on que se quiere obtener: @itemize @minus @item @option{version}: obtener la versi@'on de WeeChat @item @option{nick}: obtener el seud@'onimo @item @option{channel}: obtener el nombre del canal @item @option{server}: obtener el nombre del servidor @item @option{away}: get ``away'' flag @item @option{weechat_dir}: get WeeChat home dir @item @option{weechat_libdir}: get WeeChat system lib dir @item @option{weechat_sharedir}: get WeeChat system share dir @end itemize @item @option{servidor}: nombre interno del servidor @end itemize @* @emph{Ejemplos:}@* @* @code{$version = weechat::get_info("version");}@* @code{$nick = weechat::get_info("nick", "freenode");}@* @* @item @command{weechat::get_dcc_info ( );}@* @* Get DCC list.@* Returned array has following fields: @itemize @minus @item server: IRC server @item channel: IRC channel @item type: DCC type: @itemize @minus @item 0: chat (received) @item 1: chat (sent) @item 2: file (receiving) @item 3: file (sending) @end itemize @item status: DCC status: @itemize @minus @item 0: waiting @item 1: connecting @item 2: active @item 3: done @item 4: failed @item 5: aborted @end itemize @item start_time: date/time of DCC creation @item start_transfer: date/time of transfer start @item addr: remote address @item port: port used for DCC @item nick: remote nick @item filename: filename @item local_filename: local filename @item size: file size @item pos: current position in file @item start_resume: restart position after interruption @item bytes_per_sec: bytes sent/received per second @end itemize @* @item @command{weechat::get_config ( name );}@* @* Get WeeChat config option value.@* @emph{Arguments:} @itemize @minus @item @option{name}: name of option @end itemize @* @emph{Examples:}@* @* @code{$value1 = weechat::get_config ("look_set_title");}@* @code{$value2 = weechat::get_config ("freenode.server_autojoin");}@* @* @end itemize @subsection Python scripts @subsubsection Cargar/descargar programas Python Los programas Python se cargan y descargan con el comando @command{/python} (escribiendo @kbd{/help python} en WeeChat para obtener la ayuda acerca del comando).@* @emph{Ejemplos:}@* @itemize @bullet @item Cargar un programa Python: @kbd{/python load /tmp/ejemplo.py}@* @item Descargar todos los programas Python: @kbd{/python unload}@* @item Listar los programas Python cargados: @kbd{/python}@* @end itemize @subsubsection Interfaz WeeChat / Python @itemize @bullet @item @command{weechat.register ( nombre, versi@'on, funci@'on_final, descripci@'on )}@* @* Es la primera funci@'on a la que llamar en el programa Python.@* Todos los programas en Python para WeeChat deben llamar esta funci@'on.@* @emph{Par@'ametros:} @itemize @minus @item @option{nombre}: nombre @'unico para identificar el programa (cada programa debe tener un nombre distinto) @item @option{versi@'on}: versi@'on del programa @item @option{funci@'on_final}: funci@'on Python llamada cuando el programa finaliza (par@'ametro facultativo, una cadena llena significa que no hay ninguna funci@'on que llamar) @item @option{descripci@'on}: descripci@'on breve del programa @end itemize @* @emph{Ejemplo:}@* @* @code{weechat.register ("ejemplo", "1.0", "fin_ejemplo", "programa de ejemplo...")}@* @* @item @command{weechat.prnt ( mensaje, [canal, [servidor]] )}@* @* Escribe un mensaje en un canal.@* @emph{Par@'ametros:} @itemize @minus @item @option{mensaje}: mensaje a escribir @item @option{canal}: nombre del canal @item @option{servidor}: (opcional) nombre interno del servidor @end itemize @* @emph{Ejemplos:}@* @* @code{weechat.prnt ("mensaje")}@* @code{weechat.prnt ("mensaje", "#weechat")}@* @code{weechat.prnt ("mensaje", "#weechat", "freenode")}@* @* @item @command{weechat.print_infobar ( retraso, mensaje )}@* @* Escribir un mensaje en la barra de informaciones.@* @emph{Par@'ametros:} @itemize @minus @item @option{retraso}: periodo en segundo durante el cual se mostrar@'a el mensaje (si es 0, el mensaje no se borrar@'a). @item @option{mensaje}: mensaje que se escribir@'a en la barra de informaciones. @end itemize @* @emph{Ejemplo:}@* @* @code{weechat.print_infobar (5, "mensaje")}@* @* @item @command{weechat.add_message_handler ( nombre, funci@'on )}@* @* Adjunta una funci@'on Python a un mensaje IRC.@* Se llamar@'a a la funci@'on cada vez que el mensaje IRC se reciba.@* @emph{Par@'ametros:} @itemize @minus @item @option{nombre}: nombre del mensaje IRC que producir@'a la llamada a la funci@'on.@* Para saber qu@'e tipo de mensajes IRC existen puede leer las RFC 1459 y/o 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{funci@'on}: funci@'on en Python llamada cuando se reciba el mensaje. @end itemize @* @emph{Ejemplo:}@* @* @code{weechat.add_message_handler ("privmsg", mi_funcion)}@* @code{def mi_funcion(servidor, args):}@* @code{@ @ @ @ weechat.prnt("servidor="+servidor)}@* @code{@ @ @ @ null, canal, mensaje = string.split(args, ":", 2)}@* @code{@ @ @ @ mascara, null, canal = string.split(string.strip(canal), " ", 2)}@* @code{@ @ @ @ weechat.prnt("masc="+mascara+", canal="+canal+", msj="+mensaje)}@* @* @item @command{weechat.add_command_handler ( nombre, funci@'on )}@* @* A@~nadir un nuevo comando WeeChat, con un enlace a una funci@'on en Python.@* Se llamar@'a a la funci@'on cuando el usuario lance el comando con @kbd{/nombre}.@* @emph{Par@'ametros:} @itemize @minus @item @option{nombre}: nombre del nuevo comando@* Puede ser un comando que ya existe, y en este caso el nuevo comando sustituir@'a el antiguo. Ten cuidado cuando sustituyas a un comando de WeeChat, no podr@'a acceder al antiguo comando si el script Python est@'a cargado. @item @option{funcion}: funci@'on Python assiciada al comando. @item @option{description}: command description (displayed by /help command) @item @option{arguments}: short description of command arguments (displayed by /help command) @item @option{arguments_description}: long description of command arguments (displayed by /help command) @end itemize @* @emph{Ejemplo:}@* @* @code{weechat.add_command_handler ("comando", mi_comando)}@* @code{def mi_comando(servidor, args):}@* @code{@ @ @ @ weechat.prnt("Servidor:"+servidor+" Par@'ametros:"+args)}@* @* @item @command{weechat.command ( command, [channel, [server]] )}@* @* Execute a command or send a message to a channel.@* @emph{Arguments:} @itemize @minus @item @option{command}: command to execute (or message to send in a channel) @item @option{channel}: name of channel @item @option{server}: internal name of server @end itemize @* @emph{Examples:}@* @* @code{weechat.command ("hello world!")}@* @code{weechat.command ("/kick toto please leave this chan", "#weechat")}@* @code{weechat.command ("/nick newnick", "", "freenode")}@* @* @item @command{weechat.get_info ( nombre, [servidor] )}@* @* Obtener informaciones distintas sobre WeeChat, el servidor o el usuario.@* @emph{Par@'ametros:} @itemize @minus @item @option{nombre}: nombre de la informaci@'on que se quiere obtener: @itemize @minus @item @option{version}: obtener la versi@'on de WeeChat @item @option{nick}: obtener el seud@'onimo @item @option{channel}: obtener el nombre del canal @item @option{server}: obtener el nombre del servidor @item @option{away}: get ``away'' flag @item @option{weechat_dir}: get WeeChat home dir @item @option{weechat_libdir}: get WeeChat system lib dir @item @option{weechat_sharedir}: get WeeChat system share dir @end itemize @item @option{servidor}: nombre interno del servidor @end itemize @* @emph{Ejemplos:}@* @* @code{$version = weechat.get_info("version")}@* @code{$nick = weechat.get_info("nick", "freenode")}@* @* @item @command{weechat.get_dcc_info ( );}@* @* Get DCC list.@* Returned array has following fields: @itemize @minus @item server: IRC server @item channel: IRC channel @item type: DCC type: @itemize @minus @item 0: chat (received) @item 1: chat (sent) @item 2: file (receiving) @item 3: file (sending) @end itemize @item status: DCC status: @itemize @minus @item 0: waiting @item 1: connecting @item 2: active @item 3: done @item 4: failed @item 5: aborted @end itemize @item start_time: date/time of DCC creation @item start_transfer: date/time of transfer start @item addr: remote address @item port: port used for DCC @item nick: remote nick @item filename: filename @item local_filename: local filename @item size: file size @item pos: current position in file @item start_resume: restart position after interruption @item bytes_per_sec: bytes sent/received per second @end itemize @* @item @command{weechat.get_config ( name );}@* @* Get WeeChat config option value.@* @emph{Arguments:} @itemize @minus @item @option{name}: name of option @end itemize @* @emph{Examples:}@* @* @code{$value1 = weechat.get_config ("look_set_title");}@* @code{$value2 = weechat.get_config ("freenode.server_autojoin");}@* @* @end itemize @subsection Ruby scripts @exclamdown{}No desarrollado! @c **************************** Autores / Soporte ***************************** @node Autores / Soporte, , Plugins, Top @chapter Autores / Soporte @ifhtml @menu * Autores:: * Obtener soporte/ayuda:: * Copyright:: @end menu @end ifhtml @ifnothtml @menu * Autores:: * Obtener soporte/ayuda:: @end menu @end ifnothtml @node Autores, Obtener soporte/ayuda, Autores / Soporte, Autores / Soporte @section Autores WeeChat est@'a desarollado por:@* @itemize @bullet @item FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}> @end itemize @ifhtml @node Obtener soporte/ayuda, Copyright, Autores, Autores / Soporte @end ifhtml @ifnothtml @node Obtener soporte/ayuda, , Autores, Autores / Soporte @end ifnothtml @section Obtener soporte/ayuda Antes de pedir ayuda al soporte, por favor lee la documentaci@'on y las FAQ de WeeChat.@* (La documentaci@'on es el documento que est@'as leyendo, si no has leido todo hasta aqu@'i, puedes hacerlo ahora ...)@* @itemize @bullet @item Soporte por IRC:@* - servidor: @b{irc.freenode.net}@* - canal: @b{#weechat}@*@* @item Foro WeeChat: @uref{http://forums.flashtux.org}@*@* @item Soporte mediante listas de difusi@'on:@* - para apuntarse: @*@uref{http://mail.nongnu.org/mailman/listinfo/weechat-support}.@* - para enviar un correo a la lista:@*@email{weechat-support@@nongnu.org}.@* Los archivos de la lista est@'an aqu@'i:@* @uref{http://mail.nongnu.org/archive/html/weechat-support}@*@* @item Ver la p@'agina de soporte para WeeChat para m@'as detalles:@* @uref{http://weechat.flashtux.org/support.php} @end itemize @ifhtml @node Copyright, , Obtener soporte/ayuda, Autores / Soporte @section Copyright Este manual documenta el cliente IRC WeeChat y hace parte del mismo proyecto WeeChat.@* Copyright @copyright{} 2005 FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@* Traducido en espa@~nol por Iznogoud <@email{iznogoud@@dlfp.org, iznogoud AT dlfp.org}>@* @* Este documento puede ser utilizado seg@'un los t@'erminos de la licencia GNU General Public License versi@'on 2 o posterior. @end ifhtml @bye