Advanced Specific Multi Ignore System

By Cheiron on Sep 22, 2008

            Firstly... a huge thankyou to beau for doing this for me.

this is being submitted as a tribute.

Basically.. do you find some people irritating when they part channel, or quit the server, or notice people with really stupid and idiotic messages? for joins and parts, it is not too bad as you can disable "show joins/parts" in mIRC's inbuilt options menu. for the others you can't.

until now i had been using this type "snippet"

  on ^*:QUIT: { if ($nick == ---) { halt } } 

to deal with it but on a single nick basis, only extending the "if ($nick == <whatevere ) to include extra nicks. obiviously changing the event to notice or part depending on what i wanted.

so basically i figured there had to be a better way so went to the group forum

then went to the mIRC Snippet Requests page
in there i posted my call for help query starting a new topic. i said what i was looking for, and what i was currently using. i very soon had a reply from one of the many generous and kind members of the site with a code that did as i asked for (beau) i tried the script found an error and asked for a debug which was promptly done. i then re-tried it to a huge grin on finding it worked fine.

remember folks. the hawkee site is more than just a click to submit snippets etc. it can help you learn how to script, obtain scripts, and have help writing them just for you via the Forum pages. Visit the Forums and see just what this site has to offer.

here is the snippet now for you. it goes into mIRC remotes. this was tested on mIRC v6.34 via UnrealIRCd server.

the command to add a nick is /bl
the command to remove a nick is /ubl

;Cheiron has added this box    ;
;this code was made for me     ;
;by beau. ty for your effort.  ;
;do not remove this box please ;
;show some respect for creator ;

;this is your alias command to add nick to blacklist
alias bl {
if ($istok(%b1,$1,32)) { echo -a Already blacklisted. | halt }
  set %bl %bl $1
  echo -a Blacklisted $1 o.O
;this is your alias command to remove nick from blacklist
alias ubl {
if (!$istok(%b1,$1,32)) { echo -a Not blacklisted. | halt }
  set %bl $remove(%bl,$+($chr(32),$1))
  echo -a UnBlacklisted $1 o.O
;these are the events that the script will block from showing
on ^*:QUIT: { if ($istok(%bl,$nick,32)) { halt } }
on ^*:PART:#: { if ($istok(%bl,$nick,32)) { halt } }
on ^*:NOTICE: { if ($istok(%bl,$nick,32)) { halt } }
menu nicklist {
  .Blacklist:/bl $nick


Sign in to comment.
Spoof   -  Sep 01, 2011

Could someone explain why it is that sometimes a nick is able to get passed an ignore and it seems that its not enforced over time.
It's frustrating having to manually re-add the nick again over time.
Idk.. maybe its a version issue... I'm using Invision 6.35 version and it seems that it doesn't enforce the ignore list over long periods of time.
Any suggestions?

Ghost-writer   -  Aug 25, 2009

ehh, okay :|

SquallStrife   -  Aug 25, 2009

Just wanted to thank the author of this snippet.

We have a problem with a user who gets banned for flooding channels (with some kind of script I imagine, but I don't know the particulars of this), but leaves his client to auto-reconnect and auto-rejoin channels.

So at random times during the day we'll get 10 or so lines of [xxx joined],[xxx quit],[xxx joined],[xxx quit],[xxx joined],[xxx quit].

This script lets me hide this particular user's join/part/quits, but not ignore him when he's actually online.


napalm`   -  Sep 23, 2008

All it takes is a little harsh criticism and people will strive to do better. I was bashed when I first started. It's called tradition. No matter how bad it hurts, It's for your own good. Don't give up.

As useless as mIRC scripting is, it peaks in value when looked at in it's recreational aspects. It's a good hobby. A bit unproductive, yes, but entertaining and certainly one of the better if not best interactive scripting experiences on the net.

If I hurt your feelings, wipe off the tears, read the help file, and get to testing some code.

Cheiron   -  Sep 23, 2008

edited to make it "coherrent"

napalm`   -  Sep 23, 2008


Retort: I am extremely constructive.

Cheiron   -  Sep 23, 2008

It is not the critising that i am referring too.. it is the constant put downs, the bickering, the lack of supporting comments, the way it is said.
New users to scripting get swamped with a high level code as an alternative and have words said to the effect of..... yours is lame and useless.. this is not what it should be. Higher level scripters on the site should be encouraging the lower level/ability scripters and taking the submitter through how it "could" be improved on a level they understand.
That is the issue here. i can take critism on my snippets as i am learning quite fast and can see and 30-45% understand some of the code improvements relating to what "i" submit.
However, alot of new scripters cannot understand alot of what you higher level scripters post and are put off or scared off as a result.
I feel the community spirit is being lost by those with superior knowledge and that they just simply are not prepared to sit down with the "newbie" and help him/her develop > this comment has been updated due to it being pointed out as incoherent

napalm`   -  Sep 22, 2008

i had this with another of my scripts and nearly deleted my entire account with hawkee because of certain comments made. other users probably do delete their accounts or stop trying as they feel unwanted despite trying their best[/b]

Sounds to me like someone needs to man up.


This feature allows you to ignore various types of messages from users. You can either choose to ignore a user completely, or to ignore only specific messages from a user.


The /ignore command

/ignore [-lrpcntikdwxu#] <on|off|nick/address> [type] [network]

Where p = private, c = channel, n = notice, t = ctcp, i = invite, k = control codes, d = dccs.

The -u# switch specifies a delay in seconds after which the ignore is automatically removed.

The -r switch indicates that the address is to be removed.

The -x switch indicates that this address should be excluded from ignores.

The -l switch displays the list of ignored addresses which match the specified switches.

The -w switch makes the ignore apply to any network.

If you do not specify a type then only the users nickname is used. If you specify a type then the users address is looked up via the server.

You can clear the ignore list by specifying -r with no address.

Note: If you have a /query window open with someone, private messages from them won't be ignored even if their address matches an ignore address.

The $ignore identifier returns $true if ignore is enabled, and $false if it isn't.

The $ignore(address/N) identifier returns any matching address in the list, or the Nth address. The .type property returns the ignore method. The .network property returns the associated network, if any. The .secs property returns the time left before the ignore is removed.
Paul_1337noob   -  Sep 22, 2008

got to agree with you there

i learn alot from each snippet i see, gives me a deeper understanding on how things work,

and alot of the comments i see degrade them,
they may not be of use to you, but they help me learn.

and i can learn from peoples mistakes too, if there is something wrong with the snippet, i can bare it in mind for the future.

keep up the good work Cheiron

Cheiron   -  Sep 22, 2008

well not all of us are as versed as the likes if yourself or napa in scripting or have the experience so we do what we can and plod ever onwards. comments like that discourage lesser experienced "would like to be" scripters from continuing to try their hand at new stuff and therefore continuing the sites activities or advancing the ease of their own time online on their choice of server.

this script was asked for because of a specific reason to do a specific job. the script completes that mission and it works as submitted which is more than a lot of some of the scripts been posted lately.

if the script is wasteful... dont just say it is wasteful. be polite, kind and in simple english and not techno gabble, explain "why" it is and where it should go at a level that the user can understand.

i had this with another of my scripts and nearly deleted my entire account with hawkee because of certain comments made. other users probably do delete their accounts or stop trying as they feel unwanted despite trying their best

napalm`   -  Sep 22, 2008

Who gives a damn if you see someone you have ignored quit. The point is to not be annoyed by their ignorant babble.

This snippet is wasteful.

napa182   -  Sep 22, 2008

it should work unless ur theme engine screws up the ignore system

Cheiron   -  Sep 22, 2008

i gonna have a read up on it napa.. not sure it gonna work with my theme engine though.
should with the bot though

napa182   -  Sep 22, 2008

well with the ignore it will ignore notices from that user thats why i changed it.. ok i made an edit and removed the on join event from it
look into /help ignore /help $ignore
oh also mite as well look into /help $style as well ;x

Cheiron   -  Sep 22, 2008

oh my.. wipes eyes that looks complex to hell and back when compared to the simple tokens used on mine. btw though.. i dont want the on join to be omitted.. it is the notice event, the quit and the part.
might run it up on my bot to see how it works. not sure it will run on my theme engine on my main mirc though.

napa182   -  Sep 22, 2008

i would go with mirc's /ignore set up as napalm` said
EDIT took out the join event cuz you want to see joins
heres ur version with ignore setup & echo's

menu nicklist {
  . $iif($ignore($address($$1,2)),$style(2)) Add $$1 To Ignore List:{ .ignore $address($$1,2) | echo -a $$1 Has Been Ignored }
  . $iif(!$ignore($address($$1,2)),$style(2)) Remove $$1 From The Ignore List:{ .ignore -r $address($$1,2) | echo -a $$1 Has Been Removed From List } 
on ^*:QUIT: { if ($ignore($address($nick,2)) == $address($nick,2)) { halt } }
on ^*:PART:#: { if ($ignore($address($nick,2)) == $address($nick,2)) { halt } }

heres it again with ignore setup & $input box's

menu nicklist {
  . $iif($ignore($address($$1,2)),$style(2)) Add $$1 To Ignore List:{ if ($input(Are You Sure You Want To Ignore $$1,uqy,Ignore $$1 ?)) { .ignore $address($$1,2) | noop $input($$1 Has Been Ignored,uio,Ignored $$1 ?) } }
  . $iif(!$ignore($address($$1,2)),$style(2)) Remove $$1 From The Ignore List:{ if ($input(Are You Sure You Want To Remove $$1 From The Ignore List,uqy,Remove $$1 ?)) { .ignore -r $address($$1,2) | noop $input($$1 Has Been Removed From List,uio,Removed $$1 ?) } } 
on ^*:QUIT: { if ($ignore($address($nick,2)) == $address($nick,2)) { halt } }
on ^*:PART:#: { if ($ignore($address($nick,2)) == $address($nick,2)) { halt } }

/help /ignore and /help $ignore

Cheiron   -  Sep 22, 2008

mIRC helps files have no information on this topic and the on quit cannot be silenced as part of the ignore system. :D

napalm`   -  Sep 22, 2008

/help /ignore

a careful warchild   -  Sep 22, 2008

I always thought Blacklists were for kicking and banning the user you dont want in the channels your in... but you have proved me wrong Again :(

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.