| View previous topic :: View next topic |
| Author |
Message |
awyeah Revered One

Joined: 26 Apr 2004 Posts: 1580 Location: Switzerland
|
Posted: Mon Aug 06, 2007 10:24 pm Post subject: Active Chatter v3.66.b by awyeah (20/09/07 - fixed all bugs) |
|
|
Just done with a new script earlier. Thought of mentioning it here, before I send it to egghelp's tcl archive later.
Active Chatter v3.47.b
| Quote: |
# #
# ########### #
# DESCRIPTION #
# ########### #
# #
# This script voices users who have said a certain number of lines on a #
# channel (active chatters). Additionally, it devoices users who are #
# idling for more than a certain amount of time on a channel (unactive #
# chatters). #
# #
|
You can download this script by clicking on the link below:
Active Chatter v3.47.b _________________ ·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
Last edited by awyeah on Wed Sep 19, 2007 11:04 pm; edited 2 times in total |
|
| Back to top |
|
 |
LivingSouL Voice

Joined: 04 May 2007 Posts: 15 Location: Davao
|
Posted: Fri Aug 17, 2007 3:16 pm Post subject: |
|
|
i dont know what's wrong
Tcl error [autovoice:devoice:idlers]: invalid channel: (#davao)
why is that? _________________ http://www.chatx.net |
|
| Back to top |
|
 |
awyeah Revered One

Joined: 26 Apr 2004 Posts: 1580 Location: Switzerland
|
Posted: Sun Aug 19, 2007 9:35 am Post subject: |
|
|
The devoice thing might be having some bug.
Type:
in partyline after you receive this error, and then paste me the complete info for the part of the script which triggered it.
| Quote: |
To use the .tcl command in partyline, make sure you have added a hash infront of these 2 lines in your bot configuration file; to comment them:
unbind dcc n tcl *dcc:tcl
unbind dcc n set *dcc:set
like this:
#unbind dcc n tcl *dcc:tcl
#unbind dcc n set *dcc:set
and then restart your bot
|
_________________ ·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
================================== |
|
| Back to top |
|
 |
awyeah Revered One

Joined: 26 Apr 2004 Posts: 1580 Location: Switzerland
|
Posted: Sun Aug 19, 2007 9:38 am Post subject: |
|
|
| LivingSouL wrote: | i dont know what's wrong
Tcl error [autovoice:devoice:idlers]: invalid channel: (#davao)
why is that? |
This could also be if you have chosen setting 1 for the channels and defined your channels, but the bot is NOT currently on one of those defined channels, then it would show this error also.
Anyway for that I will update the script and upload it again.
*** Script fixed and uploaded _________________ ·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
================================== |
|
| Back to top |
|
 |
LivingSouL Voice

Joined: 04 May 2007 Posts: 15 Location: Davao
|
Posted: Sun Aug 19, 2007 1:56 pm Post subject: |
|
|
your fixed script has an error on line 260 missing close brace  _________________ http://www.chatx.net |
|
| Back to top |
|
 |
LivingSouL Voice

Joined: 04 May 2007 Posts: 15 Location: Davao
|
Posted: Sun Aug 19, 2007 1:59 pm Post subject: |
|
|
with the new uploaded script, i set 2 for the first settings, and this one poped up.. | Code: | [19:57] Tcl error [autovoice:devoice:idlers]: can't read "chans": no such variable
[19:58] Tcl error [autovoice:devoice:idlers]: invalid channel: {#davao}
|
and can't use the .tcl set errorInfo even if i commented the 2 lines u said.[/code] _________________ http://www.chatx.net |
|
| Back to top |
|
 |
YooHoo Owner

Joined: 13 Feb 2003 Posts: 939 Location: Redwood Coast
|
Posted: Sun Aug 19, 2007 3:27 pm Post subject: |
|
|
| LivingSouL wrote: | | and can't use the .tcl set errorInfo even if i commented the 2 lines u said. | the correct syntax is .set errorinfo, not .tcl set errorinfo _________________
Johoho's TCL for beginners
 |
|
| Back to top |
|
 |
nml375 Revered One
Joined: 04 Aug 2006 Posts: 2857
|
Posted: Sun Aug 19, 2007 4:11 pm Post subject: |
|
|
Actually, either works just aswell as the other, as long as the corresponding command (.set or .tcl) has been enabled. Also keep in mind that there is one capitalized i in the variable... that is "errorInfo" and not "errorinfo".
As for using .tcl and/or .set, a full restart is required once edited your config-file.. a simple .rehash won't do as this won't wipe the old tcl-environment (and thus not restoring those bindings).
Also make sure the "owner" and "must-be-owner" variables are set accordingly:
| Code: | # Un-comment the next line and set the list of owners of the bot.
# You NEED to change this setting.
#set owner "MrLame, MrsLame"
...
# If you enable this setting, only permanent owners (owner setting) will be
# able to use .tcl and .set. Moreover, if you want only let permanent owners
# use .dump, then set this to 2.
set must-be-owner 1 |
_________________ NML_375, idling at #eggdrop@IrcNET |
|
| Back to top |
|
 |
awyeah Revered One

Joined: 26 Apr 2004 Posts: 1580 Location: Switzerland
|
Posted: Sun Aug 19, 2007 8:35 pm Post subject: |
|
|
| LivingSouL wrote: | with the new uploaded script, i set 2 for the first settings, and this one poped up.. | Code: | [19:57] Tcl error [autovoice:devoice:idlers]: can't read "chans": no such variable
[19:58] Tcl error [autovoice:devoice:idlers]: invalid channel: {#davao}
|
and can't use the .tcl set errorInfo even if i commented the 2 lines u said.[/code] |
Thanks well, i'll test it myself this time (fix it) and get back to you regarding this error. _________________ ·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
================================== |
|
| Back to top |
|
 |
awyeah Revered One

Joined: 26 Apr 2004 Posts: 1580 Location: Switzerland
|
Posted: Mon Aug 20, 2007 1:50 am Post subject: |
|
|
Okay, I fixed the script tested it this time on my bot. Didn't encounter any errors when I ran it for like 2hours.
You can download the updated script from the link above now.
*** Script fixed and uploaded
| Quote: |
In the next version:
I am planning to use ctcp FINGER replies from users to check idle times for devoicing voiced users, rather than "getchanidle" which sets to 0, once the bot cycles or parts. I think this would be more accurate.
|
_________________ ·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
================================== |
|
| Back to top |
|
 |
nml375 Revered One
Joined: 04 Aug 2006 Posts: 2857
|
Posted: Mon Aug 20, 2007 7:25 am Post subject: |
|
|
The downside with ctcp finger-replies is that the reply is in no way standardized, and entirely rely on the client to provide accurate information (which, of course, could easily be circumvented with the scripting-capabilites available in most clients these days). Not all clients will respond to ctcp-finger requests either.
I'd suggest you stick with getchanidle, as this will always return the least-idle time for any user in the channel. _________________ NML_375, idling at #eggdrop@IrcNET |
|
| Back to top |
|
 |
awyeah Revered One

Joined: 26 Apr 2004 Posts: 1580 Location: Switzerland
|
Posted: Tue Aug 21, 2007 6:12 am Post subject: |
|
|
Yes that is a problem however, as you can change ctcp replies based on if you use scripts, or if you know how to script yourself as well.
There is another way to script around it, but only the idea of that in my mind is too complex just to write it, heh.
I guess then getchanidle would be the ONLY (easier) solution then. _________________ ·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
================================== |
|
| Back to top |
|
 |
CosmicD Op
Joined: 11 Dec 2004 Posts: 102
|
Posted: Sat Sep 01, 2007 1:47 pm Post subject: |
|
|
I like the concept because I've seen it on other channels. However: there, the bot behaves intelligently. Which means that if a certain voice user is being kicked or banned, the bot will voice him immediately for being an active chatter , and this state will be cancled at 0:01.
I wonder if something like that can be implemented in this script as well... |
|
| Back to top |
|
 |
awyeah Revered One

Joined: 26 Apr 2004 Posts: 1580 Location: Switzerland
|
Posted: Sat Sep 01, 2007 4:02 pm Post subject: |
|
|
The active chatter (+v) flag is only given if a person has said more than X (x is a number) number of lines on a channel. My script only counts channel messages and NOT channel actions or channel notices.
Furthermore, if a user is kicked from the channel, parts the channel, quits irc or any of the mention (meaning is not on the channel anymore) his stats will be set to 0.
Eg: If you type 20 lines, and part the channel and then rejoin back in the channel (and haven't said anything yet after you joined), you would have typed 0 lines in the bots record.
Furthermore, the unactive chatter (-v) flag uses getchanidle and devoices all voices who have been idle (haven't said anything in the channel) for more than X number of minutes.
This is basically the concept behind this script.
-------
For scripts kicking voiced users, you can change your scripts NOT to kick voiced users, by adding a line like this in the start of the procs.
| Code: |
if {[isvoice $nick $chan]} { return 0 }
|
To normal users on IRC the bot might look intelligent like, AI (with this script) but the script has a very simple and clear concept.
*** If a voiced user is kicked and if he rejoins you can voice him again, you just need to bind on kick, check if the user was voiced, and add him to an array (remember to remove the nick from the array with a timer whenever you like). Then bind on join and check the array for the nick, if it matches, voice that user.
--------------
For the latest version of this script:
I was thinking to maybe integrate the number of X lines said, within a certain amount of time. Say voice the user if he says 30 lines in less than or equal to 60 minutes (lines:minutes --> 30:60).
But I tested it, and unfortunately if the script is activated on a large number of channels, or if some of the channels are very active (have alot of users talking), the bot would be running alot of timers --->> will slow it down and saturate alot of memory -->> which is bad.
-->> so have to think of another method to accomplish this. _________________ ·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
================================== |
|
| Back to top |
|
 |
awyeah Revered One

Joined: 26 Apr 2004 Posts: 1580 Location: Switzerland
|
Posted: Wed Sep 19, 2007 11:04 pm Post subject: |
|
|
Active Chatter v3.66.b
| Quote: |
20/09/07: Fixed some bugs reported.
|
Uploaded activechatter.tcl v3.66.b on my script website:
http://channels.dal.net/awyeah/ _________________ ·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
================================== |
|
| Back to top |
|
 |
|