Introdução
**********

Descrição
=========

O WeeChat (Wee Enhanced Environment for Chat) é um cliente de IRC livre, rápido e leve, concebido para funcionar em diversos sistemas operativos.

As suas características prinicpais são as seguintes :

  - ligação a múltiplos servidores (com SSL, IPv6, proxy)

  - várias interfaces : Curses, wxWidgets, Gtk e Qt

  - pequeno rápido e leve

  - configuravel e extencível com scripts

  - compatível com RFCs 1459, 2810, 2811, 2812, e 2813

  - multiplataforma (Gnu/Linux, *BSD, MacOS X, Windows e outros)

  - 100% GPL, Software Livre

A página Web do Weechat é aqui :

http://weechat.flashtux.org

Pré-requisitos
==============

Para instalar o Weechat, vais precisar de ter :

  * Um sistema Gnu/Linux (com um compilador e outros utilitários associados aos pacotes de código fonte)

  * Direitos de "root" (para instalar)

  * Consoante a interface escolhida, uma das seguintes bibliotecas :

       - Curses: a biblioteca ncurses,

       - Gtk: *** interface não desenvolvida ***,

       - Qt: *** interface não desenvolvida ***,

Instalação
**********

Binários
========

Os pacotes binários estáo disponíveis para as seguintes distribuições :

  * Debian (ou compatível)

     Instalação : dpkg -i /chemin/weechat_x.y.z-1_i386.deb

  * Mandrake/Redhat (ou outra distro compatível com RPMs)

     Instalação : rpm -i /chemin/weechat-x.y.z-1.i386.rpm

  * Gentoo

     Instalação : emerge weechat

  * *BSD (non disponible !)

  * Slackware (não disponível !)

  * Windows (não disponível !)

Onde x.y.z é a versão (por exemplo 0.0.1)

Código Fonte
============

Escreve simplesmente numa consola ou num terminal :

./configure

make

Nota: Para compilar certas interfaces, podes passar parâmetros ao ./configure, escreve ./configure --help para veres as opções.

Obter os direitos do root e instalar o Weechat :

su

(escreve aqui a palavra-passe do superutilizador)

make install

Código Fonte via CVS
====================

Atenção: o código fonte CVS está reservado aos utilizadores avançados : o WeeChat pode não compilar ou ficar instável.

Considera-te avisado !

Para sacares o código fonte via CVS, escreve estes comandos :

cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/weechat login

cvs -z3 -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/weechat co weechat

(quando te pedirem a palavra-passe, primen simplesmente Enter)

Executa o script :

./autogen.sh

Segue agora as instruções para compilar o código fonte - see Codigo Fonte.

Utilização
**********

Invocar o WeeChat
=================

Parâmetros de linha de comandos
-------------------------------

-c, --config
     Mostrar da lima dos config da exposição (lista das opções)

-f, --key-functions
     Display WeeChat internal functions for keys

-h, --help
     Mostrar a ajuda

-i, --irc-commands
     Display IRC commands list

-l, --license
     Mostrar a licença do WeeChat

-v, --version
     Mostrar a versão do WeeChat

-w, --weechat-commands
     Display WeeChat commands list

Invocar o WeeChat
-----------------

Escreve simplesmente este comando para invoceres o WeeChat :

weechat-curses (para a interface em Curses)

ou weechat-wxwidgets (para a interface em wxWidgets)

ou weechat-gtk (para a interface em Gtk)

ou weechat-qt (para a interface em Qt)

Logo que lançares o WeeChat pela primeira vez, um ficheiro de configuração por defeito é criado, com as configurações por defeito.

O ficheiro de configuração por defeito é : ~/.weechat/weechat.rc

Podes editar esse ficheiro para configurar o WeeChat à tua maneira, man também podes modificar os parâmetros dentro do WeeChat utilizando o comando /set - see Comandos do WeeChat.

Config file
===========

List of options for config file:

look_set_title
     Set title for window (terminal for Curses GUI) with name & version

     Type: boolean (values: 'on' or 'off'), default value: 'on'

look_startup_logo
     Display WeeChat logo at startup

     Type: boolean (values: 'on' or 'off'), default value: 'on'

look_startup_version
     Display WeeChat version at startup

     Type: boolean (values: 'on' or 'off'), default value: 'on'

look_weechat_slogan
     WeeChat slogan (if empty, slogan is not used)

     Type: string (any string), default value: 'the geekest IRC client!'

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'

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: ''

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'

look_buffer_timestamp
     Timestamp for buffers

     Type: string (any string), default value: '[%H:%M:%S]'

look_color_nicks
     Display nick names with different colors

     Type: boolean (values: 'on' or 'off'), default value: 'on'

look_color_actions
     Display actions with different colors

     Type: boolean (values: 'on' or 'off'), default value: 'on'

look_remove_colors_from_msgs
     Remove colors from incoming messages

     Type: boolean (values: 'on' or 'off'), default value: 'on'

look_nicklist
     Display nicklist window (for channel windows)

     Type: boolean (values: 'on' or 'off'), default value: 'on'

look_nicklist_position
     Nicklist position (top, left, right (default), bottom)

     Type: string (values: 'left', 'right', 'top', 'bottom'), default value: 'right'

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

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

look_no_nickname
     Text to display instead of nick when not connected

     Type: string (any string), default value: '-cmd-'

look_nickmode
     Display nick mode ((half)op/voice) before each nick

     Type: boolean (values: 'on' or 'off'), default value: 'on'

look_nickmode_empty
     Display space if nick mode is not (half)op/voice

     Type: boolean (values: 'on' or 'off'), default value: 'off'

look_nick_completor
     The string inserted after nick completion

     Type: string (any string), default value: ':'

look_infobar
     Enable info bar

     Type: boolean (values: 'on' or 'off'), default value: 'on'

look_infobar_timestamp
     Timestamp for time in infobar

     Type: string (any string), default value: '%B, %A %d %Y'

look_infobar_seconds
     Display seconds in infobar time

     Type: boolean (values: 'on' or 'off'), default value: 'on'

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

col_title
     Color for title bar

     Type: color (Curses or Gtk color), default value: 'default'

col_title_bg
     Background for title bar

     Type: color (Curses or Gtk color), default value: 'blue'

col_chat
     Color for chat text

     Type: color (Curses or Gtk color), default value: 'default'

col_chat_time
     Color for time in chat window

     Type: color (Curses or Gtk color), default value: 'default'

col_chat_time_sep
     Color for time separator (chat window)

     Type: color (Curses or Gtk color), default value: 'brown'

col_chat_prefix1
     Color for 1st and 3rd char of prefix

     Type: color (Curses or Gtk color), default value: 'lightcyan'

col_chat_prefix2
     Color for middle char of prefix

     Type: color (Curses or Gtk color), default value: 'white'

col_chat_nick
     Color for nicks in actions (chat window)

     Type: color (Curses or Gtk color), default value: 'lightcyan'

col_chat_host
     Color for hostnames (chat window)

     Type: color (Curses or Gtk color), default value: 'cyan'

col_chat_channel
     Color for channel names in actions (chat window)

     Type: color (Curses or Gtk color), default value: 'white'

col_chat_dark
     Color for dark separators (chat window)

     Type: color (Curses or Gtk color), default value: 'green'

col_chat_highlight
     Color for highlighted nick (chat window)

     Type: color (Curses or Gtk color), default value: 'yellow'

col_chat_bg
     Background for chat window

     Type: color (Curses or Gtk color), default value: 'default'

col_status
     Color for status bar

     Type: color (Curses or Gtk color), default value: 'default'

col_status_delimiters
     Color for status bar delimiters

     Type: color (Curses or Gtk color), default value: 'cyan'

col_status_data_msg
     Color for window with new messages (status bar)

     Type: color (Curses or Gtk color), default value: 'yellow'

col_status_highlight
     Color for window with highlight (status bar)

     Type: color (Curses or Gtk color), default value: 'lightmagenta'

col_status_data_other
     Color for window with new data (not messages) (status bar)

     Type: color (Curses or Gtk color), default value: 'default'

col_status_more
     Color for window with new data (status bar)

     Type: color (Curses or Gtk color), default value: 'white'

col_status_bg
     Background for status window

     Type: color (Curses or Gtk color), default value: 'blue'

col_infobar
     Color for info bar text

     Type: color (Curses or Gtk color), default value: 'black'

col_infobar_delimiters
     Color for infobar delimiters

     Type: color (Curses or Gtk color), default value: 'blue'

col_infobar_highlight
     Color for info bar highlight notification

     Type: color (Curses or Gtk color), default value: 'white'

col_infobar_bg
     Background for info bar window

     Type: color (Curses or Gtk color), default value: 'cyan'

col_input
     Color for input text

     Type: color (Curses or Gtk color), default value: 'default'

col_input_channel
     Color for input text (channel name)

     Type: color (Curses or Gtk color), default value: 'white'

col_input_nick
     Color for input text (nick name)

     Type: color (Curses or Gtk color), default value: 'lightgreen'

col_input_bg
     Background for input window

     Type: color (Curses or Gtk color), default value: 'default'

col_nick
     Color for nicknames

     Type: color (Curses or Gtk color), default value: 'default'

col_nick_away
     Color for away nicknames

     Type: color (Curses or Gtk color), default value: 'cyan'

col_nick_chanowner
     Color for chan owner symbol (specific to unrealircd)

     Type: color (Curses or Gtk color), default value: 'lightgreen'

col_nick_chanadmin
     Color for chan admin symbol (specific to unrealircd)

     Type: color (Curses or Gtk color), default value: 'lightgreen'

col_nick_op
     Color for operator symbol

     Type: color (Curses or Gtk color), default value: 'lightgreen'

col_nick_halfop
     Color for half-operator symbol

     Type: color (Curses or Gtk color), default value: 'lightmagenta'

col_nick_voice
     Color for voice symbol

     Type: color (Curses or Gtk color), default value: 'yellow'

col_nick_more
     Color for '+' when scrolling nicks

     Type: color (Curses or Gtk color), default value: 'lightmagenta'

col_nick_sep
     Color for nick separator

     Type: color (Curses or Gtk color), default value: 'blue'

col_nick_self
     Color for local nick

     Type: color (Curses or Gtk color), default value: 'white'

col_nick_private
     Color for other nick in private window

     Type: color (Curses or Gtk color), default value: 'default'

col_nick_bg
     Background for nicknames

     Type: color (Curses or Gtk color), default value: 'default'

col_chat_dcc_selected
     Color for selected DCC (chat window)

     Type: color (Curses or Gtk color), default value: 'white'

col_dcc_waiting
     Color for "waiting" dcc status

     Type: color (Curses or Gtk color), default value: 'lightcyan'

col_dcc_connecting
     Color for "connecting" dcc status

     Type: color (Curses or Gtk color), default value: 'yellow'

col_dcc_active
     Color for "active" dcc status

     Type: color (Curses or Gtk color), default value: 'lightblue'

col_dcc_done
     Color for "done" dcc status

     Type: color (Curses or Gtk color), default value: 'lightgreen'

col_dcc_failed
     Color for "failed" dcc status

     Type: color (Curses or Gtk color), default value: 'lightred'

col_dcc_aborted
     Color for "aborted" dcc status

     Type: color (Curses or Gtk color), default value: 'lightred'

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

history_max_commands
     Maximum number of user commands in history (0 = unlimited)

     Type: integer (values: between 0 and 2147483647), default value: 100

log_auto_server
     Automatically log server messages

     Type: boolean (values: 'on' or 'off'), default value: 'off'

log_auto_channel
     Automatically log channel chats

     Type: boolean (values: 'on' or 'off'), default value: 'off'

log_auto_private
     Automatically log private chats

     Type: boolean (values: 'on' or 'off'), default value: 'off'

log_plugin_msg
     Log messages from plugins (scripts)

     Type: boolean (values: 'on' or 'off'), default value: 'off'

log_path
     Path for WeeChat log files

     Type: string (any string), default value: '~/.weechat/logs/'

log_timestamp
     Timestamp for log (see man strftime for date/time specifiers)

     Type: string (any string), default value: '%Y %b %d %H:%M:%S'

log_hide_nickserv_pwd
     Hide password displayed by nickserv

     Type: boolean (values: 'on' or 'off'), default value: 'on'

irc_display_away
     Display message to all channels when (un)marking as away

     Type: boolean (values: 'on' or 'off'), default value: 'on'

irc_default_msg_away
     Default message when away

     Type: string (any string), default value: 'away'

irc_default_msg_part
     Default part message (leaving channel)

     Type: string (any string), default value: 'WeeChat %v'

irc_default_msg_quit
     Default quit message ('%v' will be replaced by WeeChat version in string)

     Type: string (any string), default value: 'WeeChat %v'

irc_away_check
     Interval between two checks for away (in minutes, 0 = never check)

     Type: integer (values: between 0 and 2147483647), default value: 0

irc_lag_check
     Interval between two checks for lag (in seconds)

     Type: integer (values: between 30 and 2147483647), default value: 60

irc_lag_min_show
     Minimum lag to show (in seconds)

     Type: integer (values: between 0 and 2147483647), default value: 1

irc_lag_disconnect
     Disconnect after important lag (in minutes, 0 = never disconnect)

     Type: integer (values: between 0 and 2147483647), default value: 5

irc_fifo_pipe
     Create a FIFO pipe for remote control

     Type: boolean (values: 'on' or 'off'), default value: 'off'

dcc_auto_accept_files
     Automatically accept incoming dcc files

     Type: boolean (values: 'on' or 'off'), default value: 'off'

dcc_auto_accept_chats
     Automatically accept dcc chats (use carefully!)

     Type: boolean (values: 'on' or 'off'), default value: 'off'

dcc_timeout
     Timeout for dcc request (in seconds)

     Type: integer (values: between 1 and 2147483647), default value: 300

dcc_blocksize
     Block size for dcc packets in bytes (default: 65536)

     Type: integer (values: between 1024 and 102400), default value: 65536

dcc_download_path
     Path for writing incoming files with dcc (default: user home)

     Type: string (any string), default value: '~'

dcc_upload_path
     Path for reading files when sending thru dcc (when no path is specified)

     Type: string (any string), default value: '~'

dcc_convert_spaces
     Convert spaces to underscores when sending files

     Type: boolean (values: 'on' or 'off'), default value: 'on'

dcc_auto_rename
     Rename incoming files if already exists (add '.1', '.2', ...)

     Type: boolean (values: 'on' or 'off'), default value: 'on'

dcc_auto_resume
     Automatically resume dcc transfer if connection with remote host is loosed

     Type: boolean (values: 'on' or 'off'), default value: 'on'

proxy_use
     Use a proxy server to connect to irc server

     Type: boolean (values: 'on' or 'off'), default value: 'off'

proxy_type
     Proxy type (http (default), socks4, socks5)

     Type: string (values: 'http', 'socks4', 'socks5'), default value: 'http'

proxy_ipv6
     Connect to proxy in ipv6

     Type: boolean (values: 'on' or 'off'), default value: 'off'

proxy_address
     Proxy server address (IP or hostname)

     Type: string (any string), default value: ''

proxy_port
     Port for connecting to proxy server

     Type: integer (values: between 0 and 65535), default value: 3128

proxy_username
     Username for proxy server

     Type: string (any string), default value: ''

proxy_password
     Password for proxy server

     Type: string (any string), default value: ''

server_name
     Name associated to IRC server (for display only)

     Type: string (any string), default value: ''

server_autoconnect
     Automatically connect to server when WeeChat is starting

     Type: boolean (values: 'on' or 'off'), default value: 'on'

server_autoreconnect
     Automatically reconnect to server when disconnected

     Type: boolean (values: 'on' or 'off'), default value: 'on'

server_autoreconnect_delay
     Delay (in seconds) before trying again to reconnect to server

     Type: integer (values: between 0 and 65535), default value: 30

server_address
     IP address or hostname of IRC server

     Type: string (any string), default value: ''

server_port
     Port for connecting to server

     Type: integer (values: between 0 and 65535), default value: 6667

server_ipv6
     Use IPv6 protocol for server communication

     Type: boolean (values: 'on' or 'off'), default value: 'off'

server_ssl
     Use SSL for server communication

     Type: boolean (values: 'on' or 'off'), default value: 'off'

server_password
     Password for IRC server

     Type: string (any string), default value: ''

server_nick1
     Nickname to use on IRC server

     Type: string (any string), default value: ''

server_nick2
     Alternate nickname to use on IRC server (if nickname is already used)

     Type: string (any string), default value: ''

server_nick3
     2nd alternate nickname to use on IRC server (if alternate nickname is already used)

     Type: string (any string), default value: ''

server_username
     User name to use on IRC server

     Type: string (any string), default value: ''

server_realname
     Real name to use on IRC server

     Type: string (any string), default value: ''

server_command
     First command to run when connected to server

     Type: string (any string), default value: ''

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

server_autojoin
     Comma separated list of channels to join when connected to server

     Type: string (any string), default value: ''

server_autorejoin
     Automatically rejoin channels when kicked

     Type: boolean (values: 'on' or 'off'), default value: 'on'

server_notify_levels
     Comma separated list of notify levels for channels of this server (format: #channel:1,..)

     Type: string (any string), default value: ''

Colors for Curses GUI are:

  - default: default color (transparent for background)

  - black: black

  - red: dark red

  - lightred: light red

  - green: dark green

  - lightgreen: light green

  - brown: brown

  - yellow: yellow

  - blue: dark blue

  - lightblue: light blue

  - magenta: dark magenta

  - lightmagenta: light magenta

  - cyan: dark cyan

  - lightcyan: light cyan

  - white: white

Recursos de teclado
===================

Seta esquerda / Seta direita
     Ir um caractere para traz / para a frente na linha de comando

Ctrl + Seta esquerda / Ctrl + Seta Direita
     Ir uma palavra para traz / para a frente na linha de comando

Home / Ctrl + A
     Ir para o início da linha de comando

End / Ctrl + E
     Ir para o fim da linha de comando

Ctrl + K
     Delete until end of line

Ctrl + L
     Redesenhe a janela inteira

Ctrl + U
     Delete until beginning of line

Ctrl + W
     Apagar a palavra anterior na linha de comando

Backspace / Delete
     Apagar o caractere anterior / seguinte na linha de comando

Tab
     Completar o comando ou o nick (Tab novamente : encontrar a próxima sugestão)

Qualquer caractere
     Inserir o caractere na linha de comando, no sítio do cursor

Enter
     Executa o comando ou envia a mensagem

Seta para cima / Seta para baixo
     Repetir os ultimos comandos/mensagens

PageUp / PageDown
     Navegar no histórico da janela

F5 / F6
     Comute ao amortecedor anterior / seguinte

F7 / F8
     Comute ao janela anterior / seguinte

F10
     Apagar a última mensagem da barra do info

F11 / F12
     Scroll nicklist

Alt + Seta da esquerda / Alt + Seta da direita
     Identico a F5 / F6

Alt + A
     Comute ao amortecedor seguinte com atividade (com prioridade:  destaque, mensagem, outra)

Alt + B
     Go to previous word

Alt + D
     Delete next word

Alt + F
     Go to next word

Alt + H
     Hotlist desobstruído (notificação da atividade em outros amortecedores)

Alt + J then Alt + D
     Exposição DCC atual

Alt + J then Alt +  S
     Comute ao amortecedor do servidor

Alt + J then Alt + X
     Comute à primeira canaleta do servidor seguinte (ou do amortecedor do servidor se nenhuma canaleta for aberta)

Alt + dígito (1-9)
     Comute ao amortecedor pelo número

Alt + J then number (01-99)
     Comute ao amortecedor pelo número

Alt + R
     Delete entire line

Alt + PageUp / Alt + PageDown / Alt + Home / Alt + End
     Scroll nicklist

Comandos do WeeChat
===================

WeeChat internal commands:

alias  [alias_name [command [arguments]]
     create an alias for a command

     alias_name: name of alias

     command: command name (WeeChat or IRC command, without first '/')

     arguments: arguments for command

buffer  [action | number]
     manage buffers

     action: action to do:

     move: move buffer in the list (may be relative, for example -1)

     close: close buffer (for channel: same as /part without part message)

     list: list opened buffers (no parameter implies this list)

     notify: set notify level for buffer (0=never, 1=highlight, 2=1+msg, 3=2+join/part)

     number: jump to buffer by number

clear  [-all]
     clear window(s)

     -all: clear all windows

connect  [servername]
     connect to a server

     servername: server name to connect

disconnect  [servername]
     disconnect from a server

     servername: server name to disconnect

debug  dump
     print debug messages

     dump: save memory dump in WeeChat log file (same dump is written when WeeChat crashes)

help  [command]
     display help about commands

     command: name of a WeeChat or IRC command

key  [key function/command] [unbind key] [functions] [reset -yes]
     bind/unbind keys

     key: bind this key to an internal function or a command (beginning by "/")

     unbind: unbind a key (if "all", default bindings are restored)

     functions: list internal functions for key bindings

     reset: restore bindings to the default values and delete ALL personal binding (use carefully!)

perl  [load filename] | [autoload] | [reload] | [unload]
     list/load/unload Perl scripts

     filename: Perl script (file) to load

     Without argument, /perl command lists all loaded Perl scripts.

python  [load filename] | [autoload] | [reload] | [unload]
     list/load/unload Python scripts

     filename: Python script (file) to load

     Without argument, /python command lists all loaded Python scripts.

server  [servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 [nick2 [nick3]]] [-username username] [-realname realname] [-command command] [-autojoin channel[,channel]] ] | [del servername]
     list, add or remove servers

     servername: server name, for internal & display use

     hostname: name or IP address of server

     port: port for server (integer)

     ipv6: use IPv6 protocol

     ssl: use SSL protocol

     password: password for server

     nick1: first nick for server

     nick2: alternate nick for server

     nick3: second alternate nick for server

     username: user name

     realname: real name of user

save  [file]
     save config to disk

     file: filename for writing config

set  [option[=value]]
     set config parameters

     option: name of an option

     value: value for option

unalias  alias_name
     remove an alias

     alias_name: name of alias to remove

window  [list | splith | splitv | [merge [down | up | left | right | all]]]
     manage windows

     list: list opened windows (no parameter implies this list)

     splith: split current window horizontally

     splitv: split current window vertically

     merge: merge window with another

IRC commands:

admin  [target]
     find information about the administrator of the server

     target: server

away  [-all] [message]
     toggle away status

     -all: toggle away status on all connected servers

     message: message for away (if no message is given, away status is removed)

ban  [channel] [nickname [nickname ...]]
     bans nicks or hosts

     channel: channel for ban

     nickname: user or host to ban

ctcp  nickname type
     send a ctcp message

     nickname: user to send ctcp to

     type: "action" or "version"

dcc  action [nickname [file]]
     starts DCC (file or chat) or close chat

     action: 'send' (file) or 'chat' or 'close' (chat)

     nickname: nickname to send file or chat

     file: filename (on local host)

dehalfop  nickname [nickname]
     removes half channel operator status from nickname(s)

deop  nickname [nickname]
     removes channel operator status from nickname(s)

devoice  nickname [nickname]
     removes voice from nickname(s)

die
     shutdown the server

halfop  nickname [nickname]
     gives half channel operator status to nickname(s)

info  [target]
     get information describing the server

     target: server name

invite  nickname channel
     invite a nick on a channel

     nickname: nick to invite

     channel: channel to invite

ison  nickname [nickname ...]
     check if a nickname is currently on IRC

     nickname: nickname

join  channel[,channel] [key[,key]]
     join a channel

     channel: channel name to join

     key: key to join the channel

kick  [channel] nickname [comment]
     forcibly remove a user from a channel

     channel: channel where user is

     nickname: nickname to kick

     comment: comment for kick

kickban  [channel] nickname [comment]
     kicks and bans a nick from a channel

     channel: channel where user is

     nickname: nickname to kick and ban

     comment: comment for kick

kill  nickname comment
     close client-server connection

     nickname: nickname

     comment: comment for kill

links  [[server] server_mask]
     list all servernames which are known by the server answering the query

     server: this server should answer the query

     server_mask: list of servers must match this mask

list  [channel[,channel] [server]]
     list channels and their topic

     channel: channel to list

     server: server name

lusers  [mask [target]]
     get statistics about the size of the IRC network

     mask: servers matching the mask only

     target: server for forwarding request

me  message
     send a ctcp action to the current channel

     message: message to send

mode  { channel {[+|-]|o|p|s|i|t|n|b|v} [limit] [user] [ban mask] } | { nickname {[+|-]|i|w|s|o} }
     change channel or user mode

     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

     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

motd  [target]
     get the "Message Of The Day"

     target: server name

msg  receiver[,receiver] text
     send message to a nick or channel

     receiver: nick or channel (may be mask, '*' = current channel)

     text: text to send

names  [channel[,channel]]
     list nicknames on channels

     channel: channel name

nick  [-all] nickname
     change current nickname

     -all: set new nickname for all connected servers

     nickname: new nickname

notice  nickname text
     send notice message to user

     nickname: user to send notice to

     text: text to send

op  nickname [nickname]
     gives channel operator status to nickname(s)

oper  user password
     get operator privileges

     user/password: used to get privileges on current IRC server

part  [channel[,channel]] [part_message]
     leave a channel

     channel: channel name to leave

     part_message: part message (displayed to other users)

ping  server1 [server2]
     ping server

     server1: server to ping

     server2: forward ping to this server

pong  daemon [daemon2]
     answer to a ping message

     daemon: daemon who has responded to Ping message

     daemon2: forward message to this daemon

query  nickname [text]
     send a private message to a nick

     nickname: nickname for private conversation

     text: text to send

quit  [quit_message]
     close all connections & quit

     quit_message: quit message (displayed to other users)

quote  data
     send raw data to server without parsing

     data: raw data to send

rehash
     tell the server to reload its config file

restart
     tell the server to restart itself

service  nickname reserved distribution type reserved info
     register a new service

     distribution: visibility of service

     type: reserved for future usage

servlist  [mask [type]]
     list services currently connected to the network

     mask: list only services matching this mask

     type: list only services of this type

squery  service text
     deliver a message to a service

     service: name of service

     text: text to send

squit  server comment
     disconnect server links

     server: server name

     comment: comment for quit

stats  [query [server]]
     query statistics about server

     query: c/h/i/k/l/m/o/y/u (see RFC1459)

     server: server name

summon  user [target [channel]]
     give users who are on a host running an IRC server a message asking them to please join IRC

     user: username

     target: server name

     channel: channel name

time  [target]
     query local time from server

     target: query time from specified server

topic  [channel] [topic]
     get/set channel topic

     channel: channel name

     topic: new topic for channel (if topic is "-delete" then topic is deleted)

trace  [target]
     find the route to specific server

     target: server

unban  [channel] nickname [nickname ...]
     unbans nicks or hosts

     channel: channel for unban

     nickname: user or host to unban

userhost  nickname [nickname ...]
     return a list of information about nicknames

     nickname: nickname

users  [target]
     list of users logged into the server

     target: server

version  [server | nickname]
     gives the version info of nick or server (current or specified)

     server: server name

     nickname: nickname

voice  nickname [nickname]
     gives voice to nickname(s)

wallops  text
     send a message to all currently connected users who have set the 'w' user mode for themselves

     text to send

who  [mask ["o"]]
     generate a query which returns a list of information

     mask: only information which match this mask

     o: only operators are returned according to the mask supplied

whois  [server] nickname[,nickname]
     query information about user(s)

     server: server name

     nickname: nickname (may be a mask)

whowas  nickname [,nickname [,nickname ...]] [count [target]]
     ask for information about a nickname which no longer exists

     nickname: nickname to search

     count: number of replies to return (full search if negative number)

     target: reply should match this mask

Internal functions for keys:

return
     terminate line

tab
     complete word

backspace
     delete previous char

delete
     delete next char

delete_end_line
     delete until end of line

delete_beginning_line
     delete until beginning of line

delete_line
     delete entire line

delete_previous_word
     delete previous word

delete_next_word
     delete next word

home
     go to beginning of line

end
     go to end of line

left
     move one char left

previous_word
     move to previous word

right
     move one char right

next_word
     move to next word

up
     call previous command in history

down
     call next command in history

page_up
     scroll one page up

page_down
     scroll one page down

infobar_clear
     clear infobar

nick_page_up
     scroll nicklist one page up

nick_page_down
     scroll nicklist one page down

nick_beginning
     display beginning of nicklist

nick_end
     display end of nicklist

refresh
     refresh screen

jump_smart
     jump to buffer with activity

jump_dcc
     jump to DCC buffer

jump_server
     jump to server buffer

jump_next_server
     jump to next server

hotlist_clear
     clear hotlist

FIFO pipe
=========

You can remote control WeeChat, by sending commands or text to a FIFO pipe (you have to enable option "irc_fifo_pipe", it is disabled by default).

The FIFO pipe is located in ~/.weechat/ and is called "weechat_fifo_xxxxx" (where xxxxx is the process ID (PID) of running WeeChat).

So if many WeeChat are running, you have many FIFO pipe, one for each session.

The syntax for the FIFO pipe commands/text is:

server,channel *text or command here

where server and channel are optional, but if channel is here, server should be too.

Some examples:

* change your nick on freenode to "mynick|out":
     echo "freenode */nick mynick|out" >~/.weechat/weechat_fifo_12345

* display text on #weechat channel:
     echo "freenode,#weechat *hello everybody!" >~/.weechat/weechat_fifo_12345

* display text on current channel (buffer displayed by WeeChat):
     echo "*hello!" >~/.weechat/weechat_fifo_12345 Warning: this is dangerous and you should not do that except if you know what you do!

* send 2 commands to unload/reload Perl scripts (you have to separate them with \n):
     echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345

You can write a script to send command to all running WeeChat at same time, for example:

 #!/bin/sh
 if [ $# -eq 1 ]; then
     for fifo in $(/bin/ls ~/.weechat/weechat_fifo_* 2>/dev/null); do
         echo -e "$1" >$fifo
     done
 fi
If the script is called "auto_weechat_command", you can run it with:

./auto_weechat_command "freenode,#weechat *hello"

Extenções
*********

Scripts Perl
============

Carregar/Descarregar Scripts Perl
---------------------------------

Os Scripts Perl são carregados e descarregados com o comando /perl. (escreve /help perl dentro do WeeChat para obteres ajuda acerca do comando).

Exemplos:

  * Carregar um Script Perl: /perl load /tmp/sample.pl

  * Descarregar todos os Scripts Perl: /perl unload

  * Listar todos os Scripts Perl: /perl

Interface WeeChat / Perl
------------------------

  * weechat::register ( nome, versão, função_de_shutdown, descrição );

     Esta é a primeira função a invocar num Script Perl.

     Todos os Scripts Perl para o Weechat devem invocar esta função.

     Argumentos:

       - nome: nome único que indentifique o script (cada Script Perl deve ter um único nome)

       - versão: versão do script

       - função_de_shutdown: função Perl invocada quando o script é descarregado (parâmetro opcional, se deixado em branco significa que nada deve ser chamado)

       - descrição: breve descrição do script.

     Exemplo:

     weechat::register ("sample", "1.0", "sample_end", "Sample script!");

  * weechat::print ( mensagem, [canal, [servidor]] );

     Imprimne uma mensagem na canal.

     Argumentos:

       - mensagem: mensagem a mostrar

       - canal: nome da canal

       - servidor: nome interno da servidor

     Exemplo:

     weechat::print ("mensagem");

     weechat::print ("mensagem", "#weechat");

     weechat::print ("mensagem", "#weechat", "freenode");

  * weechat::print_infobar ( atrasa, mensagem );

     Imprimne uma mensagem na barra do info.

     Argumentos:

       - atrasa: depois que isto atrasa (nos segundos), a mensagem estará apagada (se 0, mensagem não forem apagados).

       - mensagem: mensagem a mostrar

     Exemplo:

     weechat::print_infobar (5, "mensagem");

  * weechat::add_message_handler ( nome, função );

     Anexa uma função Perl a uma mensagem de IRC.

     A função será invocada de cada vez que a mensagem IRC for recebida.

     Argumentos:

       - nome: nome da mensagem IRC
          Para conheceres uma lista de mensagens de IRC, por favor lê o RFC 1459 e/ou o 2812:

          RFC 1459: ftp://ftp.rfc-editor.org/in-notes/rfc1459.txt

          RFC 2812: ftp://ftp.rfc-editor.org/in-notes/rfc2812.txt

       - função: função Perl invocada quando a mensagem é recebida

     Exemplo:

     weechat::add_message_handler ("privmsg", my_function);

     sub my_function

     {

         ($null, $channel, $message) = split ":",@_[0],3;

         ($hostmask, $null, $channel) = split " ", $channel;

         weechat::print ("host=$hostmask, chan=$channel, msg=$message\n");

     }

  * weechat::add_command_handler ( nome, função );

     Cria um novo comando do Weechat, ligado a uma função Perl.

     A função será chamada quando o utilizador a invocar utilizando /nome

     Argumentos:

       - nome: nome do novo comando
          Este nome pode pertencer a um comando já existente, o qual será sobreposto pela função Perl. Tem cuidado quando fizeres isto: os comandos originais não estarão acessiveis antes de teres descarregado o Script Perl.

       - função: função Perl ligada ao comando

     Exemplo:

     weechat::add_command_handler ("command", my_command);

     sub my_command

     {

         weechat::print("Argumentos: ".@_[0]);

         return 0;

     }

  * weechat::command ( command, [channel, [server]] );

     Execute a command or send a message to a channel.

     Arguments:

       - command: command to execute (or message to send in a channel)

       - channel: name of channel

       - server: internal name of server

     Examples:

     weechat::command ("hello world!");

     weechat::command ("/kick toto please leave this chan", "#weechat");

     weechat::command ("/nick newnick", "", "freenode");

  * weechat::get_info ( nome, [servidor] );

     Comece o vário info sobre WeeChat, servidor ou usuário.

     Argumentos:

       - nome: nome do info a recuperar:

       - servidor: nome interno da servidor

            - 0 ou version: comece a versão de WeeChat

            - 1 ou nick: comece o nickname

            - 2 ou channel: comece o nome da canal

            - 3 ou server: comece o nome do servidor

            - 4 ou weechatdir: comece a WeeChat o diretório home

            - 5 ou away: comece a bandeira ausente para o servidor

     Exemplos:

     $version = get_info("version");

     $nick = get_info("nick", "freenode");

Scripts Python
==============

Carregar/Descarregar Scripts Python
-----------------------------------

Os Scripts Python são carregados e descarregados com o comando /python. (escreve /help python dentro do WeeChat para obteres ajuda acerca do comando).

Exemplos:

  * Carregar um Script Python: /python load /tmp/sample.py

  * Descarregar todos os Scripts Python: /python unload

  * Listar todos os Scripts Python: /python

Interface WeeChat / Python
--------------------------

  * weechat.register ( nome, versão, função_de_shutdown, descrição );

     Esta é a primeira função a invocar num Script Python.

     Todos os Scripts Python para o Weechat devem invocar esta função.

     Argumentos:

       - nome: nome único que indentifique o script (cada Script Python deve ter um único nome)

       - versão: versão do script

       - função_de_shutdown: função Python invocada quando o script é descarregado (parâmetro opcional, se deixado em branco significa que nada deve ser chamado)

       - descrição: breve descrição do script.

     Exemplo:

     weechat.register ("sample", "1.0", "sample_end", "Sample script!")

  * weechat.prnt ( mensagem, [canal, [servidor]] )

     Imprimne uma mensagem na canal.

     Argumentos:

       - mensagem: mensagem a mostrar

       - canal: nome da canal

       - servidor: nome interno da servidor

     Exemplo:

     weechat.prnt ("mensagem")

     weechat.prnt ("mensagem", "#weechat")

     weechat.prnt ("mensagem", "#weechat", "freenode")

  * weechat.print_infobar ( atrasa, mensagem )

     Imprimne uma mensagem na barra do info.

     Argumentos:

       - atrasa: depois que isto atrasa (nos segundos), a mensagem estará apagada (se 0, mensagem não forem apagados).

       - mensagem: mensagem a mostrar

     Exemplo:

     weechat.print_infobar (5, "mensagem")

  * weechat.add_message_handler ( nome, função )

     Anexa uma função Python a uma mensagem de IRC.

     A função será invocada de cada vez que a mensagem IRC for recebida.

     Argumentos:

       - nome: nome da mensagem IRC
          Para conheceres uma lista de mensagens de IRC, por favor lê o RFC 1459 e/ou o 2812:

          RFC 1459: ftp://ftp.rfc-editor.org/in-notes/rfc1459.txt

          RFC 2812: ftp://ftp.rfc-editor.org/in-notes/rfc2812.txt

       - função: função Python invocada quando a mensagem é recebida

     Exemplo:

     weechat.add_message_handler ("privmsg", my_function)

     def my_function(server, args):

         weechat.prnt("server="+server)

         null, channel, message = string.split(args, ":", 2)

         hostmask, null, channel = string.split(string.strip(channel), " ", 2)

         weechat.prnt("host="+hostmask+", chan="+channel+", msg="+message)

  * weechat.add_command_handler ( nome, função )

     Cria um novo comando do Weechat, ligado a uma função Python.

     A função será chamada quando o utilizador a invocar utilizando /nome

     Argumentos:

       - nome: nome do novo comando
          Este nome pode pertencer a um comando já existente, o qual será sobreposto pela função Python. Tem cuidado quando fizeres isto: os comandos originais não estarão acessiveis antes de teres descarregado o Script Python.

       - função: função Python ligada ao comando

     Exemplo:

     weechat.add_command_handler ("command", my_command)

     def my_command(server, args):

         weechat.prnt("Servidor:"+server+" Argumentos:"+args)

  * weechat.command ( command, [channel, [server]] )

     Execute a command or send a message to a channel.

     Arguments:

       - command: command to execute (or message to send in a channel)

       - channel: name of channel

       - server: internal name of server

     Examples:

     weechat.command ("hello world!")

     weechat.command ("/kick toto please leave this chan", "#weechat")

     weechat.command ("/nick newnick", "", "freenode")

  * weechat.get_info ( nome, [servidor] )

     Comece o vário info sobre WeeChat, servidor ou usuário.

     Argumentos:

       - nome: nome do info a recuperar:

       - servidor: nome interno da servidor

            - 0 ou version: comece a versão de WeeChat

            - 1 ou nick: comece o nickname

            - 2 ou channel: comece o nome da canal

            - 3 ou server: comece o nome do servidor

            - 4 ou weechatdir: comece a WeeChat o diretório home

            - 5 ou away: comece a bandeira ausente para o servidor

     Exemplos:

     $version = weechat.get_info("version")

     $nick = weechat.get_info("nick", "freenode")

Scripts Ruby
============

NÃO DESENVOLVIDO!

Autores / Suporte
*****************

Autores
=======

O WeeChat é desenvolvido por :

  * FlashCode <flashcode AT flashtux.org>

Obter Suporte
=============

Antes de pedires suporte, agradecemos se leres toda a documentação e a FAQ.

(a documentação é este documento que estás a ler, se não leste tudo até aqui, está na hora de começares do início !)

  * Suporte por IRC:

     - servidor : irc.freenode.net

     - canal : #weechat

  * Forum do WeeChat : http://forums.flashtux.org

  * Suporte por lista de correio-e :

     - para te inscreveres/desinscreveres :
     http://mail.nongnu.org/mailman/listinfo/weechat-support.

     - para enviares uma mensagem para a lista :
     weechat-support@nongnu.org.

     Os arquivos da lista estão aqui :

     http://mail.nongnu.org/archive/html/weechat-support

  * Para mais detalhes, vê também a página de suporte do WeeChat :

     http://weechat.flashtux.org/support.php