VICQ(1)

NAME
vicq - console ICQ2000 client

SYNOPSIS
  vicq [-u UIN] [-rbo] [-c config] [-t delay]

DESCRIPTION
vicq is console icq2000 client, simmilar to micq

OPTIONS

-u UIN
    When invoked with -u option, vicq expects to read single message from stdin and sends it to the specified UIN

-c config
    Use alternative config instead of ~/.vicq/config

-b  Do not send contact list and visible/invisible list (use in a non-interactive mode)

-o  Do not request offline messages (use in a non-interactive mode)

-t delay
    Delay between commands in non-interactive mode

-r  Register new UIN on startup

  Non-interactive mode
You can use vicq in non-interactive mode by writing script and sending it on stdin of programm, for example:

 echo "msg gonzo/hi" | vicq -b -o

 or

 $cat > xx
 msg gonzo/hi
 msg gonzo
 multi
 line
 message
 .
 ^D
 $cat xx | vicq -b -o -t 5

On slow connections you must set delay between commands using -t option because some message disappears ( i dont sure that source of this problem slow connections, may be ICQ server drops flood messages)

CONFIGURATION
Config file (~/.vicq/config) consists of several sections described below. Each section starts with header line like this: '[section_name]'. Lines starting with '#' are comments. You can split entire config in several files using 'include' directive. BUT! You should place whole section in one file, the section header should be placed in the same file. Example of using include you can find at http://www.gonzo.kiev.ua/projects/vicq/eg/

  [options]
The [options] section contains configuration variables. Each variable is in "name=value" format (case-sensitive).

Configuration variables:

uin (decimal)
    User's UIN

password (string)
    User's password

keep_config (decimal)
    If you dont want to save config on exit set this variable to 1: keep_config=1

encoding (string)
    Valid values 'koi','win' and 'translit', depending on your terminal

auto_info (integer)
    If not zero, vICQ will request info on every UIN which is not in ContactList automaticaly

hide_ip (decimal)
    if not zero ICQ will not show your IP

prompt (string)
    Main vICQ prompt template. The following variables will be parsed and may be used in prompt string:
     %S - by short description of your status
     %U - by your uin
     %h - current hour
     %m - current minute
     %s - current second
     %% - '%'

    Example:

     prompt=vICQ(%S)/%U[%h:%m:%s]E<gt>

sms_phonebook (string)
    Path to external file with sms phones in [phones] section format. Section tag ('[phones]') is must for this file.

separator_length (integer)
    Length of separator line

disable_empty_separators (integer)
    if not equal to 0 disables separator without text

history_entries (integer)
    Number of messages which displays in user history, if its negative - displays all history

mode (string)
    Valid values normal or silent. In silent mode status_change events does not appear on screen.

status (string)
    Initial status. Valid values are:

     Online
     Free_For_Chat
     Away
     Not_Avalible
     Occupied
     Do_Not_Disturb
     Invisible

colors (integer)
    If this is not 0, vicq will use colors.

colored_history (integer)
    If this is not 0, vICQ use colors for history output(You can set you PAGER environment variable to less -R for using color)

separator_color (string)
    Color of the separator line

separator_title_color (string)
    Color for the title separator

nick_color (string)
    Color for highlighting nicknames

uin_color (string)
    Color for highlighting uins

status_color (string)
    Color for highlighting status

time_color (string)
    Color for highlighting time

message_color (string)
    Message color

their_history_color (string)
    Color for incoming events in history

my_history_color (string)
    Color for outgoing events in history

    Valid colors are:

     NORMAL
     YELLOW
     MAGENTA
     WHITE
     BLACK
     RED
     GREEN
     BROWN
     BLUE
     CYAN
     LIGHT_CYAN
     LIGHT_RED
     LIGHT_GREEN
     LIGHT_BLUE

    And three text attributes for monochrome terminals:

     BOLD
     UNDERSCORE
     REVERSE

player (string)
    Command for playing sounds (see [sounds] section) '%f' in player path will be replaced with filename chosen according to the [sounds] section

    Example:

     player=/path/to/player -f %f -o /dev/dsp

browser (string)
    Command for browsing received URLs: '%u' in browser command will be replaced with last recieved url

    Example:

     browser=/path/to/browser -navigator %u

https_proxy (integer)
    If not 0, vICQ with work through HTTPS-capable proxy

socks_proxy (integer)
    If not 0, vICQ with work through SOCKS-capable proxy(v5 only available for this moment)

proxy_host (string)
    HTTPS/SOCKS proxy host

proxy_port (decimal)
    HTTPS/SOCKS proxy port

proxy_login (string)
    Login for HTTPS/SOCKS proxy authorization (if ommited - don't use aythorization for SOCKS proxy)

proxy_password (string)
    Password for HTTPS/SOCKS proxy authorization

proxy_force_https_port (decimal)
    if 1, always connect to login.icq.com on port 443, regardless of what specified in the reconnection messages

    Example of HTTPS proxy configuration:

     https_proxy=1
     proxy_port=3128
     proxy_host=10.25.0.99
     proxy_force_https_port=1

    Example of SOCKS proxy configuration(without authorization):

     socks_proxy=1
     proxy_port=1080
     proxy_host=10.25.0.99

log_path (string)
    Directory, which contains history files.

    Example:

     log_path=~/.vicq.log

log_type (string)
    Specifies method which logs saves. Its a string if its empty - don't log, else calls methods correspondingly chars which appears in strings. Valid chars:

     a - log to <log_path>/vicq.log
     u - log to <log_path>/<uin>.log
     s - log status changes
     n - make newlines between log records
     l - make symlinks <nick>.log to <uin>.log

    Default: log_type=u.

    Example:

     log_type=usln

micq_like_completion (decimal)
    If not 0 mICQ style completion is using: cicles through UINs used in previous msg commands

autosplit (decimal)
    If not 0 messages longer than 450 chars will be splitted into several parts, otherwise - message will be truncated to 450 chars

  [aliases]
The [aliases] section contains run-time options. Its format is 'alias=command'.

Example:

 m=msg

  [phones]
The [phones] section contains phonebook for SMS messages in 'nick phone' format. You can use these aliases in 'sms' command

Example:

 squid +380xxxxx
 ReY +380xxxxxx

  [events]
The [events] section contains events hooks. Its format is
 event[/nick][|my_status] command or
 [!][|]event[/nick][|my_status] "command1","command2"

where event is the type of event, nick_or_uin sender's nick or uin, my_status your status (all parameters could be glob-style wildcard), if optional parameters nick_or_uin or my_status is ommited then they acts as *(any). command is an command name to be executed when event occurs and event type, sender's info and your status matches specified parameters.! in the beggining means that hook is inactive. | in the beginning means that event does not break checking after match. The following variables will be parsed and may be used in 'command' string:
 %e - by type of event
 %u - by sender's uin
 %n - by sender's nick
 %t - by message text (or status value if type of event is 'status_change') Y ou can use uppercase modifiers to make them colored e.g.
 %E - colored type of event
 If you want run external command - use ! in command definition.

Examples:

 * ! echo 'Event %e from %n(%u) : %t' | mail mymail@myhost.com

(send email to mymail@myhost.com with the full description of the recieved event)

 text_message msg %u/i will read this message later

(simple autoresponder)

 text_message|online msg %u/hi\nI am  online
 text_message/GonZo|away msg %u/hi GonZo\nI am away

(extended autoresponder)

List of events types:
 sms_delivery_receipt
 status_change
 URL sms_message
 contacts_request
 email_message
 text_message
 offline_text_message
 contacts
 add_message
 auth_request
 sms_response
 sms_message
 user_short_info
 user_info_not_found
 ack_offline
 set_permissions_ack
 user_info_unknown
 user_info_about
 user_info_main
 user_info_extra_emails
 set_main_info_ack
 wp_final_result_info
 wp_empty
 user_info_homepage
 wp_result_info
 user_info_past_background
 user_info_personal_interests

  [sounds]
Section [sounds] is similar to [events] section, allowing you to specify audio files played upon various incoming events. Playback will be done through the "player" application defined in the [option] section, with %f token substituted with the proper filename.

  [contacts]
[contacts] section lists UINs, format is the same as in .micqrc:

 UIN Nickname

To add user to visible list add asterisk (*) before UIN (see vicqrc.example). If you want be invisible to user add tilde (~) before UIN. If you want create alias for UIN/Nick just add aliases in the line below UIN (see vicqrc.example)

INTERACTIVE OPERATIONS

  Completion & nick handling
You can use TAB to complete command or nick, if your nicks contains spaces: use double quotes to handle this nicks eg:
 vICQ>msg "anri <TAB>

  Messages handling

msg nick|UIN [/msg]
    send an instant ICQ message

sms nick|phone [/msg]
    send SMS to specified person

r   replie to last received message

a   send a message to the last person you sent a message

auth nick | UIN
    send an authorization to specified UIN

url nick | UIN [URL]
    send an URL to specified person

  Status managment

online
    change status to 'Online'

inv change status to 'Invisible'

away
    change status to 'Away'

na  change status to 'Not availabe'

occ change status to 'Occupied'

dnd change status to 'Do Not Disturb'

ffc change status to 'Free for chat'

offline
    change status to 'Offline/Disconnect'

  Contact list managment

add UIN nick
    add UIN as nick to contact list

w   display the current status of every person in your contact list

e   display the current status of every online person in your contact list

togvis UIN | nick
    add/remove user to/from visible list

toginvis UIN | nick
    add/remove user to/from invisible list

history UIN | nick [count]
    display last count entries of the user's history. If count is negative shoes all entries

finger UIN | nick
    display user's UIN, nick, current status, IP(and resolved host if available), dirrect connection info, and client version

  Miscellaneous commands

help command
    display help on command

! OS command
    execute external command

save
    save config

info UIN | nick
    send user info request

search email@host.domain
    searche for ICQ user

silent
    toggle to silent mode - change status events does not displays

normal
    toggle to normal mode - change status events displays

view
    open last recieved URL with browser command

set [key[=value]]
    shows/sets config variables values

wpset
    set basic White Pages info

clear
    clear screen

alias [alias = ] [command]
     show/change command aliases, ex:
     alias q=quit

last UIN | nickname
     Show last message from UIN or nickname

echo string
     Sends to the output I<sting>. Use mainly in hooks

permissions [+|-][web | auth]
     Set 'web aware/need authorization' on/off, ex:
     permissions +auth -web

version
     Display current version of vICQ

event [ on | off event_id]  add event_spec
     activate/deactivate event  or add new event

reg password
     register new UIN with specified password

  Message editing
Input . in the empty line to end message or # to cancel message

AUTHOR
Alexander Timoshenko <gonzo@ukrweb.net>