egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Active Chatter v3.66.b by awyeah (20/09/07 - fixed all bugs)
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases
View previous topic :: View next topic  
Author Message
pakistani1
Voice


Joined: 20 Apr 2005
Posts: 26
Location: Pakistan Zindabad

PostPosted: Wed May 14, 2008 4:32 pm    Post subject: Reply with quote

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 ..
Rolling Eyes
_________________
!~!~!~!~!~ ::Long Live The REpubLic ::~!~!~!
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
speechles
Revered One


Joined: 26 Aug 2006
Posts: 1398
Location: emerald triangle, california (coastal redwoods)

PostPosted: Wed May 14, 2008 5:48 pm    Post subject: Reply with quote

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. Wink
Back to top
View user's profile Send private message
Sydneybabe
Op


Joined: 27 Apr 2007
Posts: 106
Location: Philippines

PostPosted: Thu Aug 28, 2008 5:47 am    Post subject: Reply with quote

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
View user's profile Send private message
Sydneybabe
Op


Joined: 27 Apr 2007
Posts: 106
Location: Philippines

PostPosted: Sat Sep 20, 2008 9:31 am    Post subject: Reply with quote

anyone can help me to fix this since awyeah left the building? Crying or Very sad
Back to top
View user's profile Send private message
speechles
Revered One


Joined: 26 Aug 2006
Posts: 1398
Location: emerald triangle, california (coastal redwoods)

PostPosted: Sat Sep 20, 2008 1:13 pm    Post subject: Reply with quote

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
View user's profile Send private message
Sydneybabe
Op


Joined: 27 Apr 2007
Posts: 106
Location: Philippines

PostPosted: Sun Sep 21, 2008 6:56 am    Post subject: Reply with quote

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
View user's profile Send private message
willyw
Revered One


Joined: 15 Jan 2009
Posts: 1175

PostPosted: Fri Jan 30, 2009 1:51 pm    Post subject: Reply with quote

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
View user's profile Send private message
speechles
Revered One


Joined: 26 Aug 2006
Posts: 1398
Location: emerald triangle, california (coastal redwoods)

PostPosted: Fri Jan 30, 2009 5:58 pm    Post subject: Reply with quote

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. Smile
_________________
speechles' eggdrop tcl archive
Back to top
View user's profile Send private message
willyw
Revered One


Joined: 15 Jan 2009
Posts: 1175

PostPosted: Fri Jan 30, 2009 9:31 pm    Post subject: Reply with quote

speechles wrote:


...

This should solve the problem once and for all. Smile


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, Smile )

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
View user's profile Send private message
awyeah
Revered One


Joined: 26 Apr 2004
Posts: 1580
Location: Switzerland

PostPosted: Tue Feb 03, 2009 11:22 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
willyw
Revered One


Joined: 15 Jan 2009
Posts: 1175

PostPosted: Wed Feb 04, 2009 12:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
speechles
Revered One


Joined: 26 Aug 2006
Posts: 1398
Location: emerald triangle, california (coastal redwoods)

PostPosted: Wed Feb 04, 2009 8:03 pm    Post subject: Reply with quote

Code:
proc autovoice:delay {nick chan} {
 # Change the part below
 global voice

 # Into this
 global autovoice voice

_________________
speechles' eggdrop tcl archive
Back to top
View user's profile Send private message
willyw
Revered One


Joined: 15 Jan 2009
Posts: 1175

PostPosted: Thu Feb 05, 2009 12:24 am    Post subject: Reply with quote

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. Smile


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
View user's profile Send private message
willyw
Revered One


Joined: 15 Jan 2009
Posts: 1175

PostPosted: Thu Feb 05, 2009 12:27 am    Post subject: Reply with quote

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
View user's profile Send private message
awyeah
Revered One


Joined: 26 Apr 2004
Posts: 1580
Location: Switzerland

PostPosted: Thu Feb 05, 2009 4:35 am    Post subject: Reply with quote

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. Smile

*** 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
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases All times are GMT - 4 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber