[I am relaying this situation as it was presented to me by another person, it puzzled me so I brought the topic here on this person's behalf]
BACKGROUND
Person created a 'quote' script which teaches the bot how to send a random quote message to a channel when !quote is typed by another channel member.
The usage of putserv in question is such (this is pseudo-TCL, i don't know it that well):
if ( $quote != "" )
{
putlog "Quote existed: $quote"
putserv $chan "$quote"
}
else
{
putserv $chan "quote did not exist"
}
PROBLEM
Upon testing this script the person discovered that even though every single time he typed !quote in the channel, the putlog would report in his DCC console "Quote existed". However, the eggdrop would not always seem to get the actual quote out to the server. For example, this person would send !quote to the channel 3 times in quick succession, and the bot would respond with only 2 quotes. Yet still in the DCC console there would be 3 putlog reports saying "Quote existed: <quote>".
QUESTION
Why is putserv eggdrop1.6.4 behaving in such a way that it (seemingly randomly) decides to discard output queued by 'putserv'? Note the person also tried 'puthelp' as an alternative with the same results.
Because you haven't set whatever queue your sending it to not to allow duplicate entries.
From eggdrop.complete.conf
# [0/1] allow a msg being twice in a queue?
set double-mode 0
set double-server 0
set double-help 0
Whichever queue your're using (the server queue in the case of putserv), has to have that value set to 1 (though why you'd want the bot to repeat the same thing that quick in succession is beyond me)
The messages are not duplicate. In the example I described, the quotes retrieved were different for all 3 cases.
Also, I did not define what 'quick succession' meant. The person would type
!quote, await a response (or wait 30 seconds for no response), and type !quote again.
Did the quotes have any high-bit characters in them? High-bit characters are characters whose ascii value is above 127, such as ÈÉÊâãä. I forget what version it was fixed in, but for a while, special characters like that could cause eggdrop to lose server output.
This only applies if your tcl version is 8.1 or up.
If this is not a high-bit char problem, then we would need to see the exact code.
There may also be more information available in console modes such as +d. Not all error messages display unless the correct console settings are enabled.
It is not a high-bit-char problem, and we have tried both +d(ebug) console messages (saw nothing regarding duplicate messages, which is what I expect since the messages weren't infact duplicates) and +r(aw) to see if something silly was going on with the server. Neither option revealed anything new.
Enabling +v wouldn't really help much from our perspective, maybe that of a developer. Because I can verify the bot is using 'putserv "PRIVMSG..."' each time, so for that to become malformed before heading out to the server just tells me something that I think I already know, the outbound message processing is screwed up [on this particular bot].
<font size=-1>[ This Message was edited by: MikeeHome on 2001-11-07 22:59 ]</font>