| View previous topic :: View next topic |
| Author |
Message |
pakistani1 Voice
Joined: 20 Apr 2005 Posts: 26 Location: Pakistan Zindabad
|
Posted: Wed May 14, 2008 4:32 pm Post subject: |
|
|
| Code: | ### UNACTIVE-CHATTER (DEVOICE) EXEMPT NICKS ###
#Set the list of nicks here which you would like to be exempted from being
#devoiced by the script. Place separate each entry by placing it in a new line.
################################################################################
#If you do not have any nick to exempt, then: set autovoice(dvexempt) {}
set autovoice(dvexempt) {
mmradio
^pagli^
n0mercy
Pakistani1
pinky^
janat
huzur
aband0ned
}
|
the bot still devoice these nicks ..
 _________________ !~!~!~!~!~ ::Long Live The REpubLic ::~!~!~! |
|
| Back to top |
|
 |
speechles Revered One

Joined: 26 Aug 2006 Posts: 1398 Location: emerald triangle, california (coastal redwoods)
|
Posted: Wed May 14, 2008 5:48 pm Post subject: |
|
|
| Code: | set exemptlist [list]
foreach nickchan $autovoice(dvexempt) {
lappend exemptlist $nickchan
}
if {[llength $exemptlist] > 0} {
foreach nickchan $exemptlist {
if {[string equal -nocase [lindex [split $nickchan :] 0] $user] && [string equal -nocase [lindex [split $nickchan :] 1] $chan]} {
set exempt 1; break
}
}
} |
Reading the logic behind this code, it appears $nickchan wants to have a colon delineated setting, nick:#chan, whereas your merely using nick...This will never fit the evaluated IF statement, meaning exempt can never be set afterwards as a result...
| Code: | ### UNACTIVE-CHATTER (DEVOICE) EXEMPT NICKS ###
#Set the list of nicks here which you would like to be exempted from being
#devoiced by the script. Place separate each entry by placing it in a new line.
################################################################################
#If you do not have any nick to exempt, then: set autovoice(dvexempt) {}
set autovoice(dvexempt) {
nick1:#channel1
nick2:#channel2
nick3:#channel3
} |
Notice how the script was before you made your modifica..correction, before you mangled it and destroyed it?
Below is code to correct this limitation and allow nicknames to be referenced globally instead of as tied to channel names.
| Code: | in proc autovoice:users, change:
if {[string equal -nocase [lindex [split $nickchan :] 0] $nick] && [string equal -nocase [lindex [split $nickchan :] 1] $chan]} {
into:
if {[string equal -nocase $nickchan $nick] || ([string equal -nocase [lindex [split $nickchan :] 0] $nick] && [string equal -nocase [lindex [split $nickchan :] 1] $chan])} {
in proc autovoice:devoice:idlers, change:
if {[string equal -nocase [lindex [split $nickchan :] 0] $nick] && [string equal -nocase [lindex [split $nickchan :] 1] $chan]} {
into:
if {[string equal -nocase $nickchan $user] || ([string equal -nocase [lindex [split $nickchan :] 0] $user] && [string equal -nocase [lindex [split $nickchan :] 1] $chan])} { |
| Code: | set autovoice(avexempt) {
nick5
nick7:#channel2
nick8:#channel3
}
set autovoice(dvexempt) {
nick1
nick2:#channel1
nick3:#channel2
nick4
} |
In the above example, with the IF handlers both changed as mentioned above, the result of this would be:
for autovoice exemption, nick5 is never voiced globally, nick7 does not get voiced in #channel2, nick8 does not get voiced in #channel3.
for devoice exemption, nick1 is never devoiced globally, nick2 is not devoiced on #channel1, nick3 is not devoiced on #channel2, nick4 is never devoiced globally.
...and since awyeah has left the building so to speak, it's fine if we tamper with his script in his absense.  |
|
| Back to top |
|
 |
Sydneybabe Op
Joined: 27 Apr 2007 Posts: 106 Location: Philippines
|
Posted: Thu Aug 28, 2008 5:47 am Post subject: |
|
|
Hi, i load activechatter.tcl on eggdrop v1.6.19 from http://channels.dal.net/awyeah/ and this is what appear on partyline Tcl error [autovoice:devoice:idlers]: invalid channel: (#unix)
<elite> .set errorInfo
<Bot> [09:03] #elite# set errorInfo
<Bot> Currently: invalid channel: {#unix}
<Bot> Currently: while executing
<Bot> Currently: "chanlist $chan"
<Bot> Currently: (procedure "autovoice:devoice:idlers" line 11)
<Bot> Currently: invoked from within
<Bot> Currently: "autovoice:devoice:idlers $_time1 $_time2 $_time3 $_time4 $_time5"
Any idea what is the problem? |
|
| Back to top |
|
 |
Sydneybabe Op
Joined: 27 Apr 2007 Posts: 106 Location: Philippines
|
Posted: Sat Sep 20, 2008 9:31 am Post subject: |
|
|
anyone can help me to fix this since awyeah left the building?  |
|
| Back to top |
|
 |
speechles Revered One

Joined: 26 Aug 2006 Posts: 1398 Location: emerald triangle, california (coastal redwoods)
|
Posted: Sat Sep 20, 2008 1:13 pm Post subject: |
|
|
| Sydneybabe wrote: | Hi, i load activechatter.tcl on eggdrop v1.6.19 from http://channels.dal.net/awyeah/ and this is what appear on partyline Tcl error [autovoice:devoice:idlers]: invalid channel: (#unix)
<elite> .set errorInfo
<Bot> [09:03] #elite# set errorInfo
<Bot> Currently: invalid channel: {#unix}
<Bot> Currently: while executing
<Bot> Currently: "chanlist $chan"
<Bot> Currently: (procedure "autovoice:devoice:idlers" line 11)
<Bot> Currently: invoked from within
<Bot> Currently: "autovoice:devoice:idlers $_time1 $_time2 $_time3 $_time4 $_time5"
Any idea what is the problem? |
It tells you implicitly what the problem is. You haven't defined the channel #unix within eggdrops channel record. Why this happens usually, is you built a new eggdrop and added your scripts to it before you actually connected and set up the channel records. This is bad. You want to start a bot with no scripts loaded. Join it up into your channels using .+chan to build your channel records. Afterwards edit your eggdrop.conf to include each script and issue a .rehash or .restart. This is the correct way to start and then customize an eggdrop. _________________ speechles' eggdrop tcl archive |
|
| Back to top |
|
 |
Sydneybabe Op
Joined: 27 Apr 2007 Posts: 106 Location: Philippines
|
Posted: Sun Sep 21, 2008 6:56 am Post subject: |
|
|
| Hi, speechles still got that error [10:46] Tcl error [autovoice:devoice:idlers]: invalid channel: {#unix} and on eggdrop.conf i have set the channel #unix and even i type on the paryline .+chan #unix bot says - That channel already exists! |
|
| Back to top |
|
 |
willyw Revered One
Joined: 15 Jan 2009 Posts: 1175
|
Posted: Fri Jan 30, 2009 1:51 pm Post subject: |
|
|
Having just found and tried out the activechatter.tcl script, I am just now finding this thread.
Am having the exact same result of:
Tcl error [autovoice:devoice:idlers]: invalid channel: {#channelname}
where #channelname DOES exist in bot, and bot IS in channel.
Further info: bot will voice a user, but will not devoice that user later, when user has been idle for x minutes.
Tried v3.47.b of script first.
Then found v3.66.b and tried it too.
Both behaved the same.
Using Windrop v1.16.19
1.) Has anyone EVER gotten this script to work properly?
2.) Could using it with Windrop cause problems? Should it work with
Windrop?
3.) Does anyone know of any other script that has same capability?
(Searched egghelp archive for "voice" and didn't find one in the
results. )
Thanks |
|
| Back to top |
|
 |
speechles Revered One

Joined: 26 Aug 2006 Posts: 1398 Location: emerald triangle, california (coastal redwoods)
|
Posted: Fri Jan 30, 2009 5:58 pm Post subject: |
|
|
This problem appears to only occur only within autovoice:devoice:idlers procedure which makes it rather easy to tell what it causing the issue. | Code: | | set chan [split [string tolower $chan]] |
That is the problem code within autovoice:devoice:idlers that is causing your issue. The script is incorrectly splitting the string into a list, and then using it within string commands. | Quote: | | Tcl error [autovoice:devoice:idlers]: invalid channel: {#channelname} |
The {bracings} around #channelname clearly point this out. I missed this during my last attempt to solve this script bug. Within the procedure autovoice:devoice:idlers make the small change below:
| Code: | Change: set chan [split [string tolower $chan]]
Into: set chan [string tolower $chan]
|
This should solve the problem once and for all.  _________________ speechles' eggdrop tcl archive |
|
| Back to top |
|
 |
willyw Revered One
Joined: 15 Jan 2009 Posts: 1175
|
Posted: Fri Jan 30, 2009 9:31 pm Post subject: |
|
|
| speechles wrote: |
...
This should solve the problem once and for all.  |
Thank you for the reply.
Have tried your recommedation, and at first it seemed to be working ok!
That is, now the error is no longer appearing, and the script will also devoice a user.
( I suppose that also answers the question about it working with Windrop too, )
Something new has appeared though.
It is the same problem that I've encountered with some other scripts.
See:
http://forum.egghelp.org/viewtopic.php?t=10432&start=210
and
http://forum.egghelp.org/viewtopic.php?t=16555
regarding the interruption of logging and failure of posts to appear in console (even though +p is on).
The same thing is happening ... sort of... with this activechatter script.
To explain "sort of" :
For example, with x lines set at 5, the script will +v a user after he types 5 lines.
But, the first line he types is the only one to appear in console!
The next 4 do not.
The 6th does appear, and logging is back to normal.
Apparently, while the script is counting lines, it blocks the display of posts from appearing in console and in logs.
As I can't do tcl coding, I don't know if this is fixable or not.
Is it?
Thanks |
|
| Back to top |
|
 |
awyeah Revered One

Joined: 26 Apr 2004 Posts: 1580 Location: Switzerland
|
Posted: Tue Feb 03, 2009 11:22 pm Post subject: |
|
|
Hello all,
Due to the surge number of requests on this script, I took out some time barely to fix the known bugs and issues thanks to speechless.
The new and fixed version of the script Active Chatter v3.72b can be found at: http://channels.dal.net/awyeah/
or alternatively you can download it from:
http://metalab.uniten.edu.my/~jawad/activechatter.tcl
| Quote: |
# v3.72.b - Fixed bugs reported by users thanks to "speechless" from #
# (04/02/09) the egghelp forum. #
# - Fixed a bug in the autovoice:users and #
# autovoice:devoice:idlers procedure for $nickchan. #
# - Fixed declaration of $chan in autovoice:devoice:idlers #
# procedure. #
# - Added configuration settings to set user specific mode #
# settings for displaying active and idle chatters. #
|
New configuration settings added:
| Code: |
### SET THE TEXT TO DISPLAY IN THE +V (VOICING) MODE ###
#Set the text to display while voicing the active chatters. This text will be
#displayed when removing the channel key (mode: -k). Control codes such as
#color/bold/underline/reverses can also be used in the string.
#Please see: http://tclhelp.net/#faqcolor for more information on control codes.
#NOTE: There should NOT be any empty spaces " " in the string.
################################################################################
set autovoice(voicemode) "\0032Active.\00312chatter"
### SET THE TEXT TO DISPLAY IN THE -V (DE-VOICING) MODE ###
#Set the text to display while devoicing the idle chatters. This text will be
#displayed when removing the channel key (mode: -k). Control codes such as
#color/bold/underline/reverses can also be used in the string.
#Please see: http://tclhelp.net/#faqcolor for more information on control codes.
#NOTE: There should NOT be any empty spaces " " in the string.
################################################################################
set autovoice(devoicemode) "\0032Unactive.\00312chatter"
|
Thanks to speechless and other users for reporting bugs. Credits added in the script. Thanks everyone, wouldn't have done it without you.
*** Will also submit the updated version to slennox, for the egghelp.org tcl archive. _________________ ·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
================================== |
|
| Back to top |
|
 |
willyw Revered One
Joined: 15 Jan 2009 Posts: 1175
|
Posted: Wed Feb 04, 2009 12:45 pm Post subject: |
|
|
| awyeah wrote: | Hello all,
Due to the surge number of requests on this script, I took out some time barely to fix the known bugs and issues thanks to speechless.
...
|
Thank you for taking time to try to fix it.
I have downloaded a copy from your link, and tried it.
The known issue with logging interference and console interference is unchanged. It is still there.
Also, now I see:
[11:34]Tcl error in script for 'timer36':
[11:34] can't read "autovoice(voicemode)": no such variable
I thought you'd like to know. |
|
| Back to top |
|
 |
speechles Revered One

Joined: 26 Aug 2006 Posts: 1398 Location: emerald triangle, california (coastal redwoods)
|
Posted: Wed Feb 04, 2009 8:03 pm Post subject: |
|
|
| Code: | proc autovoice:delay {nick chan} {
# Change the part below
global voice
# Into this
global autovoice voice |
_________________ speechles' eggdrop tcl archive |
|
| Back to top |
|
 |
willyw Revered One
Joined: 15 Jan 2009 Posts: 1175
|
Posted: Thu Feb 05, 2009 12:24 am Post subject: |
|
|
| speechles wrote: | | Code: | proc autovoice:delay {nick chan} {
# Change the part below
global voice
# Into this
global autovoice voice |
|
This seems to have fixed the tcl error that was appearing.
However the problem with the script interfering with logging and display to console was unaffected by this.
The script still blocks logging and display to console as previously described.
Thanks |
|
| Back to top |
|
 |
willyw Revered One
Joined: 15 Jan 2009 Posts: 1175
|
Posted: Thu Feb 05, 2009 12:27 am Post subject: |
|
|
| awyeah wrote: |
New configuration settings added:
| Code: |
### SET THE TEXT TO DISPLAY IN THE +V (VOICING) MODE ###
#Set the text to display while voicing the active chatters. This text will be
#displayed when removing the channel key (mode: -k). Control codes such as
#color/bold/underline/reverses can also be used in the string.
#Please see: http://tclhelp.net/#faqcolor for more information on control codes.
#NOTE: There should NOT be any empty spaces " " in the string.
################################################################################
set autovoice(voicemode) "\0032Active.\00312chatter"
### SET THE TEXT TO DISPLAY IN THE -V (DE-VOICING) MODE ###
#Set the text to display while devoicing the idle chatters. This text will be
#displayed when removing the channel key (mode: -k). Control codes such as
#color/bold/underline/reverses can also be used in the string.
#Please see: http://tclhelp.net/#faqcolor for more information on control codes.
#NOTE: There should NOT be any empty spaces " " in the string.
################################################################################
set autovoice(devoicemode) "\0032Unactive.\00312chatter"
|
|
Forgot to mention earlier - these don't work. If this text is supposed to appear in the channel, it is not.
Sorry that I forgot to report it earlier. |
|
| Back to top |
|
 |
awyeah Revered One

Joined: 26 Apr 2004 Posts: 1580 Location: Switzerland
|
Posted: Thu Feb 05, 2009 4:35 am Post subject: |
|
|
Sorry forgot to add the variables as global. My bad, been away a long time with tcl.
Always mess up while coding things in a hurry, no matter how simple. More worse if you don't test it after modification.
*** Script fixed and uploaded on:
http://channels.dal.net/awyeah/
The text should appear similarly as the old version, the only change now that, users can easily set the text when a bot voices and devoices a user. No need to edit it in the script, when a variable is present now in the configuration. _________________ ·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
================================== |
|
| Back to top |
|
 |
|