Reference

vicq(1)

vicq - console ICQ2000 client

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

vicq is console icq2000 client, simmilar to micq When invoked with -u option, vicq expects to read single message from stdin and sends it to the specified UIN Use alternative config instead of ~/.vicq/config Do not send contact list and visible/invisible list (use in a non-interactive mode) Do not request offline messages (use in a non-interactive mode) Delay between commands in non-interactive mode 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) 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: User's UIN User's password If you dont want to save config on exit set this variable to 1: keep_config=1 Valid values 'koi','win' and 'translit', depending on your terminal If not zero, vICQ will request info on every UIN which is not in ContactList automaticaly if not zero ICQ will not show your IP 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>

Path to external file with sms phones in [phones] section format. Section tag ('[phones]') is must for this file. Length of separator line if not equal to 0 disables separator without text Number of messages which displays in user history, if its negative - displays all history Valid values normal or silent. In silent mode status_change events does not appear on screen. Initial status. Valid values are:

 Online
 Free_For_Chat
 Away
 Not_Avalible
 Occupied
 Do_Not_Disturb
 Invisible

If this is not 0, vicq will use colors. If this is not 0, vICQ use colors for history output(You can set you PAGER environment variable to less -R for using color) Color of the separator line Color for the title separator Color for highlighting nicknames Color for highlighting uins Color for highlighting status Color for highlighting time Message color Color for incoming events in history 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

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

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

Example:

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

If not 0, vICQ with work through HTTPS-capable proxy If not 0, vICQ with work through SOCKS-capable proxy(v5 only available for this moment) HTTPS/SOCKS proxy host HTTPS/SOCKS proxy port Login for HTTPS/SOCKS proxy authorization (if ommited - don't use aythorization for SOCKS proxy) Password for HTTPS/SOCKS proxy authorization 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

Directory, which contains history files.

Example:

 log_path=~/.vicq.log

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

If not 0 mICQ style completion is using: cicles through UINs used in previous msg commands 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 [email protected]

(send email to [email protected] 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)
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 send an instant ICQ message send SMS to specified person replie to last received message send a message to the last person you sent a message send an authorization to specified UIN send an URL to specified person
Status managment change status to 'Online' change status to 'Invisible' change status to 'Away' change status to 'Not availabe' change status to 'Occupied' change status to 'Do Not Disturb' change status to 'Free for chat' change status to 'Offline/Disconnect'
Contact list managment add UIN as nick to contact list display the current status of every person in your contact list display the current status of every online person in your contact list add/remove user to/from visible list add/remove user to/from invisible list display last count entries of the user's history. If count is negative shoes all entries display user's UIN, nick, current status, IP(and resolved host if available), dirrect connection info, and client version
Miscellaneous commands display help on command execute external command save config send user info request searche for ICQ user toggle to silent mode - change status events does not displays toggle to normal mode - change status events displays open last recieved URL with browser command shows/sets config variables values set basic White Pages info clear screen

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

 Show last message from UIN or nickname

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

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

 Display current version of vICQ

 activate/deactivate event  or add new event

 register new UIN with specified password

Message editing Input . in the empty line to end message or # to cancel message Alexander Timoshenko <[email protected]>