mIRC Home    About    Download    Register    News    Help

Page 1 of 2 1 2 >
Topic Options
#261436 - 04/10/17 02:30 AM How to ignore JOIN/PART from specific user
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
Can this be done through scripting?
event(OnJoin,supressJoinMsg)
{
halt
}
I found this for another irc program, and wondered if MIRC has the same thing? I would prefer to keep JOIN/PARTS as mirc seems to be the most accurate at detecting them out of all my irc programs.

It baffles me that twitch allows banned people to harass viewers with whispers, as well as still "join" a channel.

Top
#261438 - 04/10/17 04:41 AM Re: How to ignore JOIN/PART from specific user [Re: darthclide]
maroon Offline
Fjord artisan

Registered: 12/01/04
Posts: 515
mirc-options/irc
then click on "events", where you have the option of having joins be in-channel/in-status-window/hide

or, this suppresses the normal join event and you can script yourself a replacement message like so:

Code:
on ^*:JOIN:#:{
  if ($nick == $me) { echo 3 # * Entering # $time(yyyy/mm/dd HH:nn:ss) $chan(#).mode using $server $port }
  echo $color(join) # $timestamp * $nick $+($chr(40),$gettok($fulladdress,2-,33),$chr(41)) has joined # $iif($comchan($nick,0) isnum 2-,Shared Channels: $v1) $iif($ial($address($nick,2),0) isnum 2-,Clone: $v1 nicks)
haltdef
}

Top
#261439 - 04/10/17 04:57 AM Re: How to ignore JOIN/PART from specific user [Re: maroon]
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
Can you show me how to simply remove a join/part message from a specific user?

Also, I see you have a "haltdef" statement. How does this interact with any other "if" statements I have after your code?

Top
#261440 - 04/10/17 05:40 AM Re: How to ignore JOIN/PART from specific user [Re: darthclide]
maroon Offline
Fjord artisan

Registered: 12/01/04
Posts: 515
haltdef is different than halt, in that it halts the default message irc displays for that event, yet still permits other scripts to see that the event happened. In my handler, the haltdef could have been the first line of the event handler. haltdef doesn't halt the script, just "halt default display but keep executing event handler"

to hide a join from a specific user, have inside that event handler:

if ($nick == nickname) { haltdef | return }

Top
#261450 - 06/10/17 12:41 AM Re: How to ignore JOIN/PART from specific user [Re: maroon]
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
Code:
on *:join:#:{
  if ($nick == test1234 || $nick == test123 || $nick == test12 || $nick == test1) { haltdef | return }
}


I added this to my "on join" statement, but mirc still shows:
* test1234 (test1234@test1234.tmi.twitch.tv) has joined #darthclide

Am I missing something?

Top
#261451 - 06/10/17 07:37 AM Re: How to ignore JOIN/PART from specific user [Re: darthclide]
Brax Offline
Vogon poet

Registered: 26/01/05
Posts: 169
Loc: Estonia
Originally Posted By: darthclide
Am I missing something?


Yes. You are missing the ^ event prefix.

on ^*:join:#:{


Read more about it from the help file under the topic "Halting text"
_________________________
echo -a $signature

Top
#261452 - 06/10/17 07:46 AM Re: How to ignore JOIN/PART from specific user [Re: darthclide]
maroon Offline
Fjord artisan

Registered: 12/01/04
Posts: 515
you missed the carat in front of the asterisk

Top
#261455 - 06/10/17 08:56 AM Re: How to ignore JOIN/PART from specific user [Re: maroon]
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
Thank you, I think I got it. We will see how it works in the coming days smile

Top
#261456 - 06/10/17 09:07 AM Re: How to ignore JOIN/PART from specific user [Re: maroon]
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
But may I ask: How do I delete posts I have made here? I noticed that I accidentally slipped some names of banned users trying to bug my stream. This is related, because the only reason I am asking about this "ignore" function, is so I can create a simple var that contains a string. Anytime a banned user changes their name, I can simply add their name to the var in 3 seconds.

Top
#261458 - 06/10/17 03:11 PM Re: How to ignore JOIN/PART from specific user [Re: darthclide]
maroon Offline
Fjord artisan

Registered: 12/01/04
Posts: 515
i forget the time interval, but after a short time we lose the chance to edit our posts. If there are mods here anymore who can do it, i haven't seen them. so choices are:

1. get banned and all your posts go poof
2. ask khaled to do it

Top
#261459 - 07/10/17 06:18 AM Re: How to ignore JOIN/PART from specific user [Re: maroon]
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
I sent him a PM, but one more question: Instead of Join/Part messages, it is now showing a total list of viewers joining my chat in the status window. I would like to hide this?

Top
#261460 - 07/10/17 08:07 AM Re: How to ignore JOIN/PART from specific user [Re: darthclide]
maroon Offline
Fjord artisan

Registered: 12/01/04
Posts: 515
the sample code i made doesn't show anything to status window, so unless you have echo using the -s switch, only other way i can think of offhand is mirc-options/irc/"events" where you may have toggled it to show joins in status window instead of channel?

Note that HALTDEF doesn't halt any other scripts from seeing the JOIN event, so might also check if you have a different script echoing stuff to status window.

Top
#261461 - 07/10/17 08:50 AM Re: How to ignore JOIN/PART from specific user [Re: maroon]
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
Ah got it... I left so many test echos after trying different ways to intercept the join/part message. Glad this haltdef thing exists.

Top
#261466 - 08/10/17 12:56 AM Re: How to ignore JOIN/PART from specific user [Re: darthclide]
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
One last question: How do I hide a specific viewer from the view list?

Top
#261467 - 08/10/17 01:42 AM Re: How to ignore JOIN/PART from specific user [Re: darthclide]
maroon Offline
Fjord artisan

Registered: 12/01/04
Posts: 515
Is "view list" something that only exists on a twitch server? Or are you referring to the nicklist that appears on the right side of a channel window?

If it's the side nicklist, I'm not aware of a way to delete it, though you can make it not be visible by setting the nick to same color as the background, by putting this in nicklist tab of popups:

hide $$1:cline $color(listbox) # $nick(#,$1)
show $$1:cline $color(listtext) # $nick(#,$1)

Top
#261468 - 08/10/17 01:51 AM Re: How to ignore JOIN/PART from specific user [Re: maroon]
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
"nicklist tab of popups"

I do not know what or where this is? Or can I just put it at the end of popups tab?

Top
#261469 - 08/10/17 02:00 AM Re: How to ignore JOIN/PART from specific user [Re: darthclide]
maroon Offline
Fjord artisan

Registered: 12/01/04
Posts: 515
in Alt-P window, the 'view' menu dropdown gives 5 choices, one is "Nick List". Whereever you put them determines where they appear in the rightclick menu.

Top
#261470 - 08/10/17 02:09 AM Re: How to ignore JOIN/PART from specific user [Re: maroon]
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
thanks! it worked!

Top
#261484 - 12/10/17 08:31 AM Re: How to ignore JOIN/PART from specific user [Re: maroon]
darthclide Offline
Ameglian cow

Registered: 25/06/14
Posts: 45
I might be mistaken because the troll keeps changing names, but how does this save when I quit MIRC? If not, how do I save it?

Top
#261485 - 12/10/17 11:04 PM Re: How to ignore JOIN/PART from specific user [Re: darthclide]
maroon Offline
Fjord artisan

Registered: 12/01/04
Posts: 515
Hopefully this isn't an area where twitch is incompatible with a 'real' irc server lingo.

It looks like you were implying that the trolls were able to evade the white-on-white by changing nicks. However in my own testing, I've found that when I set a nick to be a particular color, that mirc keeps the color at the new nick.

One way to keep track of these people is to create a user level for them, and any time someone having that 'level' enters channel it automatically changes their nick color. Levels can be Alphanumeric not just integers, and in this example I named the level "Troll". Something like this goes in the nicklist view of popup alt-P:

Code:
Add    $$1 to   Troll List $address($1,3):/auser -a Troll $address($1,3) Added $asctime while using nick $nick
Remove $$1 from Troll List $address($1,3):/ruser    Troll $address($1,3)



If the address mask casts too wide/narrow a net, you can change the above 3 to a different address mask, or edit the Troll entries in the USERS tab of remotes script editor.

The extra spacing isn't needed above, I just like to pad spacing of related lines for easier readability. Once you use the above to add/remove people's addresses from the Troll list (You'll now be able to auto-hide them as they join channel:

Code:
on Troll:JOIN:#:{ timer 1 0 cline $color(listbox) # $!nick( # , $nick ) }


Note that above spaces ARE needed so the timer can evaluate the timer later. (The nick doesn't go into the nicklist until after the ON JOIN is processed.) Notice that by using "ON Troll:JOIN" instead of "ON 1:JOIN" it acts only against that level.

If for some reason twitch isn't letting the color stay with the new nick, this might be needed, but leave out if not needed:

Code:
on Troll:NICK:{
  var %i $comchan($newnick,0) 
  while (%i) {
    timer 1 0 cline $color(listbox) $comchan($newnick,%i) $!nick( $comchan($newnick,%i) , $newnick ) 
    dec %i
  }
}


Again, the above spaces are needed so the timer knows what $newnick means.

Top
Page 1 of 2 1 2 >