| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- ##
- ## ~/.irc/openpkg -- ircII run-commands for OpenPKG Foundation settings
- ## Copyright (c) 2005 Ralf S. Engelschall <rse@engelschall.com>
- ##
- # Banner
- ^set display off
- echo *** Loading ircII configuration: openpkg (OpenPKG Foundation)
- # Convenience Ratbox Services Login
- # Usage: /login [[[<nickname>] <username>] <password>]
- alias login {
- # determine command line arguments
- if ([$2] != [] && [$3] == []) {
- ^assign login.nickname $0
- ^assign login.username $1
- ^assign login.password $2
- }
- if ([$1] != [] && [$2] == []) {
- ^assign login.username $0
- ^assign login.password $1
- }
- if ([$0] != [] && [$1] == []) {
- ^assign login.password $0
- }
- # optionally determine nickname
- if ([$login.nickname] == []) {
- ^assign login.nickname $IRC_LOGIN_NICKNAME
- if ([$login.nickname] == []) {
- ^assign login.nickname $IRCNICK
- if ([$login.nickname] == []) {
- ^assign login.nickname $N
- }
- }
- }
- if ([$login.nickname] == []) {
- echo *** login:ERROR: IRC authentication nickname not known
- echo *** login:ERROR: (set shell $IRC_LOGIN_NICKNAME, shell $IRCNICK, ircII $login.nickname or use /nick)
- }
- # optionally determine username
- if ([$login.username] == []) {
- ^assign login.username $IRC_LOGIN_USERNAME
- if ([$login.username] == []) {
- ^assign login.username $IRCUSER
- if ([$login.username] == []) {
- ^assign login.username $login.nickname
- }
- }
- }
- if ([$login.username] == []) {
- echo *** login:ERROR: IRC authentication username not known
- echo *** login:ERROR: (set shell $IRC_LOGIN_USERNAME, shell $IRCUSER, or ircII $login.username)
- }
- # optionally determine password
- if ([$login.password] == []) {
- ^assign login.password $IRC_LOGIN_PASSWORD
- if ([$login.password] == []) {
- ^assign login.password $IRCPASS
- }
- }
- if ([$login.password] == []) {
- echo *** login:ERROR: IRC authentication password not known
- echo *** login:ERROR: (set shell $IRC_LOGIN_PASSWORD, shell $IRCPASS, or ircII $login.password)
- }
- if ([$login.nickname] == [] || [$login.username] == [] || [$login.password] == []) {
- echo *** login:ERROR: Unable to authenticate you because of missing information.
- __login_cleanup
- }{
- __login_step1
- }
- }
- alias __login_step1 {
- # communicating to UserServ
- if ([$login.nickname] == [$login.username]) {
- echo *** login: authenticating to UserServ with username ${login.username}
- }
- ^msg USERSERV login $login.username $login.password
- if ([$N] != [$login.nickname]) {
- timer 2 __login_step2
- }{
- __login_cleanup
- }
- }
- alias __login_step2 {
- # communicating to NickServ
- echo *** login: requesting to NickServ the regaining of nickname ${login.nickname}
- ^msg NICKSERV regain $login.nickname
- timer 2 __login_step3
- }
- alias __login_step3 {
- # communicating to IRC
- echo *** login: resurrecting nickname ${login.nickname}
- nick $login.nickname
- timer 2 nick
- __login_cleanup
- }
- alias __login_cleanup {
- ^assign -login.nickname
- ^assign -login.username
- ^assign -login.password
- }
- # Flexible Channel Joining
- # Usage: /join [<channel>]
- alias join {
- ^assign alias.join.channel $0
- ^on -473 "*Cannot join channel*+i*" {
- msg CHANSERV invite $alias.join.channel
- timer 2 __join_repeat
- }
- //join $alias.join.channel
- timer 4 __join_cleanup
- }
- alias __join_repeat {
- ^on -473 -"*Cannot join channel*+i*"
- //^join $alias.join.channel
- }
- alias __join_cleanup {
- ^assign -alias.join.channel
- ^on -473 -"*Cannot join channel*+i*"
- }
- # Convenience Operator Privilege Regaining
- # Usage: /opme
- alias opme {
- msg CHANSERV op $C
- }
- # Convenience Voice Management
- # (for moderated channels)
- # Usage: /voice [[+]|- <nickname>]
- alias voice {
- if ([$0] == []) {
- if (#alias.voice.nick == 0) {
- echo *** voice: (none)
- }{
- @ tmp = [$alias.voice.nick]
- while (#tmp > 0) {
- @ nick = pop(tmp);
- echo *** voice: granted to $nick
- }
- ^assign -tmp
- ^assign -nick
- }
- }{
- ^assign op +
- ^assign nick $0
- if (left(1 $nick) == [-] || left(1 $nick) == [+]) {
- ^assign op $left(1 $nick)
- ^assign nick $strip([+-] $nick)
- }
- if ([$op] == [+]) {
- echo *** voice: granting to $nick
- mode $C +v $nick
- @ alias.voice.nick = pluck(alias.voice.nick $nick)
- @ alias.voice.nick = [$alias.voice.nick $nick]
- }{
- if ([$nick] = [all]) {
- @ tmp = [$alias.voice.nick]
- while (#tmp > 0) {
- @ nick = pop(tmp);
- echo *** voice: taking from $nick
- mode $C -v $nick
- }
- ^assign -tmp
- ^assign -nick
- @ alias.voice.nick = []
- }{
- echo *** voice: taking from $nick
- mode $C -v $nick
- @ alias.voice.nick = pluck(alias.voice.nick $nick)
- }
- }
- }
- }
- # Convenience All-In-One Session Setup
- alias session {
- clear
- echo ::: session: preparing main window
- window name main
- echo ::: session: logging in
- login
- echo ::: session: spawning other windows
- timer 2 __session_step2
- timer 8 __session_step3
- timer 14 __session_step4
- }
- alias __session_step2 {
- window new name foundation
- window refnum foundation
- clear
- echo ::: session: preparing foundation window
- timer 1 join \#foundation
- }
- alias __session_step3 {
- window new name community
- window refnum community
- clear
- echo ::: session: preparing community window
- timer 1 join \#community
- }
- alias __session_step4 {
- window refnum main
- window balance
- echo ::: session: established.
- list
- join
- }
- # End of Configuration
- ^set display on
|