Lowercase nick voicer

By Cheiron on Nov 22, 2007

here we go... nice complex one for ya all..

this one is for channels and/or servers where there is a split between a capital letter starting nick and a lowercase starting nick getting a voice.

this script sets a loop in which it looks for the first letter before voicing. this is to overcome nicks that have already been taken and therefore other things have been added to keep the nick. ie.. lucy (taken) therefore `lucy or {lucy}

once it has found the first letter, it checks whether it is upper or lowercase. if it is lowercase then it gives voice

as usual.. change channel for your own.

Comments people please?

alias issub {
  var %id.i = 1
  :loop
  var %id.fletter = $mid($1,%id.i,1)
  if ( %id.fletter !isalnum ) { 
    inc %id.i 
    goto loop
  }
  if ( %id.fletter === $lower(%id.fletter) ) { return $true }
  else { return $false }
}
on 1:join:#channel:{
  if (( $issub($nick) ) && ( $nick != $me )) { mode $chan +v $nick }
}

Comments

Sign in to comment.
Cheiron   -  Feb 08, 2008

ah... many thanks there Noutrious :) apprerciate the feedback and am working on the explinations of my scripts better for future postings

 Respond  
Noutrious   -  Feb 08, 2008

oh, now got the point, then it could be like this:

alias -l issub { if ($1- === $lower($remove($1-,$chr(40),$chr(41),$chr(96))) { return 1 } }

You can get symbols $chr by using //echo -a $asc(`) for example and then seperate the characters to remove from nick, so making the nickname not equal to previous one - not voicing the nick.

 Respond  
Cheiron   -  Jan 30, 2008

i thought i had to put it in as some nicks are taken and people put other things at the start of nicks.. so i set the check to scroll through till it found the first letter.. ie.. ```sandy, or {sandy}, or 123sandy.. something like that. that is why i did the script the way i did. if there easier way of checking the nick for the first letter inbetween the crap at the start of it, i would be most interested. thanks for the advice there though Noutrious :)

 Respond  
Noutrious   -  Jan 30, 2008

Ahh, yeah - should add ($me isop $chan) || ($me ishop $chan) checking at the on join event too. :)

 Respond  
Noutrious   -  Jan 30, 2008
alias -l issub { if ($1- === $lower($1-)) { return 1 } }
on *:JOIN:#:{ if ($nick != $me) && ($issub($nick)) { mode # +v $nick } }

My version of this - i don\'t see any need for those loops or anything like that.

 Respond  
Cheiron   -  Nov 22, 2007

this a first at a very complex script for me. i not know while loops as yet heh. still on the basics. have made note though to look up what they are

 Respond  
brinxy   -  Nov 22, 2007

Please use while loops. They are much faster then goto\'s.

 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.