This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

bot double ops, don't know why...

Help for those learning Tcl or writing their own scripts.
Post Reply
s
stilllearning
Voice
Posts: 8
Joined: Sun Jan 29, 2006 1:58 am

bot double ops, don't know why...

Post by stilllearning »

I'm using eggdrop 1.6.17, with no TCL scripts loaded but my own that I am writing. The script itself is fairly barebone at this moment.
After studying getops.tcl that comes with eggdrop, I am writing my own...
The script works fine except for one problem, my bots op twice. The 2nd time is -definitely not- my script. How am I sure? I modified my script to `putquick "MODE $chan +o-b $bot *!test@*"` So, I know that it's my script opping another bot.
The second op is a plain op and happens always after the first op never before. Seems to be triggered by the same source, which is eggdrop's own need function I'm guessing.
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

I suspect that the channel is set to +autoop and the users being oped have the +o flag?
s
stilllearning
Voice
Posts: 8
Joined: Sun Jan 29, 2006 1:58 am

Post by stilllearning »

I have that mode off, but while I checked my channel modes I noticed +protectops is on. And that's probably what's triggering it, since the way I am testing the getops between bots is by deopping/kicking them. Now I noticed that when I do this with a client that is recognized with owner flags on the bot, the bots do not that additional op for the bot that was deopped.

Now when I do this with a 2nd client that is added to the bots but has no flags, the bots will do the additional op ontop of the opping I added with my script. However this isn't true if "client 2" kicks the bot, only deops a bot.

Anyway, this is a useful feature of course, but I want to integrate it with my own proc i wrote for handling opping. Is there a way to remove the original function of +protectops? And then from within the script I'll add my own protectops procs that check for +protectops and then call my own proc that handles opping?
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

you might be able to get rid of it by using pushmode and "set double-mode 0" in the config file.
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

De Kus wrote:you might be able to get rid of it by using pushmode and "set double-mode 0" in the config file.
nope, those aren't identical messages in the queue
connection, sharing, dcc problems? click <here>
before asking for scripting help, read <this>
use

Code: Select all

 tag when posting logs, code
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

stilllearning wrote:Is there a way to remove the original function of +protectops? And then from within the script I'll add my own protectops procs that check for +protectops and then call my own proc that handles opping?
bind to raw MODE (or/and KICK), do what you need to do, return 1 to indicate eggdrop must skip further processing & action, otherwise 0
connection, sharing, dcc problems? click <here>
before asking for scripting help, read <this>
use

Code: Select all

 tag when posting logs, code
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

demond wrote:
De Kus wrote:you might be able to get rid of it by using pushmode and "set double-mode 0" in the config file.
nope, those aren't identical messages in the queue
whatever, pushmode won't put double modes and internal modes should use the mode queue as well.
[21:03:43] tcl: evaluate (.tcl): pushmode "#zeitenwandel" +v "StarZ|De_Kus"; pushmode "#zeitenwandel" +v "StarZ|De_Kus"
Tcl:
[21:03:44] [s->] MODE #zeitenwandel +v StarZ|De_Kus
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

De Kus wrote:
demond wrote:
De Kus wrote:you might be able to get rid of it by using pushmode and "set double-mode 0" in the config file.
nope, those aren't identical messages in the queue
whatever, pushmode won't put double modes and internal modes should use the mode queue as well.
[21:03:43] tcl: evaluate (.tcl): pushmode "#zeitenwandel" +v "StarZ|De_Kus"; pushmode "#zeitenwandel" +v "StarZ|De_Kus"
Tcl:
[21:03:44] [s->] MODE #zeitenwandel +v StarZ|De_Kus
I was talking about double-mode, which doesn't concern [pushmode] - in the sense that [pushmode] has its own higher-level buffering with separate processing, meant to pack more modes into single modeline
connection, sharing, dcc problems? click <here>
before asking for scripting help, read <this>
use

Code: Select all

 tag when posting logs, code
Post Reply