mIRC Home    About    Download    Register    News    Help

Topic Options
#264976 - 06/02/19 12:16 PM edit to help script to avoid ops
Orobas Offline
Pikka bird

Registered: 13/10/14
Posts: 19
Looking to edit simple ctcp version on join help channel so that it ignores the ops.

Code:
on *:JOIN:#help: {
  set %.ch $chan
  CTCP $nick VERSION
  /notice $nick ctcp version was made so we can be prepared for client based questions on usage and commands.
}
on 1:CTCPREPLY:VERSION*:/onotice #help $nick is using IRC client: $2-

Top
#264979 - 06/02/19 01:56 PM Re: edit to help script to avoid ops [Re: Orobas]
Raccoon Offline
Hoopy frood

Registered: 18/02/03
Posts: 2596
The main trick is knowing how long it takes for an op to become opped after they've joined, so your script would have to wait at least that long to give them a chance to op up.

You'll create a queue of nicknames that you've stacked up to VERSION and then work through that queue after the minimum time has elapsed. A good idea is to simply reset the wait-timer in case of heavy join activity, netsplits, or abusive part/join behavior. If the queue list exceeds say 5 or 10 users, then dump it and set a 5 minute cooldown ignore.

As you work through this queue of nicknames, you check if they are '(%nick !isop #help)' before versioning them, otherwise skip and try the next name in the queue if any.
_________________________
Well. At least I won lunch.
Good philosophy, see good in bad, I like!

Top
#264980 - 06/02/19 02:11 PM Re: edit to help script to avoid ops [Re: Raccoon]
Orobas Offline
Pikka bird

Registered: 13/10/14
Posts: 19
I've got it Raccoon smile
Thanks for the ideas

Code:
on *:JOIN:#help: {
  set %.ch $chan
  if ($nick isop $chan) { halt }
  else if ($nick !isop $chan)
  .timer 1 3 CTCP $nick VERSION
}
on 1:CTCPREPLY:VERSION*:/onotice #help $nick is using IRC client: $2- | /notice $nick ctcp version was made so we can be prepared for client based questions on usage and commands. 


Edited by Orobas (06/02/19 07:51 PM)

Top