Coders-IRC


IRC for Coders

WHOIS script


image

This is some very basic code that translates the confusing WHOIS outputs into a simpler format.

It should work for all RAW WHOIS outputs from Rizon, (nag me if I've missed any!) and most unmodified Unreal (including custom SwiftIRC IRCd) and InspIRCd servers.

Note: I've included the +g and +G modes, but to show them in a WHOIS output you'll most likely need to do /whois to reveal that information.

Code below goes into Remotes obviously, Alt+R and copy+paste.


raw 311:*: {
  set %whois 1
  echo -a 4 $+ $2 $+  Address: $3 $+ $chr(64) $+ $4
  echo -a 4 $+ $2 $+  Realname: $6
  haltdef
}

raw 378:*is connecting*: {
  echo -a 4 $+ $2 $+  Host: $6
  echo -a 4 $+ $2 $+  IP: $7
  haltdef
}

raw 338:*is actually*: {
  echo -a 4 $+ $2 $+  Host: $5
  echo -a 4 $+ $2 $+  IP: $remove($6,$chr(91),$chr(93))
  haltdef
}

raw 307:*: {
  echo -a 4 $+ $2 $+  is a registered nick
  haltdef
}

raw 319:*: {
  echo -a 4 $+ $2 $+  Channels: $3-
  haltdef
}

raw 312:*: {
  echo -a 4 $+ $2 $+  Server: $3 $4-
  haltdef
}

raw 716:*server side ignore*: {
  if ($5 === +G) {
    echo -a 4 $+ $2 $+  $5 $+ : Soft server side ignore
    haltdef
  }
  elseif ($5 === +g) {
    echo -a 4 $+ $2 $+  $5 $+ : Server side ignore
    haltdef
  }
}

raw 310:*is using modes*: {
  echo -a 4 $+ $2 $+  Modes: $6-
  haltdef
}

raw 313:*is a*: {
  if (service isin $3-) {
    echo -a 4 $+ $2 $+  is a network service
    haltdef
  }
  elseif (bot isin $3-) {
    echo -a 4 $+ $2 $+  is a network service
    haltdef
  }
  elseif ($5 == IRC) && ($6 == Operator) && ($7) && ($network == Rizon) {
    echo -a 4 $+ $2 $+  IRCOp: ( $+ $8- $+ )
    haltdef
  }
  elseif (!$7) && ($network == Rizon) {
    echo -a 4 $+ $2 $+  IRCOp: ( $+ IRC Operator $+ )
    haltdef
  }
  else {
    echo -a 4 $+ $2 $+  IRCOp: ( $+ $5- $+ )
    haltdef
  }
}

raw 310:*is available for help.: {
  echo -a 4 $+ $2 $+  is available for help
  haltdef
}

raw 335:*: {
  echo -a 4 $+ $2 $+  is a bot on $network
  haltdef
}

raw 671:*secure connection*: {
  echo -a 4 $+ $2 $+  is using a secure connection
  haltdef
}

raw 672:*cgi*irc*: {
  echo -a 4 $+ $2 $+  is a CGI:IRC client
  haltdef
}

raw 317:*seconds idle*signon time*: {
  echo -a 4 $+ $2 $+  Idle: $duration($3)
  echo -a 4 $+ $2 $+  On IRC: $asctime($4)
  haltdef
}


raw 330:*is logged in as*: {
  echo -a 4 $+ $2 $+  is logged in as $3
  haltdef
}

raw 320:*is using a secure connection: {
  echo -a 4 $+ $2 $+  is using a secure connection
  haltdef
}

raw 379:*is using modes*: {
  echo -a 4 $+ $2 $+  Modes: $6-
  haltdef
}

raw 301:*: {
  echo -a 4 $+ $2 $+  Away: $3-
  haltdef
}

raw 537:*is currently immune to filtering*: {
  echo -a 4 $+ $2 $+  is immune to filtering
  haltdef
}

raw 401:*no such nick*channel*: {
  echo -a 4 $+ $2 $+  No such nickname.
  haltdef
}

raw 318:*end of*: {
  echo -a 4 $+ $2 $+  End of WHOIS.
  echo -a -
  unset %whois
  haltdef
}

Expand


Read More

Multi-owner script


image

1. Press alt+r to bring up script window.
2. Go to File > New
3. Paste code from box above into the window.
4. Replace #your.channel.here with your channel name.
5. Right-click on the nick you want to add/delete.
6. Find "Owners", and click to add/delete them or list all the users in the database.
7.Jason stinks. You have to be connected to one of those irc server things.
8. Make sure you have ownermode set on your channel. (/msg chanserv set #channel ownermode on)


Auto-owner v1.0

on *:start: { hload ownertable owners.txt }

on *:join:#your.channel.here: { if ($find(ownertable,$nick)) { mode $chan +q $nick } }

menu nicklist {

Owners

.Add: {

if (!$hget(ownertable)) { hmake ownertable 10 }

if ($hfind(ownertable,$1)) { echo -a 07 $+ $timestamp *** User $1 already exists in the owner database. }

else {

hadd ownertable $1 1

hsave -a ownertable owners.txt

echo -a 07 $+ $timestamp *** User $1 added to the owner database.

}

}

.Del: {

if ($hfind(ownertable,$1)) { hdel ownertable $1 | echo -a 07 $+ $timestamp *** User $1 removed from the owner database. }

else { echo -a 7 $+ $timestamp *** User $1 not found in the owner database. }

}

.-

.List: {

if ($hget(ownertable,0).item == 0) { echo -a 07 $+ $timestamp *** No users currently exist in the owner database. | halt }

echo -a 7 $+ $timestamp *** Users that are set to be auto +q'd:

var %ownernum = $hget(ownertable,0).item

while (%ownernum) {

echo -a 07 $+ $timestamp *** $calc($hget(ownertable,0).item - %ownernum + 1) $+ . $hget(ownertable,%ownernum).item

dec %ownernum

}

echo -a 7 $+ $timestamp *** End of list. $hget(ownertable,0).item $+ $iif($hget(ownertable,0).item == 1,user,users) $iif($hget(ownertable,0).item == 1,exists,exist) in the owner database.

}

}

Expand


Read More

Eggdrop v1.9.0 Release Candidate 2


image
A new ident module with oidentd supportThe listen command now takes an optional IP; allowing you to listen on multiple IPs at the same timeISUPPORT / RAW 005 parsing is now possible. There is still work to be done in the future to automatically integrate some of these values into how Eggdrop interacts with the server, but for now they are available for you to use via the Tcl interfaceA significant change from RC1 based on feedback: What was previously the addserver/delserver Tcl command in RC1...

Read More