Autojoin Network Based

By Aucun50 on Jul 21, 2009

Updated version of my old script, this one adds networks when you open the dialog, found it easier and it doesn't take much space doing so. The dialog is basic and easy to use, it was made for SassIRC but I guess I'll post it here also as the other version looks weird >.>

Image

dialog ajnb {
  option dbu
  size -1 -1 175 100

  ;Every tab
  link "www.sassirc.com" 7, 65 90 45 10

  ;Information tab
  tab "Information" 1, 1 1 174 98
  text "" 2, 5 20 160 10, tab 1
  text "" 3, 5 30 160 10, tab 1
  text "" 4, 5 40 160 10, tab 1
  text "" 5, 5 50 160 10, tab 1
  text "Script made by Aucun for www.sassirc.com Email: Aucun.AuServ@gmail.com" 6, 5 65 105 15, tab 1

  ;Password tab
  tab "Password" 8
  text "Your password will be blocked out when you type, your operator password will be blocked aswell." 9, 5 20 160 15, tab 8
  edit "" 10, 5 45 165 10, tab 8, password
  button "Set Password" 11, 5 55 81 10, tab 8
  button "Remove Password" 12, 89 55 81 10, tab 8
  radio "Enable Password" 13, 7 70 60 10, tab 8
  radio "Disable Password" 14, 70 70 60 10, tab 8

  ;Channels tab
  tab "Channels" 15
  list 16, 5 20 165 55, tab 15
  button "Add Channels" 17, 5 68 81 10, tab 15
  button "Remove Channel" 18, 89 68 81 10, tab 15

  ;Operator tab
  tab "Operator Options" 19
  edit "" 20, 5 20 165 10, tab 19
  button "Set Operator User" 21, 5 30 81 10, tab 19
  button "Remove Operator User" 22, 89 30 81 10, tab 19
  edit "" 23, 5 45 165 10, tab 19, password
  button "Set Operator Password" 24, 5 55 81 10, tab 19
  button "Remove Operator Password" 25, 89 55 81 10, tab 19
  radio "Enable Operator" 26, 7 70 60 10, tab 19
  radio "Disable Operator" 27, 70 70 60 10, tab 19
}

on *:dialog:ajnb:*:*: {
  if ($devent == init) {
    set %ajnb_network $network
    dialog -t ajnb %ajnb_network
    update_list
    if (!$readini(ajnb.ini,%ajnb_network,Date_Time)) { writeini ajnb.ini %ajnb_network Date_Time $date }
    did -a ajnb 2 Network - %ajnb_network added on $readini(ajnb.ini,%ajnb_network,Date_Time)
    if ($readini(ajnb.ini,%ajnb_network,Password)) {
      did -a ajnb 3 Password - %ajnb_network has a password
      did -a ajnb 10 $readini(ajnb.ini,%ajnb_network,Password)
    }
    else { did -a ajnb 3 Password - %ajnb_network doesn't have a password }
    $iif($readini(ajnb.ini,%ajnb_network,Use_Password),did -c ajnb 14,did -c ajnb 13)
    $iif($readini(ajnb.ini,%ajnb_network,Channels),did -a ajnb 4 Channels - %ajnb_network has $numtok($readini(ajnb.ini,%ajnb_network,Channels),32) channels added,did -a ajnb 4 Channels - %ajnb_network doesn't have any channels added)
    if ($readini(ajnb.ini,%ajnb_network,OperUser)) { did -a ajnb 20 $readini(ajnb.ini,%ajnb_network,OperUser) }
    if ($readini(ajnb.ini,%ajnb_network,OperPass)) {
      did -a ajnb 5 Operator Password - %ajnb_network has a operator password
      did -a ajnb 23 $readini(ajnb.ini,%ajnb_network,OperPass)
    }
    else { did -a ajnb 5 Operator Password - %ajnb_network doesn't have a operator password }
    $iif($readini(ajnb.ini,%ajnb_network,Use_Oper),did -c ajnb 27,did -c ajnb 26)
  }
  else if ($devent == sclick) {
    if ($did == 7) { url www.sassirc.com }
    else if ($did == 11 && $did(10)) { 
      writeini ajnb.ini %ajnb_network Password $did(10) 
      did -ra ajnb 3 Password - %ajnb_network has a password
    }
    else if ($did == 12) {
      remini ajnb.ini %ajnb_network Password
      did -ra ajnb 3 Password - %ajnb_network doesn't have a password
    }
    else if ($did == 13) { remini ajnb.ini %ajnb_network Use_Password }
    else if ($did == 14) { writeini ajnb.ini %ajnb_network Use_Password No }
    else if ($did == 17) { $channel_check($$?="Enter Channels - #Channel1 #Channel2...") }
    else if ($did == 18) { 
      if ($did(16).sel >= 1) {
        $iif($numtok($readini(ajnb.ini,%ajnb_network,Channels),32) > 1,writeini ajnb.ini %ajnb_network Channels $remove($readini(ajnb.ini,%ajnb_network,Channels),$did(16).seltext),remini ajnb.ini %ajnb_network Channels)
        $iif($readini(ajnb.ini,%ajnb_network,Channels),did -a ajnb 4 Channels - %ajnb_network has $numtok($readini(ajnb.ini,%ajnb_network,Channels),32) channels added,did -a ajnb 4 Channels - %ajnb_network doesn't have any channels added)
        update_list
      }  
    }
    else if ($did == 21 && $did(20)) { writeini ajnb.ini %ajnb_network OperUser $did(20) }
    else if ($did == 22) { remini ajnb.ini %ajnb_network OperUser }
    else if ($did == 24 && $did(23)) {
      writeini ajnb.ini %ajnb_network OperPass $did(23)
      did -ra ajnb 5 Operator Password - %ajnb_network has a operator password
    }
    else if ($did == 25) { 
      remini ajnb.ini %ajnb_network OperPass 
      did -a ajnb 5 Operator Password - %ajnb_network doesn't have a operator password
    }
    else if ($did == 26) { remini ajnb.ini %ajnb_network Use_Oper }
    else if ($did == 27) { writeini ajnb.ini %ajnb_network Use_Oper No }
  }
  else if ($devent == close) { unset %ajnb_network }
}

alias ajnb { $iif($dialog(ajnb),dialog -v ajnb,dialog -m ajnb ajnb) }

alias -l channel_check {
  if ($readini(ajnb.ini,%ajnb_network,Channels)) {
    var %channels = $1-      
    var %number = $numtok(%channels,32)
    while (%number) {
      if (!$findtok($readini(ajnb.ini,%ajnb_network,Channels),$gettok(%channels,%number,32),1,32)) { writeini ajnb.ini %ajnb_network Channels $readini(ajnb.ini,%ajnb_network,Channels) $gettok(%channels,%number,32) }
      dec %number
    }
  }
  else { writeini ajnb.ini %ajnb_network Channels $1- }
  $iif($readini(ajnb.ini,%ajnb_network,Channels),did -a ajnb 4 Channels - %ajnb_network has $numtok($readini(ajnb.ini,%ajnb_network,Channels),32) channels added,did -a ajnb 4 Channels - %ajnb_network doesn't have any channels added)
  update_list
}

alias -l update_list {
  var %list = $numtok($readini(ajnb.ini,%ajnb_network,Channels),32)
  did -r ajnb 16
  while (%list) {
    did -a ajnb 16 $gettok($readini(ajnb.ini,%ajnb_network,Channels),%list,32)\
    dec %list
  }
}

on *:connect: {
  if ($readini(ajnb.ini,$network,Date_Time)) {
    if (!$readini(ajnb.ini,$network,Use_Password)) {
      if ($readini(ajnb.ini,$network,Password)) { identify $readini(ajnb.ini,$network,Password) }
    }
    if (!$readini(ajnb.ini,$network,Use_Oper)) {
      if ($readini(ajnb.ini,$network,OperUser)) {
        if ($readini(ajnb.ini,$network,OperPass)) { oper $readini(ajnb.ini,$network,OperUser) $readini(ajnb.ini,$network,OperPass) }
      }
    }
    if ($readini(ajnb.ini,$network,Channels)) {
      var %channels = 1
      while (%channels <= $numtok($readini(ajnb.ini,$network,Channels),32)) {
        join $gettok($readini(ajnb.ini,$network,Channels),%channels,32)
        inc %channels
      }
    }
  }
}

menu channel,status { 
  SassIRC Auto-Join:ajnb
}

Comments

Sign in to comment.
Aucun50   -  Nov 17, 2010

Updated with a new version.

 Respond  
PuNkTuReD   -  Jul 23, 2009

yours werent too "original" either Daniel.

when learning scripting, most of the time it is easier to re-create, the "simpler" ideas" rather than jumping straight into "original" ideas. and tbw, almost everything has been done, so you could spend weeks just trying to come up with a good idea, and chances are, its been done already.

 Respond  
_Daniel_   -  Jul 23, 2009

I know that, but why instead of post same shit again, post something new... I'll learn more.

 Respond  
PuNkTuReD   -  Jul 22, 2009

pmsl

 Respond  
Aucun50   -  Jul 22, 2009

80% of whats posted is just the same thing over and over, not everyone is at the same scripting level so by making the same scripts over and over we learn. If your looking for something different then make a different one.

 Respond  
_Daniel_   -  Jul 22, 2009

I meant that there is nothing new, its just one more aj

 Respond  
PuNkTuReD   -  Jul 22, 2009

way to point out the obvious there Daniel

 Respond  
Aucun50   -  Jul 21, 2009

That it is

 Respond  
_Daniel_   -  Jul 21, 2009

looks like another autojoin

 Respond  
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.