1

I dont know a lot of irc.

Original:

on *:text:*http://*:#: { msg $chan .timeout $nick 1 }

My attempt:

on *:text:*http://*:#: if($nick != isop)
{ msg $chan .timeout $nick 1 } 

Edit: So I tried that and still no luck. It is still skipping over the if statement. When I save it then reopen it the code looks like...

on $*:text:/http\x3A///Si:#:{ 
   if($nick !isop $chan){
   msg $chan .timeout $nick 1 
}
}

Even though I saved with the spacing you posted. Is this even worth it? It can't timeout a mod. Does it hurt to just let it run when it doesn't need to?

Edit 2: Okay so I took out all the code. Just left what you posted and it still timed out op users. Here is a pic. What am I doing different than you? Cause I really have no idea.

Edit 3: Got this bit of code to work. Why? I have no idea. I dont have a .txt fine anywhere for it to read the op list from. So really confused on how this is working. Everywhere I looked had what you posted for a solution. Here is the Pic of it working.

on *:text:*http*:#:{
  if ($read(op.txt,nw,$nick)) return
  .timermsg 1 1 Msg # .timeout $nick 1
}

4 Answers4

0

If should be like this:

if ($nick !isop $chan){
}

Check out this tutorial.

Second thing is that you dont have {} and you can't use : directly in pattern. Full command should be:

EDITED

on $*:text:/http\x3A///Si:#: { 
  if ($nick !isop $chan) {
    msg $chan .timeout $nick 1
  }
}

in action

EDIT2

To show some text, wait for example 5 seconds and then trigger command, do something like this (tested and works):

on $*:text:/http\x3A///Si:#: { 
  if ($nick !isop $chan) {
    msg $chan $nick - you are ugly, we don't like you!
    .timer 1 5 msg $chan .timeout $nick 1
  }
}

or you could notice user that he is being timeouted, without waiting (this wasnt tested, maybe there is no notice command, last time was using mIRC like 18 years ago... seriously. if doesn't work, change notice to msg)

on $*:text:/http\x3A///Si:#: { 
  if ($nick !isop $chan) {
    notice $nick you are ugly, we don't like you!
    msg $chan .timeout $nick 1
  }
}
Flash Thunder
  • 11,672
  • 8
  • 47
  • 91
  • Tried it and still no luck. I added an edit above. I'm going to keep working on it tomorrow. Thanks for your help! – Redocdenots Aug 06 '15 at 11:57
  • `EDITED` Please check it out with formatting that I gave above. It works for me. Tested it life. – Flash Thunder Aug 06 '15 at 13:25
  • Did exactly what you did, and it's still not working. Added an edit. Do I need to add users on mIrc as op for it to recognize them? Or does it pull the op list from irc.twitch.tv? – Redocdenots Aug 06 '15 at 21:31
  • Okay so, I got the last edit above to work, but it is timing the user out before the message shows up in chat. – Redocdenots Aug 07 '15 at 07:27
  • Not sure what do you mean... and have no idea what .timeout is in your case. You want to send some messge to the user and then kick him? check `edit2` then... – Flash Thunder Aug 08 '15 at 11:53
0

This worked

on *:TEXT:*http*:#: {
  if (!$read(E:\Program Files (x86)\mIRC\op.txt,nw,* $+ $nick $+ *)) {
   .timermsg 1 1 msg # .timeout $nick 1
 }
}
0
on *:TEXT:*http*:#: {
    if (!$read($mircdirop.txt,nw,$nick)) {
       msg # .timeout $nick 1
 }
}

This is means, if the triggered nick is not in the op.txt list, then it will msg the channel with ".timeout $nick 1" msg.

kayess
  • 3,384
  • 9
  • 28
  • 45
0

This should work fine...

on *:TEXT:*http*:#: {
  ; if nick is not an OP in the channel then execute the next line
  if ($nick !isop $chan) {
    msg $chan .timeout $nick 1
  }
}
Denny
  • 1,766
  • 3
  • 17
  • 37