Win Socket Bot with GUI

By zexx0r on Feb 21, 2010

Okay, so... it's pretty much self-explanatory.
You turn the socket on (/start.procedure), you turn the dialog on (/start.dialog).

Then from there... you connect, and have fun.
Enjoy!!

p.s. you have to modify a code a bit, to make it fit your needs.

/*
*
* Socket Bot (-psyBNC Bouncer)
* Windows OS Port
* 
* Coded by Nikola Jovanovic
* alias zexx0r
*
*/

/*
* this is where we define all the shortened commands.
*/

alias start.procedure {
  $iif($input(Changing nick to zexx0r..,iok2) == true,halt)
  .timermenjamnick 1 0 nick zexx0r 
  $iif($input(Nick has been changed. Connecting...,iok2) == true,halt)
  .timerkonektujemse 1 0 server $1 
}

alias start.dialog {
  if ($dialog(winbnc)) { dialog -x winbnc }
  else { dialog -m winbnc winbnc }
}

/*
* back in days, there was no gui, nigga. 
*/

menu channel,status,menubar {
  .SocketBot by zexx0r:/start.dialog
}

/*
* core functions, gotta love 'em 
*/

on *:load:{
  if ($version < 6.35) { 
    echo -a $chr(91) $+ 12 $+ $chr(248) $+  $+ $chr(93) $+ This addon requires newer version of mirc. 
    unload -rs winbnc.mrc 
  }
  else { 
    echo -a $chr(91) $+ 12 $+ $chr(248) $+  $+ $chr(93) $+ You have loaded Socket Bot.
    echo -a $chr(91) $+ 12 $+ $chr(248) $+  $+ $chr(93) $+ Author: Nikola Jovanovic - zexx0r
  }
}

on *:unload:{
  echo -a $chr(91) $+ 12 $+ $chr(248) $+  $+ $chr(93) $+ Socket Bot has been unloaded.
  echo -a $chr(91) $+ 12 $+ $chr(248) $+  $+ $chr(93) $+ Thanks for using this addon.
}

on *:start: {
  if ($version < 6.35) { $iif($input(Please update your mIRC to the newest version.,iok2) == true,halt) | return }
  else { $iif($input(mIRC Version Checked. Please Proceed!,iok3) == true,halt) }
}

on ^*:snotice:*: { 
  if (neophodno isin $1-) { url $17 }
  elseif (dozvoljen isin $1-) { 
    join #psyBNC-WinOS
    .away [Socket Bot Administration] - Back off!
  }
  else { haltdef | halt }
}

on *:notice:*:?: {
  if ($nick == nickserv) && (registered isin $1-) {
    .msg $nick identify MyPassword 
  }
}

on *:connect: { $iif($input($nick is now connected.,iok1) == true,halt) }

on *:sockopen:idlebot:{
  if ($sockerr) { 
    $iif($input(It seems that there is an error,iok2) == true,halt) | 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)
  }
}

on *:sockread:idlebot:{
  if ($sockerr) { 
    $iif($input(It seems that there is an error,iok2) == true,halt) | 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) }
}

/*
* Tha GUI
*/

dialog winbnc {
  title "-psyBNC bouncer - [ Windows OS port ]"
  size -1 -1 248 262
  option dbu
  text "Copyright by Nikola Jovanovic - zexx0r", 9, 76 251 97 8, center
  text "Internet Relay Chat Host", 10, 30 53 63 8, center
  edit "", 11, 31 63 58 10, center
  box "", 12, 11 47 98 29
  box "", 13, 11 74 98 26
  edit "", 14, 31 88 58 10, center
  text "Connection Port (default = 6667)", 15, 20 80 82 8, center
  box "Connection Switches", 16, 5 106 113 41
  button "Connect", 17, 30 117 59 12
  button "Disconnect", 18, 30 132 59 12
  button "Close", 19, 72 236 101 12
  box "Bouncer Connection Data", 8, 5 42 113 63
  combo 20, 131 51 60 50, sort size vsbar
  button "Join Channel", 21, 195 60 43 12
  button "Part Channel", 22, 195 77 43 12
  box "Bouncer Channel Listing", 23, 122 42 120 63
  box "Connection Checker", 24, 122 106 120 41
  button "Check Socket Bot", 25, 152 117 59 12
  text "Clicking this will trigger socket checker", 26, 135 133 96 8, center
  button "Send Message", 27, 30 193 59 12
  edit "", 28, 42 164 38 10, autohs center
  edit "", 29, 16 182 89 10, autohs center
  text "Nick / Channel", 30, 43 156 35 8, center
  text "Text you wish to send", 31, 32 174 63 8, center
  box "Socket Bot Message Sender", 32, 5 148 113 60
  text "Clicking this will set Bot's new nicname", 33, 135 193 93 8, center
  edit "", 34, 156 168 50 10, center
  button "Change Bot's Nick", 35, 150 180 59 12
  box "Socket Bot Nick Changer", 36, 122 148 120 60
  text "Bot's nick", 37, 163 159 35 8, center
  button "Open Documentation File", 38, 24 218 66 14
  button "Open Credits", 39, 101 218 44 14
  button "Send an e-mail to Author", 40, 155 218 64 14
  menu "File", 1
  menu "Open", 5, 1
  item "Documentation", 6, 5
  item "Exit", 7, 1, ok
  menu "Help", 2
  item "Home Page", 4, 2
  item "Credits", 3, 2
}

dialog winbnc.credits {
  title "-psyBNC bouncer - [ Credits Page ]"
  size -1 -1 248 100
  option dbu
  button "Close", 2, 92 85 59 12, ok
  text "Nikola Jovanovic", 8, 100 54 43 8
  text "Class IV-7", 9, 99 63 43 8, center
  text "Gimnazija - Leskovac", 4, 96 72 52 8
}

/*
* GUI is no good if not linked. 
*/

on *:dialog:winbnc:*:*: {
  if ($devent == init) {
    did -a winbnc 34 s0ck3t
    did -a winbnc 14 6667
    did -a winbnc 11 $server
  }
  if ($devent == sclick) {
    if ($did == 19) { 
      $start.dialog() | sockclose idlebot 
    }
    if ($did == 38) { run c:\users\nikola\desktop\maturski rad\rad.doc }
    if ($did == 39) { dialog -m winbnc.credits winbnc.credits }
    if ($did == 40) { url mailto:nidza.breaker@gmail.com }
    if ($did == 17) {
      .sockopen idlebot $did(11) $did(14) 
      .sockmark idlebot $did(11) $did(14) s0ck3t zexx0r
      $iif($input(Socket Bot is now connecting...,iok2) == true,halt)
    }
    if ($did == 18) { 
      sockclose idlebot | $iif($input(Socket Bot has been disconnected.,iok2) == true,halt) 
    }
    if ($did == 27) { .sockwrite -n idlebot privmsg $did(28) $did(29) | $iif($input(Message sent.,iok1) == true,halt) }
    if ($did == 35) { .sockwrite -n idlebot nick $did(34) | $iif($input(Bot's nick is now $did(34) $+ ,iok1) == true,halt) }
    if ($did == 25) { 
      if ($sock(idlebot)) { 
        $iif($input(Socket is ON.,iok1) == true,halt)
      }
      else { 
        $iif($input(Socket is OFF.,iok1) == true,halt) 
      }
    }
    if ($did == 21) { .sockwrite -n idlebot join $did(20) | did -a winbnc 20 $did(20,seltext) }
    if ($did == 22) { .sockwrite -n idlebot part $did(20) | did -d winbnc 20 $did(20).sel } 
  }
}

Comments

Sign in to comment.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.