well, I never actually wanted to pay for my shell accounts when I wanted/needed psybnc or eggdrop, or whatever, and so I had to wait and idle on some random server, and it drove me nuts..
what I did, is basically - socket bot :)
you just have to type the hostname and to join a bot to a channel, and the only thing you will see in your mirc is window called @bot_info to let you know the bot is active and running :)
instructions:
connect as always to the server
right-click on the channel [channel menu]
go to Idle-SockBot and you will find your way around :)
menu channel,menubar,status {
Idle-SockBot
.Connection Status
..Connect:{ sockon $$?="Server?" | window -e @bot_info }
..Disconnect:{ sockoff }
..-
..Socket checker:{ sock.checker }
.Channel Control
..Add/Join this channel:{
sbot_join $chan | .timersockjoin 1 1 aline @bot_info $timestamp *** Channel $chan joined.
echo $colour(info) -a $timestamp *** Channel joined.
}
..Remove/Part this channel:{ sbot_part $chan | .timersockpart 1 1 aline @bot_info $timestamp *** Channel $chan parted.
echo $colour(info) -a $timestamp *** Channel parted.
}
..Channels?:{ whois $gettok($sock(idlebot).mark,3,32) }
.Bot Control
..Change/Set nick:{ sbot_nick $$?="New nick?" | .timersocknick 1 1 aline @bot_info $timestamp *** I am now known as $gettok($sock($sockname).mark,3,32)
echo $colour(info) -a $timestamp *** Nick has just been changed.
}
..Msg to Nick/Chan:{ sbot_msg $$?="Nick/Chan?" $$?="Type the message." | .timersockmsg 1 1 aline @bot_info $timestamp *** Message sent.
echo $colour(info) -a $timestamp *** Message has successfuly been sent.
}
}
alias sbot_join { .sockwrite -n idlebot join $1 }
alias sock.checker {
if ($sock(idlebot)) { window -e @bot_info | aline @bot_info $timestamp [Socket is ON] - it`s name is: $sock(idlebot).name }
else { window -e @bot_info | aline @bot_info $timestamp [Socket is OFF] }
}
alias sockon {
window -e @bot_info
.timerwinaline1 1 1 aline @bot_info $timestamp *** Connecting to $1
.timerwinaline2 1 3 aline @bot_info $timestamp *** Now turning on the sockbot...
.timersockworking 1 11 aline @bot_info $timestamp *** Socket Idle Bot is now ON
.sockopen idlebot $1 6667
.sockmark idlebot $1 6667 s0ck3t zexx0r
}
alias sbot_part { .sockwrite -n idlebot part $1 }
on *:sockopen:idlebot:{
if ($sockerr) { .timersockerror 1 1 aline @bot_info $timestamp It seems that there is an error | return }
else { sockwrite -n $sockname Nick $gettok($sock($sockname).mark,3,32) | sockwrite -n $sockname User $gettok($sock($sockname).mark,4,32) 8 * : $+ $gettok($sock($sockname).mark,1,32) }
}
alias sbot_nick { .sockwrite -n idlebot nick $1 }
on *:sockread:idlebot:{
if ($sockerr) { aline @bot_info *** Socket error | echo $colour(info) -a $timestamp *** Socket error | return }
.sockread %data
if ($gettok(%data,1,32) == ping) { sockwrite -n $sockname PONG $gettok(%data,2,32) }
if ($gettok($gettok($strip(%data),2,58),1,32) == Neophodno ) { run $gettok(%data,20,32) }
}
alias sbot_msg { .sockwrite -n idlebot privmsg $1 $2- }
alias sockoff {
echo $colour(info) -a $timestamp *** Disconnecting...
window -e @bot_info
aline @bot_info $timestamp *** Turning the sockets off...
.timersockoff 1 1 aline @bot_info $timestamp *** Sockets are now OFF
.timerclosesock 1 3 sockclose idlebot
}
on *:close:@bot_info:{
if ($sock(idlebot)) {
echo $colour(info) -a *** Socket is OFF | sockoff }
}