mIRC Home    About    Download    Register    News    Help

Print Thread
#131088 25/09/05 05:02 AM
Joined: Jul 2005
Posts: 11
A
Pikka bird
OP Offline
Pikka bird
A
Joined: Jul 2005
Posts: 11
I've been working on a script to have a bot op/voice a certain user once they entered the channel. I know how to do it for a nick, but I am not so sure how to do it for a nick and hostmask just in case a different person comes in with the same nick. I know there is ChanServ and the auto-op list, but I want the bot to do the opping/voicing.

As for voice, I wonder if there's a script where the bot will type !list every 30-45 minutes and voice the fserves that the bot sees that aren't voiced yet.

Any help would be appreciated. Thanks!

#131089 25/09/05 05:21 AM
Joined: Aug 2005
Posts: 525
S
Fjord artisan
Offline
Fjord artisan
S
Joined: Aug 2005
Posts: 525
For the opping you can make use of the Users List (alt + r -> Users)

The format is
access(#):Nick!ident@hostmask

Example:
100:*!*@127.0.0.1
100:John123!myIdent@127.0.0.2
100:Akatsuki!ident@127-0-0-1.client.isp.com

etc

Then in remotes have this:

Code:
on 100:join:[color:red]#Channel[/color]:{
  mode [color:red]#Channel[/color] +o $nick
}


This will only op users that are in the user list and have a minimum access of 100.


For voicing, you can do something like this assuming everyone is using the same fserve script. Make it detect some common text from the fserve output and voice the user if he's not voiced.

Example: Lets say the Fserve output is something like this

<Nick> -=SysReset 2.51=- File Server
<Nick> Transfer Status: Send:[2/1] - Queues:[6/10]
<Nick> Instant Send is at: 100kB

Now if everyone is using the same file server, the output should be the same so you could do this:

Code:
on 1:text:*SysReset *File Server*:[color:red]#Channel[/color]:{
  if ($nick !isvoice [color:red]#Channel[/color] &amp;&amp; $me isop [color:red]#Channel[/color]) { mode [color:red]#Channel[/color] +v $nick }
}


This is triggered whenever a fileserver is advertised. It checks if the user is not voiced and that you are opped and if so then it voices the user.

Last edited by schaefer31; 25/09/05 05:22 AM.
#131090 25/09/05 04:28 PM
Joined: Jul 2005
Posts: 11
A
Pikka bird
OP Offline
Pikka bird
A
Joined: Jul 2005
Posts: 11
Thanks.

However, the fservs in the channels are always on silent and only responds when a user types !list. Some people uses Sysreset while others uses UPP. Is there a way to have the bot type !list every 30 minutes and voice the fservs that haven't been voiced yet?

#131091 25/09/05 05:46 PM
Joined: Aug 2005
Posts: 525
S
Fjord artisan
Offline
Fjord artisan
S
Joined: Aug 2005
Posts: 525
Quote:
Thanks.

However, the fservs in the channels are always on silent and only responds when a user types !list. Some people uses Sysreset while others uses UPP. Is there a way to have the bot type !list every 30 minutes and voice the fservs that haven't been voiced yet?


Yes, this is possible. However I don't know how the output looks like from UPP so you will have to change this to suit your needs.

To check every 30 minutes you can use a timer

Code:
/timerVCheck 0 1800 /msg [color:red]#Channel[/color] !list


The 1800 is 30 minutes represented in seconds and the 0 means that it doesn't stop until either you are disconnected from the server or you issue a halt command to the timer -> /timerVCheck off. If either of those happens, you will need to restart the timer again upon reconnecting.

For the voicing, use this code. I am assuming the fserve adds are NOTICES. Again you will need to change the UPP text, as I don't know what the output looks like for it. If you need help with it, paste the format of the fserve output.

Code:
on 1:notice:*SysReset *File Server*:[color:red]#Channel[/color]:{
  if ($nick !isvoice [color:red]#Channel[/color] &amp;&amp; $me isop [color:red]#Channel[/color]) { mode [color:red]#Channel[/color] +v $nick }
}

on 1:notice:*[color:red]Some UPP Text[/color]*:[color:red]#Channel[/color]:{
  if ($nick !isvoice [color:red]#Channel[/color] &amp;&amp; $me isop [color:red]#Channel[/color]) { mode [color:red]#Channel[/color] +v $nick }
}


BTW for the SysReset, I put SysReset *File Server to allow for people using different versions of SysReset to be voiced.

Last edited by schaefer31; 25/09/05 05:56 PM.
#131092 25/09/05 06:48 PM
Joined: Jul 2005
Posts: 11
A
Pikka bird
OP Offline
Pikka bird
A
Joined: Jul 2005
Posts: 11
Thanks for the help!

#131093 25/09/05 09:16 PM
Joined: Aug 2005
Posts: 525
S
Fjord artisan
Offline
Fjord artisan
S
Joined: Aug 2005
Posts: 525
You're welcome.

#131094 01/10/05 05:27 AM
Joined: Jul 2005
Posts: 6
C
Nutrimatic drinks dispenser
Offline
Nutrimatic drinks dispenser
C
Joined: Jul 2005
Posts: 6
if it is just a few people, not a huge irc chan with user access levels with your own bot etc try this

Code:
on *:join:#chan: {
  ( if $address == jesus@342.52.14.24@thisISPsucks.net )
  op $nick
}

#131095 03/10/05 01:19 PM
Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
Your example address is incorrectly formatted. laugh


Invision Support
#Invision on irc.irchighway.net

Link Copied to Clipboard