mIRC Home    About    Download    Register    News    Help

Print Thread
#131935 06/10/05 06:05 AM
S
sanaell
sanaell
S
the $address return is limited to 10char in ident
can we have the extension of that return (coz when we whois someone who have an ident more big that 10 char we can t retreive all char in the $address remote

whois : get all char
$address : not get all char

#131936 06/10/05 11:01 PM
D
DaveC
DaveC
D
Every whois I have ever done has matched up. As far as im aware the ident is only 10 characters long. If your getting more back in whois then maybe its a modified irc server?

#131937 07/10/05 07:04 AM
S
sanaell
sanaell
S
so can we have less limitations for that command i need it for ban some person on full ident (and i don t want type /whois every time i must ban someone)

#131938 07/10/05 08:54 AM
D
DaveC
DaveC
D
just put * in there

#131939 07/10/05 12:49 PM
Joined: Oct 2004
Posts: 8,061
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Oct 2004
Posts: 8,061
You could put in an alias to do it...

In aliases tab:
Code:
/bn {
  if ($2 == $null) { echo -a Please specify a nick. | return }
  if ($2 !ison $chan) { echo -a $2 is not in this channel. | return }
  ban -k $chan $gettok($address($nick,1),1,64) $+ @*
}


Use: /bn nick

Note that the person must be in the channel for it to work.

This will ban using this format (which I assumed from your description is what you wanted):
*!*ident@*

I can't test this on a network with over 10 letters in the ident, so you need to test it yourself. As long as $address shows all the letters, it should work just fine. Feel free to change "/bn" to whatever you want to use if you don't like /bn.

#131940 07/10/05 07:22 PM
S
sanaell
sanaell
S
that doesnt work
ex:
my whois give my that
 () Address: (021APantin_A_Coter_D@632049528.fr)

i need : 021APantin_A_Coter_D
and when i type $address, or your alias i get only
*!*A_Coter_D@*

i need the 4th first char....
how i can get ? or does it corrected in next version ?


it s not only for ban (sorry)

#131941 07/10/05 07:41 PM
Joined: Oct 2004
Posts: 8,061
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Oct 2004
Posts: 8,061
Type //echo -a $address(somenick,5)

(replace the red with a nick that has more than 10 letters)

See if it gives you everything or not. If not, I don't think there is any way around it other than to use /whois. I'm not sure if that will be included in the next version. I've never seen this situation before, so it probably isn't common. If your network stuck to the standard limit on idents, there wouldn't be an issue. Heh. laugh

#131942 07/10/05 09:58 PM
Joined: Apr 2004
Posts: 217
P
Fjord artisan
Offline
Fjord artisan
P
Joined: Apr 2004
Posts: 217
You now this could possibly be a IRCd thingy? smirk

#131943 08/10/05 12:05 AM
T
The_Mega_ZZTer
The_Mega_ZZTer
T
There is an alternative to $address if you just want to get the address of a nick that performed the event that was triggered, such as a join/part/quit/msg/action/ctcp/notice etc.

$gettok($rawmsg, 1, 32) will return the *!*@* formatted name as the server is reporting it. If this shows an ident that is 10 chars max, it is an IRCd issue you are experiencing, and mIRC is correctly intercepting idents for it's $address array as best as it can be expected to.

Last edited by The_Mega_ZZTer; 08/10/05 12:06 AM.
#131944 12/10/05 05:51 AM
Q
Quietust
Quietust
Q
Quote:
$gettok($rawmsg, 1, 32) will return the *!*@* formatted name as the server is reporting it


Easier yet, use $fulladdress.

#131945 22/10/05 10:04 PM
Joined: Aug 2005
Posts: 128
S
Vogon poet
Offline
Vogon poet
S
Joined: Aug 2005
Posts: 128
Quote:
You could put in an alias to do it...

In aliases tab:
Code:
/bn {
  if ($2 == $null) { echo -a Please specify a nick. | return }
  if ($2 !ison $chan) { echo -a $2 is not in this channel. | return }
  ban -k $chan $gettok($address($nick,1),1,64) $+ @*
}


Use: /bn nick

Note that the person must be in the channel for it to work.

This will ban using this format (which I assumed from your description is what you wanted):
*!*ident@*

I can't test this on a network with over 10 letters in the ident, so you need to test it yourself. As long as $address shows all the letters, it should work just fine. Feel free to change "/bn" to whatever you want to use if you don't like /bn.

You meant $1 instead of $2 on code smile

#131946 24/10/05 12:44 PM
Joined: Oct 2004
Posts: 8,061
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Oct 2004
Posts: 8,061
Yes, I did. I always end up messing up the aliases... so used to using $2 for the first item that I forget about aliases using $1. laugh

#131947 25/10/05 06:45 AM
Joined: Feb 2005
Posts: 342
R
Fjord artisan
Offline
Fjord artisan
R
Joined: Feb 2005
Posts: 342
Er, that /ban -k, will not effectively kick the nick. It should ban the nick, but unless you specify a nick, it won't be kicked. /ban -k # $nick 2

As for this particular post, I looked at his user profile and what network he uses. The idents there don't seem to use your normal ident (since mine showed up as "guest"). Furthermore, he is correct about the limit. $address($nick,5) does cut the ident off.

However, as The_Mega mentioned, you can get the "full" ident by using $rawmsg. An easy way to do this would be:

if ($regex($rawmsg,/^:[^!]+!([^@]+)@/)) {
var %ident = $regml(1)
}

Unfortunately, you'll only be able to use that on events. But, the $ial() does store the proper address and ident. (you'll probably have to /who the channel so that everyone in it will be added to the $ial() )

So, if you want to make an alias, just to echo or return the address on a nick like this, you would want to use something like:

Code:
alias findaddy {
  if ($1) {
    var %nicka = $1 $+ !*@*
    if ($regex($ial(%nicka),/^([^!]+)!([^\@]+)@(.+)$/)) {
      var %nick = $regml(1) , %ident = $regml(2) , %address = $regml(3)
    }
    if ($isid) {
      if ($prop == full) { return $+(%nick,!,%ident,@,%address) }
      elseif ($prop == ident) { return %ident }
      elseif ($prop == host) { return %address }
    }
    else { echo -a $+(%nick,!,%ident,@,%address) }
  }
}


You can type: //echo -atg $findaddy(Nick).ident

To show the persons full ident. Hope this helps until $address($nick,*) gets fixed up.

#131948 25/10/05 12:43 PM
Joined: Oct 2004
Posts: 8,061
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Oct 2004
Posts: 8,061
That's what I get for trying to remove a line of code. I always ban with the standard masks, so never tried -k without a nick. I didn't realize it wouldn't work, but when you mention it, it is obvious. frown

#131949 25/10/05 12:57 PM
Joined: Feb 2005
Posts: 342
R
Fjord artisan
Offline
Fjord artisan
R
Joined: Feb 2005
Posts: 342
Hehe yeah, I probably wouldn't have noticed it either. Only reason I think I caught it when I looked at it, was because the other night, when I was playing with my own code, I was testing the -k option, I tried it to see if it'd work with just the address cause that would have been nice.


Link Copied to Clipboard