<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forum.eggheads.org/app.php/feed/topic/18109" />

	<title>egghelp/eggheads community</title>
	<subtitle>Discussion of eggdrop bots, shell accounts and tcl scripts.</subtitle>
	<link href="https://forum.eggheads.org/index.php" />
	<updated>2010-11-16T14:56:59-04:00</updated>

	<author><name><![CDATA[egghelp/eggheads community]]></name></author>
	<id>https://forum.eggheads.org/app.php/feed/topic/18109</id>

		<entry>
		<author><name><![CDATA[Football]]></name></author>
		<updated>2010-11-16T14:56:59-04:00</updated>

		<published>2010-11-16T14:56:59-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=95103#p95103</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=95103#p95103"/>
		<title type="html"><![CDATA[Rep.tcl by Luminous]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=95103#p95103"><![CDATA[
Can you set it as a variable so that I can decide how long (in days) the default will be and just change it at the begining of the script if I want to?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10393">Football</a> — Tue Nov 16, 2010 2:56 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Luminous]]></name></author>
		<updated>2010-11-15T20:23:10-04:00</updated>

		<published>2010-11-15T20:23:10-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=95087#p95087</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=95087#p95087"/>
		<title type="html"><![CDATA[Rep.tcl by Luminous]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=95087#p95087"><![CDATA[
I can. How long until you want it to reset? Note that scripting is on the back burners these days, with my new job, but I'll get to it. <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=11101">Luminous</a> — Mon Nov 15, 2010 8:23 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Football]]></name></author>
		<updated>2010-11-13T14:49:48-04:00</updated>

		<published>2010-11-13T14:49:48-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=95060#p95060</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=95060#p95060"/>
		<title type="html"><![CDATA[Rep.tcl by Luminous]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=95060#p95060"><![CDATA[
Thanks, another request:<br>Can you limit the number of times a user vote for reputation? like once for ++ and once for a -- ?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10393">Football</a> — Sat Nov 13, 2010 2:49 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Luminous]]></name></author>
		<updated>2010-11-12T10:40:07-04:00</updated>

		<published>2010-11-12T10:40:07-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=95051#p95051</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=95051#p95051"/>
		<title type="html"><![CDATA[Rep.tcl by Luminous]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=95051#p95051"><![CDATA[
Sorry, just now saw this:<br><div class="codebox"><p>Code: </p><pre><code>## Rep.tcl-v.1.1.1## Author: Luminous## Support: pm on egghelp.org## This is a private script for users to add or remove reputation points to/from users. Its intended use is to keep track of positively and negatively contributing users, similar to forums with reputation systems. Points will be logged to the file "~/eggdrop/rep.txt". Note that everyone starts off at 0 or "neutral" points and does not show up as having reputation via !rep or !rep NICK until they reach negative or positive points. If points are removed from a user not in the file, they are automatically given -1. If rep is added to a user not in the file, they are automatically given 1. The plus/minus increments work normally from there unless the user reaches 0, or neutral, again.## Commands# All commands are public# To add a reputation point to a user, use "NICK++"# To remove a reputation point, use "NICK--"# To view the reputation points of a specific user, use "!rep NICK"# To view all reputation, use "!rep". A list will be privmsg'd to you slowly to avoid flooding.# Set below the char you want to trigger the "rep" functions with:set bchar "!"## Code starts, edit beyond here at your own riskbind msgm * * repproc rep {nick host hand text} { global bchar    if {[regexp -nocase {^\S+(\+\+|--)$} $text] || [regexp "^${bchar}rep.*" $text]} {        if {![file exists "rep.txt"]} {            close [open "rep.txt" w]        }        set fs [open "rep.txt"]        set data [split [read -nonewline $fs] \n]        close $fs        if {[regexp -nocase {^\S+\+\+$} $text]} {            set whom [join [lindex [split $text +] 0]]            if {[string equal -nocase "[string map {"\[" "\\\[" "\]" "\\\]" "\}" "\\\}"} $whom]" "[string map {"\[" "\\\[" "\]" "\\\]" "\}" "\\\}"} $nick]"]} {                putserv "PRIVMSG $nick :You cannot rep yourself."                return            }            set match [lsearch $data "[string map {"\[" "\\\[" "\]" "\\\]" "\}" "\\\}"} $whom] *"]               if {$match == -1} {                if {![llength $data]} {                    set fs [open "rep.txt" w]                } else {                    set fs [open "rep.txt" a]                }                puts $fs "$whom 1"                close $fs                putserv "PRIVMSG $nick :$whom now has 1 reputation point."                return 0            } else {                set line [lindex $data $match]                set rep [lindex $line 1]                  incr rep      if {$rep == 0} {                    set lines [lreplace $data $match $match]      } else {                    set newline "$whom $rep"                    set lines [lreplace $data $match $match $newline]                }                set fs [open "rep.txt" w]                puts $fs [join $lines "\n"]                close $fs      if {$rep == 0} {                    putserv "PRIVMSG $nick :$whom now has neutral reputation points."      } elseif {$rep == -1} {                    putserv "PRIVMSG $nick :$whom now has $rep reputation point."      } else {                    putserv "PRIVMSG $nick :$whom now has $rep reputation points."      }       }        } elseif {[regexp -nocase {^\S+--$} $text]} {            set whom [join [lindex [split $text -] 0]]            set match [lsearch $data "[string map {"\[" "\\\[" "\]" "\\\]" "\}" "\\\}"} $whom] *"]            if {$match == -1} {                if {![llength $data]} {                    set fs [open "rep.txt" w]                } else {                    set fs [open "rep.txt" a]                }                puts $fs "$whom -1"                close $fs                putserv "PRIVMSG $nick :$whom now has -1 reputation point."                return            }            set line [lindex $data $match]            set rep [lindex $line 1]            incr rep -1            set newline "$whom $rep"            if {$rep == 0} {                set lines [lreplace $data $match $match]                set check 0            } elseif {$rep == 1} {                set lines [lreplace $data $match $match $newline]                set check 1            } else {                set lines [lreplace $data $match $match $newline]                set check 2          }            set fs [open "rep.txt" w]            puts $fs [join $lines "\n"]            close $fs            if {$check == 0} {                putserv "PRIVMSG $nick :$whom now has neutral reputation points."            } elseif {$check == 1} {      putserv "PRIVMSG $nick :$whom now has 1 reputation point."            } else {            putserv "PRIVMSG $nick :$whom now has $rep reputation points."       }   } elseif {[string equal "${bchar}rep" $text]} {            if {![llength $data]} {      putserv "PRIVMSG $nick :No one currently has any reputation points."                return 0       }            putserv "PRIVMSG $nick :   The reputation list is as follows:"            set fs [open "rep.txt"]            while {[gets $fs line] &gt;= 0} {                set rep [join [lindex [split $line] 1]]                if {$rep == 1 || $rep == -1} {                    puthelp "PRIVMSG $nick :[join [lindex [split $line] 0]] has $rep reputation point."                } else {                    puthelp "PRIVMSG $nick :[join [lindex [split $line] 0]] has $rep reputation points."                }            }            puthelp "PRIVMSG $nick :   End of reputation list"            close $fs        } elseif {[string match -nocase "${bchar}rep *" $text]} {            if {[llength [split $text]] != 2} {              return            }        set whom [string map {"\[" "\\\[" "\]" "\\\]" "\}" "\\\}"} [join [lindex [split $text] end]]]       regsub -all {\s} $whom ""        set line [lsearch $data "$whom *"]        if {$line != -1} {        set line [lindex $data $line]        set whom [string map {"\\\]" "\]" "\\\[" "\[" "\\\{" "\{" "\\\}" "\}"} $whom]            if {[lindex [split $line] 1] == 1 || [lindex [split $line] 1] == -1} {           putserv "PRIVMSG $nick :$whom has [lindex [split $line] 1] reputation point."            } else {           putserv "PRIVMSG $nick :$whom has [lindex [split $line] 1] reputation points."            }        } else {           putserv "PRIVMSG $nick :$whom has no reputation points"        }   }    }          return}putlog " -rep.tcl loaded"</code></pre></div>I did away with the voice/op check line and adjusted the main regexp line. Now anyone can use it via privmsg to your bot. If you want to limit it to the same channel flags, I'll need the name of your main channel to create a $chan arg, since $chan is no longer a standard arg with msgm.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=11101">Luminous</a> — Fri Nov 12, 2010 10:40 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Football]]></name></author>
		<updated>2010-11-04T12:54:40-04:00</updated>

		<published>2010-11-04T12:54:40-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=94967#p94967</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=94967#p94967"/>
		<title type="html"><![CDATA[Rep.tcl by Luminous]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=94967#p94967"><![CDATA[
This doesn't seem to work for me, for some reason....<br><br>Any chance someone could edit this script so that adding reputation will be via private?<br><br><div class="codebox"><p>Code: </p><pre><code>## Rep.tcl-v.1.1.0## Author: Luminous## Support: pm on egghelp.org## This is a public script for voiced and opped users to add or remove reputation points to/from users. Its intended use is to keep track of positively and negatively contributing users, similar to forums with reputation systems. Points will be logged to the file "~/eggdrop/rep.txt". Note that everyone starts off at 0 or "neutral" points and does not show up as having reputation via !rep or !rep NICK until they reach negative or positive points. If points are removed from a user not in the file, they are automatically given -1. If rep is added to a user not in the file, they are automatically given 1. The plus/minus increments work normally from there unless the user reaches 0, or neutral, again.## Commands# All commands are public# To add a reputation point to a user, use "NICK++" # To remove a reputation point, use "NICK--"# To view the reputation points of a specific user, use "!rep NICK"# To view all reputation, use "!rep". A list will be noticed you slowly to avoid flooding.# Set below the char you want to trigger the "rep" functions with:set bchar "!"## Code starts, edit beyond here at your own riskbind pubm * * repproc rep {nick host hand chan text} { global bchar    if {[regexp -nocase {^\S+\+\+$} $text] || [regexp -nocase {^\S+--$} $text] || [regexp "^${bchar}rep.*" $text]} {        if {![isvoice $nick $chan] &amp;&amp; ![matchattr $hand |o $chan]} {            return        }        if {![file exists "rep.txt"]} {            close [open "rep.txt" w]        }        set fs [open "rep.txt"]        set data [split [read -nonewline $fs] \n]        close $fs        if {[regexp -nocase {^\S+\+\+$} $text]} {            set whom [join [lindex [split $text +] 0]]            if {[string equal -nocase "[string map {"\[" "\\\[" "\]" "\\\]" "\}" "\\\}"} $whom]" "[string map {"\[" "\\\[" "\]" "\\\]" "\}" "\\\}"} $nick]"]} {                putserv "NOTICE $nick :You cannot rep yourself."                return            }            set match [lsearch $data "[string map {"\[" "\\\[" "\]" "\\\]" "\}" "\\\}"} $whom] *"]               if {$match == -1} {                if {![llength $data]} {                    set fs [open "rep.txt" w]                } else {                    set fs [open "rep.txt" a]                }                puts $fs "$whom 1"                close $fs                putserv "PRIVMSG $chan :$whom now has 1 reputation point."                return 0            } else {                set line [lindex $data $match]                set rep [lindex $line 1]                  incr repif {$rep == 0} {                    set lines [lreplace $data $match $match]} else {                    set newline "$whom $rep"                    set lines [lreplace $data $match $match $newline]                }                set fs [open "rep.txt" w]                puts $fs [join $lines "\n"]                close $fsif {$rep == 0} {                    putserv "PRIVMSG $chan :$whom now has neutral reputation points."} elseif {$rep == -1} {                    putserv "PRIVMSG $chan :$whom now has $rep reputation point."} else {                    putserv "PRIVMSG $chan :$whom now has $rep reputation points."}    }        } elseif {[regexp -nocase {^\S+--$} $text]} {            set whom [join [lindex [split $text -] 0]]            set match [lsearch $data "[string map {"\[" "\\\[" "\]" "\\\]" "\}" "\\\}"} $whom] *"]            if {$match == -1} {                if {![llength $data]} {                    set fs [open "rep.txt" w]                } else {                    set fs [open "rep.txt" a]                }                puts $fs "$whom -1"                close $fs                putserv "PRIVMSG $chan :$whom now has -1 reputation point."                return            }            set line [lindex $data $match]            set rep [lindex $line 1]            incr rep -1            set newline "$whom $rep"            if {$rep == 0} {                set lines [lreplace $data $match $match]                set check 0            } elseif {$rep == 1} {                set lines [lreplace $data $match $match $newline]                set check 1            } else {                set lines [lreplace $data $match $match $newline]                set check 2       }            set fs [open "rep.txt" w]            puts $fs [join $lines "\n"]            close $fs            if {$check == 0} {                putserv "PRIVMSG $chan :$whom now has neutral reputation points."            } elseif {$check == 1} {putserv "PRIVMSG $chan :$whom now has 1 reputation point."            } else {         putserv "PRIVMSG $chan :$whom now has $rep reputation points."     }} elseif {[string equal "${bchar}rep" $text]} {            if {![llength $data]} {putserv "PRIVMSG $chan :No one currently has any reputation points."                return 0    }            putserv "NOTICE $nick :   The reputation list is as follows:"            set fs [open "rep.txt"]            while {[gets $fs line] &gt;= 0} {                set rep [join [lindex [split $line] 1]]                if {$rep == 1 || $rep == -1} {                    puthelp "NOTICE $nick :[join [lindex [split $line] 0]] has $rep reputation point."                } else {                    puthelp "NOTICE $nick :[join [lindex [split $line] 0]] has $rep reputation points."                }            }            puthelp "NOTICE $nick :   End of reputation list"            close $fs        } elseif {[string match -nocase "${bchar}rep *" $text]} {            if {[llength [split $text]] != 2} {              return            }        set whom [string map {"\[" "\\\[" "\]" "\\\]" "\}" "\\\}"} [join [lindex [split $text] end]]]    regsub -all {\s} $whom ""        set line [lsearch $data "$whom *"]        if {$line != -1} {        set line [lindex $data $line]        set whom [string map {"\\\]" "\]" "\\\[" "\[" "\\\{" "\{" "\\\}" "\}"} $whom]            if {[lindex [split $line] 1] == 1 || [lindex [split $line] 1] == -1} {           putserv "PRIVMSG $chan :$whom has [lindex [split $line] 1] reputation point."            } else {           putserv "PRIVMSG $chan :$whom has [lindex [split $line] 1] reputation points."            }        } else {           putserv "PRIVMSG $chan :$whom has no reputation points"        }}    }        return}putlog " -rep.tcl loaded"</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10393">Football</a> — Thu Nov 04, 2010 12:54 pm</p><hr />
]]></content>
	</entry>
	</feed>
