Auto Identify Script

By ProIcons on Apr 18, 2014

I've Created this add-on a while ago,
This add-on allows you to store your identifies for every nick you have on a network you will specify. The passwords are getting stored in plain text mode, but this wont be a problem since, if someone has access to your computer , these passwords are the least problem you will face. This add-on creates a file called _auto_ident.hsh containing the data of your Nicknames and Identifies on each network.
Image
You can check video Here

menu * {
  Auto Identify:/dialog -m _auto_ident _auto_ident
}
dialog -l _auto_ident {
  title "Auto Identify"
  size -1 -1 92 96
  option dbu
  list 1, 2 8 89 34, size vsbar
  box "", 2, 0 0 92 87
  edit "", 3, 3 43 50 10, disable autohs
  edit "", 4, 3 53 50 10, disable pass autohs
  text "Nickname", 5, 53 45 36 8, right
  text "Password", 6, 53 55 36 8, right
  button "Add", 8, 2 73 16 12, disable
  button "Edit", 9, 39 73 17 12, disable
  button "Cancel", 10, 56 73 33 12, disable
  button "Del", 20, 18 73 21 12, disable
  edit "", 21, 3 63 50 10, disable autohs
  text "Network", 22, 53 65 36 8, right
  text "Developed by Nikolas", 23, 1 87 90 8, disable center
}
on *:dialog:_auto_ident:*:*:{
  if ($devent == init) {
    _auto_ident_init
  }
  elseif ($devent == sclick) {
    if ($did == 8) { 
      if (!$hget(_auto_ident,$+($did($dname,3).text,.,$did($dname,21).text))) {
        hadd -m _auto_ident $+($did($dname,3).text,.,$did($dname,21).text) $did($dname,4).text
        did -r $dname 3,4,21
        did -b $dname 8
        _auto_ident_refresh
        _auto_ident_save
      }
      else { noop $input("This Nickname is allready added on your list on the same network,o,Auto Identify) }
    }
    elseif ($did == 1) && ($did($dname,1).seltext) {
      set %_auto_ident_edit 1
      var %name = $gettok($did($dname,1).seltext,1,32)
      var %network = $remove($gettok($did($dname,1).seltext,2,32),$chr(40),$chr(41))
      did -ra $dname 3 %name
      did -ra $dname 4 $+($chr(1),$chr(2),$chr(3),$chr(4))
      did -ra $dname 21 %network
      did -e $dname 9,10,4,20
      did -b $dname 3,8
    }
    elseif ($did == 9) {
      hadd -m _auto_ident $+($did($dname,3).text,.,$did($dname,21).text) $iif($did($dname,4).text == $+($chr(1),$chr(2),$chr(3),$chr(4)),$hget(_auto_ident,$did($dname,3).text),$v1)) 
      did -r $dname 3,4,21 | did -b $dname 9,10,8,20 | did -e $dname 3 | did -u $dname 1
      set %_auto_ident_edit 0  
      _auto_ident_refresh
      _auto_ident_save
    }
    elseif ($did == 10) { 
      did -r $dname 3,4,21
      did -b $dname 9,10,8,20
      did -e $dname 3 
      did -u $dname 1
      set %_auto_ident_edit 0
    }
    elseif ($did == 20) {
      hdel _auto_ident $+($did($dname,3).text,.,$did($dname,21).text)
      did -r $dname 3,4,21
      did -b $dname 9,10,8,20
      did -e $dname 3 
      did -u $dname 1
      set %_auto_ident_edit 0
      _auto_ident_refresh
      _auto_ident_save

    }
  }
  elseif ($devent == edit) {
    if ($did($dname,3).text) && ($did($dname,4).text) && ($did($dname,21).text) && (%_auto_ident_edit != 1) { did -e $dname 8 }
    else { did -b $dname 8 }
  }
}
alias -l _auto_ident_init {
  if (!$hget(_auto_ident)) hmake _auto_ident
  if ($exists(_auto_ident.hsh)) hload _auto_ident _auto_ident.hsh
  else hsave _auto_ident _auto_ident.hsh
  if ($dialog(_auto_ident)) {
    did -e _auto_ident 3,4,21
    _auto_ident_refresh
  }
}
alias -l _auto_ident_refresh {
  did -r _auto_ident 1
  var %i = 1
  var %e = $hfind(_auto_ident,*,0,w)
  while (%i <= %e) {
    var %entry = $hfind(_auto_ident,*,%i,w)
    var %value = $hget(_auto_ident,%entry)
    did -a _auto_ident 1 $gettok(%entry,1,46) ( $+ $gettok(%entry,2,46) $+ )
    inc %i
  }
}
alias -l _auto_ident_save {
  hsave _auto_ident _auto_ident.hsh
}

on *:notice:*:?:{ 
  if ($nick == NickServ) && (*This nickname is registered and protected* iswm $1-) {
    if (!$hget(_auto_ident)) { _auto_ident_init }
    .msg NickServ identify $$hget(_auto_ident,$+($me,.,$network))
  }
}

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.