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.

Slow output

Old posts that have not been replied to for several years.
Locked
p
perlgeek

Slow output

Post by perlgeek »

Hi,

I'm running an eggdrop with several scripts and games installed for a local group of friends. My problem is that the bot only seems to spit out one line a second. I realize this is flood-prevention from the bot, but as I'm running my own irc server this won't be a problem. After a little tweaking, and replacing putserv with putquick in a few scripts, I now got it to spit out four lines in one go, more than four in one go it'll spit out at one a second again. This leads me to believe it is possible to have all it's output spit out without flood-prevention or delays.

My question then is, is this possible to configure, does anyone know how to? Or is it not, and will I have to change some eggdrop source, and would anyone know which general direction in the source I'd need to look at?

Best regards,


a perl geek (just to get ppslim's blood flowing =)
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

puthelp, putquick and putserv all use the queuing system, and have delays assosiated with them.

There is a further command, that should not be used by default. This can be used for things like this, and for times when you need to force a mode very quickly.

"putdccraw" is the command name.

Code: Select all

set output "PRIVMSG ppslim :Test"
putdccraw 0 $output [string length $output]
It takes three params
1: The IDX of the connection. use 0 for the currently connected IRC server
2: The output destined for the connection
3: The length of the data being sent

Because embeded NULLS can be sent accross connections with this, it can't detect the length of the string itself, thus whatever script must pass the length.
p
perlgeek

Post by perlgeek »

Thanks for the information -

I did find that command when searching through this forum (but failed to mention this :oops: ), I just wondered if it were possible to do in the eggdrop.conf instead of having to modify all scripts.

I guess I'll have to write a search and replace perl script which shouldn't be too hard.

Thanks for the help and information though,


-pg
User avatar
stdragon
Owner
Posts: 959
Joined: Sun Sep 23, 2001 8:00 pm
Contact:

Post by stdragon »

If you only want to affect scripts, you can quite easily do:

Code: Select all

proc putserv {text args} {
  append text "\r\n"
  putdccraw 0 [string length $text] $text
}

proc puthelp {text args} {
  putserv $text
}

proc putquick {text args} {
  putserv $text
}
(not tested but should work)

Aside from that, you could edit the server module and disable queueing.
Locked