CLIMM

NAME | DESCRIPTION | COMMANDS CONCERNING MESSAGE SENDING | COMMANDS CONCERNING YOUR STATUS | COMMANDS CONCERNING FINDING AND SEEING OTHER USERS | COMMANDS CONCERNING YOUR CONTACT LIST | COMMANDS CONCERNING YOUR ICQ ACCOUNT | COMMANDS FOR CONFIGURING THE CLIMM CLIENT | COMMANDS CONCERNING ADVANCED FEATURES | COMMANDS FOR SCRIPTING | SEE ALSO | AUTHOR |

NAME

climm − interactive commands

DESCRIPTION

This manual page describes the commands that can be used within climm. This page holds the same information as the online help, but more precise and longer. Notations: square brackets ([]) denote optional arguments, while angle brackets (<>) denote arguments (in opposite to keywords). Specifically, <uin> denotes an arbitrary UIN, while <contacts> denotes a comma separated list of contacts, that is, of UINs and nick names. If it is the last argument, the contacts may also be separated by spaces.

COMMANDS CONCERNING MESSAGE SENDING

msg <contacts> [<message>]

Send a message to all contacts. Without message, or with message ending in a backslash (\), multi−line message mode is enabled. To send the multi−line message, put a period (.) on a line of its own. To cancel the message, put a hash sign (#) on a line of its own.
Outgoing and incoming messages are marked differently depending of the transport used. ««« and »»» mark messages sent via a direct connection. «%« and »%» mark messages sent via a direct connection that were encrypted (requires GnuTLS or OpenSSL enabled at compile time). «<< and >>» mark icq8 (also called type−2) messages. Lastly, <<< and >>> mark icq5 messages, which can be so called type−1, type−4 or offline message. These kind of messages are not acknowledged.
A message is first tried to be sent via a pre−existing direct connection; if none is established, one is initiated in the background for further messages. If no direct connection is open, or if the message is not acknowledged after some time, the connection will be failed and the next transport tried: sending as type−2 message. This step will be skipped if the peer does not set the required capabilities to signal its ability to receive them. If this is skipped, times out or returns an error, e.g. the peer has gone offline in the time between, the message is sent as an ordinary type−4 message.
If the peer signals its ability to accept them, messages are sent UTF−8 encoded and appropriately tagged. Otherwise, the message is sent encoded in the peer´s configured encoding, or, if unset, the default assumed remote encoding. type−1, type−4 and offline messages can not be tagged with their encoding, so successful transmission of non−USASCII−characters relies on correct configuration and heuristics.

a [<message>]

Send a message to the last person you sent a message to. Auto-expanding alias for msg %a.

r [<message>]

Reply to last message received. Auto-expanding alias for msg %r.

url <contacts> <url> <message>

Send a message regarding an url to all contacts.

sms [<nick>] [<cell>] <message>

Send an SMS message message to cell phone number cell, which looks like +<country code><number>, or to the cell phone number of nick, which will be set to cell if unset. You may not specify cell if nick already has a cell phone number given. Invalid cell phone numbers will be removed from the nick´s meta data.

chat <contacts> [<message>]

Sends a message message to contacts contacts just as the msg command. After the message is sent (or cancelled), multi-line mode is entered and messages sent until an empty message is cancelled. Cancelling a non-empty message will only cancel the message itself, and more messages in multi-line mode can be sent.

getauto [auto|away|na|dnd|occ|ffc] [<contacts>]

Requests auto message from contacts for given status, where away is for away, na for not available, dnd for do not disturb, occ for occupied and ffc for free for chat. If auto or nothing is given, the auto message for the contacts is fetched for their respective status. Contacts not in any of those status will be skipped. New for 0.4.10.

auth [req|grant|deny|add] <contacts>

Grant or deny all contacts to add you to their list, request from all contacts to allow you to add them to your contact list, or tell contacts that you added them to your contact list.

resend <contacts>

Resend the last message to more contacts.

last [<contacts>]

Show the last message received from contact, or from everyone who already sent a message.

h <contact> [<last> [<count>]]

history <contact> [<last> [<count>]]

Show messages from <contact> from the log files. Start at the last latest message, or the −last message if last is negative, defaulting to the 20ieth last message, and display count messages, defaulting to 20 if not given.

historyd <contact|*> <date> [<count>]

Show messages from <contact> or all contacts (for *) from the log files. Start at date date, which must be given in ISO 8601 format, either YYYY−MM−DD or YYYY−MM−DDTHH:MM:SS, and display count messages, defaulting to 20 if not given.

find <contact> <pattern>

Search the pattern pattern case−insensitive in the log file for contact.

finds <contact> <pattern>

Search the pattern pattern case−sensitive in the log file for contact.

tabs

Shows of a list of users you can tab through.

COMMANDS CONCERNING YOUR STATUS

login

A built−in shortcut for conn login. Opens the first server connection.

online [for <contacts> [<message>]]

Change status to online, or change status to online only for the listed contacts and optionally specify the status message for them.

away [for <contacts>] [<message>]

Change status to away and optionally set auto response temporarely for this status to message, or change status only for given contacts and optionally specify the status message for them.

na [for <contacts>] [<message>]

Change status to na(not available) and optionally set auto response temporarely for this status to message, or change status only for given contacts and optionally specify the status message for them.

occ [for <contacts>] [<message>]

Change status to occ(occupied) and optionally set auto response temporarely for this status to message, or change status only for given contacts and optionally specify the status message for them.

dnd [for <contacts>] [<message>]

Change status to dnd(do not disturb) and optionally set auto response temporarely for this status to message, or change status only for given contacts and optionally specify the status message for them.

ffc [for <contacts>] [<message>]

Change status to ffc(free for chat) and optionally set auto response temporarely for this status to message, or change status only for given contacts and optionally specify the status message for them.

inv [for <contacts>] [<message>]

Change status to inv(invisible) and optionally set auto response temporarely for this status to message, or change status only for given contacts and optionally specify the status message for them.

change [<number> [for <contacts>] [<message>]]

Without a number it lists some available modes. Otherwise, change status to number and optionally set auto response temporarely for this status to message, or change status only for given contacts and optionally specify the status message for them.

COMMANDS CONCERNING FINDING AND SEEING OTHER USERS

f <contacts>

finger <contacts>

Show all white page information for contacts <contacts>.

ss <contacts>

Show all saved white page information for contacts <contacts>.

i

List all the people on your ignore list.

s [<contacts>]

Show your current status, or of all given contacts in detail, including all aliases.

e, ee, eg, eeg, ev, eev, egv, eegv, w, ww, wg, wwg, wv, wwv, wgv, wwgv

List parts of your contact list. The following flags are displayed in the first column:

+

This entry is actually no real contact, but an alias of the preceding one. Only with ww.

#

This entry is not on your contact list, but the UIN was used at some time. Only with w and ww.

*

This contact will see your status even if you´re invisible.

This contact won´t see you at all.

^

This contact is ignored: no messages, no status changes.

The ww* and ee* group of commands display another column for direct connection flags. If the first column would be empty, it will be displayed in the first contact for all of those commands unless it´s ^.

&

A direct connection to this contact is established.

|

A direct connection to this contact has failed.

:

A direct connection is currently tried to be established.

^

No direct connection opened, but IP address and port number are known.

Another column is added for the ww* and ee* group of commands to show the status with regards to the server side contact list, as far as it is known:

S

The contact is in the server side contact list, and should be there.

s

The contact is in the server side contact list, but should not be there.

.

The contact is not in the server side contact list, but should be there. This usually means "authorization required".

´ ´

The contact is not in the server side contact list, and is not wanted there.

e [<group>]

List all people which are online in your contact list. Also print your own status.

ee [<group>]

List all people which are online in your contact list with more details.

eg, eeg

As above, but sort by groups. New for 0.4.10.

w, ww, wg, wwg

As above, but also include offline contacts.

ev, eev, egv, eegv, wv, wwv, wgv, wwgv

As above, but also include hidden contacts (with the shadow option effectively set). New for 0.5.

ewide

List all people which are online in your contact list in a screen wide format.

wide

List all people in your contact list in a screen wide format.

search

search <em@il>

search <contact>

search <first> <last>

Search for a user with em@il as their email address, with nick as their nick (which mustn´t contain an @), or with first as their first and last as their last name. If no argument is given, ask for nick name, first name, last name, email address and a whole bunch of other data to search for.

rand [<number>]

Find a random user in interest group number. If number is not given, list all interest groups.

COMMANDS CONCERNING YOUR CONTACT LIST

Note: you need to save to make any of the changes done by these commmands persistent for the local contact list.

add <uin> <nickname>

Add uin to your contact list as nickname.

add <contact> <alias>

addalias <contact> <alias>

Add alias alias for nickname. New (addalias) for 0.4.10.

add [<group> [<contacts>]

addgroup <group> [<contacts>]

Add all contacts in contacts to the contact group group, which is created if it doesn´t exist and the command is given as addgroup. New for 0.4.10.

rem <contacts>

Remove the aliases in contacts. If any nick is the last alias for this contact, remove the contact completely.
Note: This command has a different meaning if the first argument of the contacts is a group name, so if you want to affect all contacts of a group, you may not use this as the first parameter; e.g. mention one member of the group first.

remalias <contacts>

Remove the aliases in contacts.
Modified for 0.6.3.

rem all <contacts>

remcont <contacts>

Remove the contact completely from the contact list.
New (remcont) for 0.6.3.
Note: The command rem has a different meaning if the first argument of the contacts is a group name, so if you want to affect all contacts of a group, you may not use this as the first parameter; e.g. mention one member of the group first.

rem <group> <contacts>

remgroup <group> <contacts>

Remove all contacts in contacts from the contact group group. Modified for 0.6.3.

rem all <group>

remgroup all <group>

Remove all contacts from the contact group group. Further arguments may be silently ignored. If remgroup all is used, discard of the contact group completely. Modified for 0.6.3.

togig <contacts>

Toggles whether contact´s messages and status changes are ignored.

toginv <contacts>

Toggles whether you will be hidden for contacts.

togvis <contacts>

Toggles whether contacts can see you even if you are invisible.

COMMANDS CONCERNING YOUR ICQ ACCOUNT

pass <password>

Changes your icq password to password.
Note: your password may not start with ó (the byte 0xf3).
Note: you need to save to make this persistent in case you save your password in your ~/.climm/climmrc file (see climmrc(5)), or you will get a mismatched password on your next login.

update

Updates your basic user information (email, nickname, etc.).

other

Updates other user information like age and sex.

about

Updates your about user information.

setr [<number>]

Sets your random user group to number. Without argument, lists possible interest groups.

reg <password>

Creates a new user account with password password.

COMMANDS FOR CONFIGURING THE CLIMM CLIENT

verbose [<level>]

Set verbosity of climm to level, or show the current verbosity. The verbosity level is a set of flags:

8

Show protocol errors.

16

Show creation and deletion of packets.

32

Show added and removed queue events.

64

Show created and deleted connections.

256

Show v6 packets and their data.

4096

Show v7/v8 packets.

8192

Show the hexdump of v7/v8 packets.

16284

Save those packets to disc.

65536

Show peer−to−peer packets.

131072

Show the hexdump of peer−to−peer packets.

262144

Save those packets to disc.

2097152

Show peer−to−peer handshake.

4194304

Show I/O connection setup.

However, any non−zero verbose level will cause more information to be printed, and any level greater than 1 even more.

clear

Clear the screen.

sound [on|off|event]

Toggle sound on or off, or call the event script for beeps. New syntax for 0.4.10.

prompt <user_prompt>

Set user prompt in user_prompt. The following variables will be parsed and may be used in prompt string:

%U

by your current user name

%n

by your current nick

%S

by description of your status

%s

by short description of your status

%P

by server name

%p

by type of server (icq8, jabber, msn...)

%a

by last send uin/nick

%r

by last recived uin/nick

%t

by time in format HH:MM:SS

%T

by time in format given in option prompt_strftime .

%%

%

%[0−9]c

by foreground color

%[0−9]C

by background color

%[0−1]b

bold. on = 1 (default), off = 0

%[0−1]u

underline. on = 1 (default), off = 0

%[0−1]i

inverse; on = 1 (default), off = 0. Reverses foreground and background colors.

%d

set default all colors and styles

\b

backspace

\r

carriage return

\n

new line

\t

horizontal tab

\e

ESC

\\

backslash

Example: prompt %4c%b%p%d://%1c%b%n%3c/%2c%b%s%8c %t%7c%b>%6c%r%7c%b<%6c%b%a%7c%b>

autoaway [<timeout>|on|off]

Set the timeout to timeout, or switch auto away on using the last used or default auto away time, or switch auto away off saving the current used auto away time. A timeout of 0 is equivalent to off. If no argument is given, the current setting is displayed.

alias [auto[expand]] [<alias> [<expansion>]]

Make a new alias named alias which is substituted with expansion. If no alias is given, list all current aliases. If no expansion is given, list the current alias. Otherwise, create a new alias. If the auto or autoexpand keyword is given, the new alias is auto-expanding, that is, it is immediately expanded when the space or return key is pressed directly after entering the alias.
If the string %s is present in expansion, each occurence is replaced with the given arguments when the alias is invoked, otherwise they will be appended. If the string %r is present in expansion, each occurence is replaced by the nick name or, if the nick is not available, the UIN, of the contact that sent the last message to you, or the empty string if there is none. If the string %a is present in expansion, each occurence is replaced by the nick name or, if the nick is not available, the UIN, of the contact that you sent the last message to, or the empty string if there is none.
New for 0.4.10. Auto-expanding aliases new for 0.5.0.4.

unalias <alias>

Delete the alias named alias. New for 0.4.10.

lang [<lang>|<nr>] ...

Switch to the language and encoding lang, given by iso code, or output translation string number nr. To select the default language given by the environment variables LANG, LC_ALL and LC_MESSAGES, use !, auto or default. To select no translation at all, use ., none or unload. To get debugging information, prefix it with debug.

The files from ~/.climm/i18n/*.i18n take precedence over the global ones, the files from BASE/i18n/*.i18b take precedence over those from ~/.climm/i18n/*.i18n, while the "funny" texts take precedence over the standard ones.

You may specify as many arguments as you wish, e.g. to print string number 117 in German and then switch back to default language, use "trans de 117 default".

uptime

Show the time climm has been running, plus some statistics.

set <option> <value>

Set option option to either on or off, or an option specific set of values. option can be:

color:

use colors,

delbs:

interpret delete characters as backspace,

funny:

use funny messages,

auto:

send auto−replies when you´re e.g. away,

prompt:

Type of the prompt:

user

use user prompt. See command prompt in climmcmds(7), and options prompt and prompt_strftime in climmrc(5),

uin

have the last nick in the prompt,

simple

simple prompt, by default is "climm>".

autosave:

automatically save the climmrc,

autofinger:

automatically finger new UINs,

linebreak:

set the style for line−breaking messages to simple, to simply print the message after the nick and wrap, break, to add a line break before printing each incoming message, indent, to indent all lines of a message to the level after the nick, or smart, to add a line break only if the message wouldn´t fit on the line.

New options for 0.4.10. Options hermit, log, logonoff, silent, tabs removed for 0.5; use the opt command for them.

opt [<contact>|<contact group>|connection|global [<option> [<value>]]]

Set option option for contact contact, contact group contact group, for the current connection or globally to the value value, or display the current value, or display all options and their settings.
When resolving options for contacts, the option for the contact itself will be used, if set; otherwise, if the contact belongs to a group, the option for that group, if set; otherwise, if the contact belongs to a server connection (i.e. is not yet removed), the option for the server connection; otherwise the global option, if set. Otherwise, 0 for integer options, FALSE for boolean options, the color string for "no color" unless this color string is requested, or the empty string for string options.
When resolving options for contact groups, the same is done except for the first step; options for connections are taken from the connection, then globally; and global options, of course, only globally.
The following options currently exist, with type and applicability:

colorscheme integer global

The number of the color scheme to use. Set to 0 to disable and use the colors defined below.

colornone color global

The color string to use for normal text. The keywords black, red, green, yellow, blue, magenta, cyan, white, none, and bold are understood and replaced by their ANSI control sequences. Note that any color already includes none, so specify bold always after the color. Any other text is interpreted as control characters to output verbatim.

colorserver color global

The color string to use for server stuff.

colorclient color global

The color string to use for client stuff.

colorinvchar color global

The color string to use when displaying byte−sequences invalid for the given encoding.

colorerror color global

The color string to use for errors.

colordebug color global

The color string to use for debug output.

colorquote color global

The color string to use for quoted text.

webaware boolean connection

Whether the current status should be visible on the web.

hideip boolean connection

Whether to hide the (local) IP address.

dcauth boolean connection

Whether authorized contacts can see the (remote) IP address.

dccont boolean connection

Whether contacts can see the (remote) IP address.

countaway boolean connection

If set, incoming messages will be counted and their originators shown if the status is manually changed to anything other than online or ffc (with or without invisible). Otherwise, this is only done if the status was automatically changed to away or na (with or without invisible).

obeysbl boolean connection

Whether to load the server−based contact list upon login. This will enforce required authorizations, which will be ignored for local contact lists.

ignore boolean contact

Whether to ignore all messages from this contact.

hidefrom boolean contact

Whether to be invisible for this contact.

intimate boolean contact

Whether to be allways visible for this contact.

logonoff boolean contact

Whether to log when this contacts goes online or offline.

logchange boolean contact

Whether to log status changes for this contact.

logmess boolean contact

Whether to log messages for this contact.

showonoff boolean contact

Whether to show when this contact goes online or offline.

showchange boolean contact

Whether to show status changes for this contact.

autoauto boolean contact

Whether to automatically request automatic messages on status changes for this contact.

hideack boolean contact

Whether to hide acknowledges for messages to this contact.
Note: using this is a really bad idea, as you’ll miss when messages are resent without acknowledge.

wantsbl boolean contact

Whether you want this contact to be on the server side contact list.

peekme boolean contact

Whether you want this contact to be peeked when using the peek all or peekall command.

shadow boolean contact

Whether you want to hide this contact in contact list displays as long as none of the *v commands is used.

local boolean contact

Whether this contact is not a real contact, but just a nick for a number.

encoding string contact

The encoding to assume for messages whose encoding is undefined, in particular meta data on the server.

tabspool integer contact

Whether to add a contact to the tabs list upon startup.

autoaway string contact

The autoaway string for status away to return to this contact.

autona string contact

The autoaway string for status na to return to this contact.

autoocc string contact

The autoaway string for status occ to return to this contact.

autodnd string contact

The autoaway string for status dnd to return to this contact.

autoffc string contact

The autoaway string for status ffc to return to this contact.

colormessage string contact

The color string to use for messages of this contact.

colorsent string contact

The color string to use for the nick when messages are sent.

colorack string contact

The color string to use for the nick when messages are acknowledged.

colorincoming string contact

The color string to use for the nick when messages are received.

colorcontact string contact

The color string to use for the nick otherwise.

New for 0.5.

optcontact <contact> [<option> [<value>]]

Set or display option option or all options of contact contact. New for 0.5.

optgroup <group> [<option> [<value>]]

Set or display option option or all options of contact group group. New for 0.5.

optconnection [<option> [<value>]]

Set or display connection option option. New for 0.5.

optglobal [<option> [<value>]]

Set or display global option option. New for 0.5.

save

Saves current settings in the configuration file, which is ~/.climm/climmrc, unless specified otherwise. Beware, it will clobber any comments in this file.

q [<msg>]

quit [<msg>]

exit [<msg>]

Quit climm. If given, send the message msg to all contacts previously messaged that are still online and on the contact list.
Note: climm will not wait for any acknowledges - if the message is not received by the contact for whatever reason, it will not be resent.
Aliases quit and exit new for 0.4.10.

x [<msg>]

Quit climm without saving. If given, send the message msg to all contacts previously messaged that are still online and on the contact list.
Note: climm will not wait for any acknowledges - if the message is not received by the contact for whatever reason, it will not be resent.
Aliases quit and exit new for 0.4.10. New for 0.5.

COMMANDS CONCERNING ADVANCED FEATURES

meta [show|load|save|set|get|rget] <contacts>

Handle meta data of contacts. The following subcommands are known:

show

Shows the meta data of all contacts given.

load

Loads the meta data for all contacts given from disc and shows them.

save

Saves the meta data for all contacts given to disc.

set

Uploads your meta data to the server.

get

Gets the meta data for all contacts from the server and shows them.

getr

Gets the meta data for the contact the last message was received from from the server and shows it.

New for 0.4.10.

file [...]

Alias for peer file. New for 0.4.10.

accept [...]

Alias for peer accept. New for 0.4.10.4.

peer <command> <uin|nick>

Operate command command on user given by UIN uin or nick name nick.

open

Open a peer to peer connection over TCP to the user.

close

Close and reset a peer to peer connection to the user.

off

Switch off trying to establish such a connection for sending messages until it is explicitly opened or reset.

file <file> <description>

Send file file with description description.

files [<file> <as>]... <description>

Send files to the user. There may be arbitrarily many pairs of a physical file name file and the name to be presented to the peer, as. If as is ´/´, the file name without the path is sent, and if it is ´.´ the same name is sent.

accept [<contact>] [<id>]

Accept an incoming file request from contact with the given ID id. If there is only one pending incoming file request, the contact and id arguments may be omitted, otherwise it is undefined which file request is answered when several match.

deny [<contact>] [<id>] [<reason>]

Deny an incoming file request from contact with the given ID id with the reason reason.

login [...]

Alias for conn login. New for 0.4.10.4.

conn [<command> <nr>]

List all connections, or operate command on connection nr.

open

Open the given, or the first server connection. An optional password may be given, which overrides any previously known one.

login

Open the given, or the first server connection. An optional password may be given, which overrides any previously known one.

close

Close the given connection. Temporary connections will get removed by this.

remove

Close and remove given (temporary) connection.

select

Select the given server connection as the current one. nr may be the connection number or the UIN used for the connection.

contact [<command>]

Handle the server side contact list:

show

Download the server side contact list and just show it.

diff

Download the server side contact list and show only contacts (uin/nick pairs) that are not in the local contact list.

add

Download the server side contact list and add all contacts to the local one.

upload

Try to upload local contacts to the server side contact list.

download

Download contacts from the server side contact list, but avoid modifying already existing contacts.

import

Download contacts from the server side contact list, modifying existing contacts.

Note: This will always try to upload only those contacts with the wantsbl contact option. Do a optglobal wantsbl on if you want to upload all of your contacts.

peek [<contacts>] [all] [<contacts>]

Check for each contact whether it is actually online or not. The special keyword all will check upon all contacts with the peekme option effectively set.
Note: This abuses a bug in the ICQ protocol to figure this out and thus can stop working at any time. No additional information except online or offline can be found out this way.

peek2 <contacts>

Builtin alias for getauto away contacts. Can be used to detect presence of users of some clients, but this itself can be detected by the other user’s client. climm since 0.5 will not be detected by this, but will detect tries from other clients.

peekall [<contacts>]

Builtin alias for peek <contacts> all.

as <nr|uin> <cmd>

Execute climm command cmd as if the connection number nr or for the UIN uin would be the current one.

COMMANDS FOR SCRIPTING

tclscript <file>

Execute the tcl script file, which may be given relative to the climm base directory.

tcl <string>

Execute the tcl command string. Type tcl climm help to get a list of climm−specific tcl commands.

SEE ALSO

climm(1), climmrc(5)

AUTHOR

This man page was originally created by James Morrison <ja2morrison@student.math.uwaterloo.ca> for a reference to all interactive commands in climm. It has been adapted to current usage by Rüdiger Kuhlmann.