on *:text:*:*: {
if ($1 == !icq) && ($sock(ICQonline,0) == $chr(48)) {
if ($2) && (!$3) {
if ($remove($2,$chr(45)) isnum) {
sockopen ICQonline status.icq.com 80
sockmark ICQonline
sockmark ICQonline $iif($chan,$chan,$nick) $mid($remove($2,$chr(45)),1,9)
}
else {
msg $iif($chan,$chan,$nick) Error: An ICQ number consists only of digits.
}
}
elseif ($3) && ($2 == pro) {
if ($readini(icqnums.ini,nums,$3)) {
sockopen ICQonline status.icq.com 80
sockmark ICQonline
sockmark ICQonline $iif($chan,$chan,$nick) $readini(icqnums.ini,nums,$3)
}
else {
msg $iif($chan,$chan,$nick) Error: $3 is not in the database.
}
}
else {
msg $iif($chan,$chan,$nick) Syntax: !icq [Number] - !icq pro [ID-Nick]
}
}
}
on *:sockopen:ICQonline: {
if ($sockerr) {
msg $gettok($sock($sockname,1).mark,1,32) No connection to the ICQ server possible.
sockmark $sockname
sockclose $sockname
}
else {
sockwrite -n $sockname GET $+(/online.gif?icq=,$gettok($sock($sockname,1).mark,2,32),&&img=5)
}
}
on *:sockread:ICQonline: {
if ($sockerr) {
msg $gettok($sock($sockname,1).mark,1,32) No connection to the ICQ server possible.
sockmark $sockname
sockclose $sockname
return
}
var %icq.sockread
sockread %icq.sockread
while ($sockbr > 0) {
if (*<p>The document has moved <a href="/5/online1.gif">here</a>.</p>* iswm %icq.sockread) {
msg $gettok($sock($sockname,1).mark,1,32) 14ICQ-Report: $mid($gettok($sock($sockname,1).mark,2,32),1,3) $+ $iif($len($gettok($sock($sockname,1).mark,2,32)) >= 4,-) $+ $mid($gettok($sock($sockname,1).mark,2,32),4,3) $+ $iif($len($gettok($sock($sockname,1).mark,2,32)) >= 7,-) $+ $mid($gettok($sock($sockname,1).mark,2,32),7,3) ist 3online.
sockmark $sockname
sockclose $sockname
return
}
if (*<p>The document has moved <a href="/5/online0.gif">here</a>.</p>* iswm %icq.sockread) {
msg $gettok($sock($sockname,1).mark,1,32) 14ICQ-Report: $mid($gettok($sock($sockname,1).mark,2,32),1,3) $+ $iif($len($gettok($sock($sockname,1).mark,2,32)) >= 4,-) $+ $mid($gettok($sock($sockname,1).mark,2,32),4,3) $+ $iif($len($gettok($sock($sockname,1).mark,2,32)) >= 7,-) $+ $mid($gettok($sock($sockname,1).mark,2,32),7,3) ist 4offline.
sockmark $sockname
sockclose $sockname
return
}
if (*<p>The document has moved <a href="/5/online2.gif">here</a>.</p>* iswm %icq.sockread) {
msg $gettok($sock($sockname,1).mark,1,32) 14ICQ-Report: $mid($gettok($sock($sockname,1).mark,2,32),1,3) $+ $iif($len($gettok($sock($sockname,1).mark,2,32)) >= 4,-) $+ $mid($gettok($sock($sockname,1).mark,2,32),4,3) $+ $iif($len($gettok($sock($sockname,1).mark,2,32)) >= 7,-) $+ $mid($gettok($sock($sockname,1).mark,2,32),7,3) $+ 's Status is 14unknown.
sockmark $sockname
sockclose $sockname
return
}
sockread %icq.sockread
}
}
alias icq {
if ($1 == add)
if ($3) {
if ($remove($3,$chr(45)) isnum) {
if (!$readini(icqnums.ini,nums,$2)) {
writeini icqnums.ini nums $2 $mid($remove($3,$chr(45)),1,9)
echo -at 14ICQ-Number $mid($remove($3,$chr(45)),1,9) unter dem ID-Name ' $+ $2 $+ ' added.
}
else {
echo -at 14Error: ' $+ $2 $+ ' already has an entry.
}
}
else {
echo -at 14Error: An ICQ number consists only of numbers.
}
}
else {
echo -at 14Syntax: /icq add [ID-Name] [Number]
}
}
elseif ($1 == edit) {
if ($3) {
if ($remove($3,$chr(45)) isnum) {
if ($readini(icqnums.ini,nums,$2)) {
writeini icqnums.ini nums $2 $mid($remove($3,$chr(45)),1,9)
echo -at ICQ-Number $mid($remove($3,$chr(45)),1,9) unter dem ID-Name ' $+ $2 $+ ' edited.
}
else {
writeini icqnums.ini nums $2 $mid($remove($3,$chr(45)),1,9)
echo -at ICQ-Number $mid($remove($3,$chr(45)),1,9) under the ID-Name ' $+ $2 $+ ' added.
}
}
else {
echo -at Error: An ICQ number consists only of numbers.
}
}
else {
echo -at Syntax: /icq edit [ID-Name] [Number]
}
}
elseif ($1 == del) {
if ($2) {
if ($readini(icqnums.ini,nums,$2)) {
remini icqnums.ini nums $2
echo -at ICQ-entry ' $+ $2 $+ ' removed.
}
else {
echo -at Error: ' $+ $2 $+ ' has no entry.
}
}
else {
echo -at Syntax: /icq del [ID-Name]
}
}
elseif ($1 == list) {
if ($lines(icqnums.ini) >= 2) {
var %x = 2
while (%x <= $lines(icqnums.ini)) {
echo -at Pro: $replace($read(icqnums.ini,%x),=,$chr(32) $+ -> $+ $chr(32))
inc %x
}
}
else {
echo -at Error: No PRO-entries.
}
}
else {
echo -at Syntax: /icq add [ID-Name] [Number] - /icq edit [ID-Name] [Number] - /icq del [ID-Name] - /icq list
}