<?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/topics" />

	<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>2026-04-07T08:23:13-04:00</updated>

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

		<entry>
		<author><name><![CDATA[Arnold_X-P]]></name></author>
		<updated>2026-03-11T19:04:05-04:00</updated>

		<published>2026-03-11T19:04:05-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113457#p113457</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113457#p113457"/>
		<title type="html"><![CDATA[Script Requests • BlackWeather.tcl 1.4]]></title>

					<category term="Script Requests" scheme="https://forum.eggheads.org/viewforum.php?f=10" label="Script Requests"/>
		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113457#p113457"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code>######################################################################################################### BlackWeather.tcl 1.4  (21/03/2025)    Copyright 2008 - 2025 @ WwW.TCLScripts.NET ####                        _   _   _   _   _   _   _   _   _   _   _   _   _   _                      ####                       / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \                     ####                      ( T | C | L | S | C | R | I | P | T | S | . | N | E | T )                    ####                       \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/                     ####                                                                                                   ####                                      ® BLaCkShaDoW Production ®                                   ####                                                                                                   ####                                              PRESENTS                                             ####                           ® ############################################  BLACK WEATHER TCL   #########################################                                ####  DESCRIPTION:                              ####  Displays real-time weather conditions, local time from any city in the world.  ####                             ####  Supports US Zipcode, UK Postcode, Canada Postalcode or worldwide city name.                      ####                             ####  Few of the available variable: max./min. and 'feels like' temperatures, wind speed,,local time   ####                                                                     ####                             ####  ATTENTION: search does not support diacritic markst as: á, é, í, ó, ú, ü, ñ, ¿, ¡, etc.          ####                             ####  Tested on Eggdrop v1.10.0 (Debian Linux 3.16.0-4-amd64) Tcl version: 8.6.11                      ####                             ###########################################################################################################                             ####                                 /===============================\                                 ####                                 |      This Space For Rent      |                                 ####                                 \===============================/                                 ####                             ###########################################################################################################                                ####  INSTALLATION:                               ####     ++ http package is REQUIRED for this script to work.                                ####     ++ json package is REQUIRED for this script to work.                                ####     ++ Edit the BlackWeather.tcl script and place it into your /scripts directory,                ####     ++ add "source scripts/BlackWeather.tcl" to your eggdrop config and rehash the bot.           ####                              ##################################################################################################################################################################################################################                             ####  OFFICIAL LINKS:                                                                                  ####   E-mail      : BLaCkShaDoW[at]tclscripts.net                                                     ####   Bugs report : http://www.tclscripts.net                                                         ####   GitHub page : https://github.com/tclscripts/                              ####   Online help : irc://irc.undernet.org/tcl-help                                                   ####                 #TCL-HELP / UnderNet                                                             ####                 You can ask in english or romanian                                                ####                             ####     paypal.me/DanielVoipan = Please consider a donation. Thanks!                                  ####                             ###########################################################################################################                             ####                           You want a customised TCL Script for your eggdrop?                      ####                                Easy-peasy, just tell me what you need!                            ####                I can create almost anything in TCL based on your ideas and donations.             ####                  Email blackshadow@tclscripts.net or info@tclscripts.net with your                ####                    request informations and I'll contact you as soon as possible.                 ####                             ###########################################################################################################                                ####  To activate: .chanset +weather | from BlackTools: .set #channel +weather                         ####                                                                                                   ####  !w [?|help] - shows all available commands.                                                   ####                                                                                                   ####  !w [set] [nick|zipcode|city,state|city,state,country|airport]                            ####                                                                                                   ####  !time [nick|zipcode|city,state|city,state,country|airport]                                       ####                                          - returns a default user local time.                     ####                                                                                                   ####  !w version - shows the actual weather script version.                                           ####                                                                                                   ####  Supports: US Zipcode, UK Postcode, Canada Postalcodes or worldwide city name.                    ####                                                                                                   ####  ATTENTION: search does not support diacritic markst as: á, é, í, ó, ú, ü, ñ, ¿, ¡, etc.          ####                                                                                                   #########################################################################################################                                                                                                 ##[CODE]#########################################################################################################                              ####  LICENSE:                                                                                         ####   This code comes with ABSOLUTELY NO WARRANTY.                                                    ####                                                                                                   ####   This program is free software; you can redistribute it and/or modify it under the terms of      ####   the GNU General Public License version 3 as published by the Free Software Foundation.          ####                                                                                                   ####   This program is distributed WITHOUT ANY WARRANTY; without even the implied warranty of          ####   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                                            ####   USE AT YOUR OWN RISK.                                                                           ####                                                                                                   ####   See the GNU General Public License for more details.                                            ####        (http://www.gnu.org/copyleft/library.txt)                                                  ####                                                                                                   ####            Copyright 2008 - 2025 @ WwW.TCLScripts.NET                           ####                                                                                                   ##################################################################################################################################################################################################################                                   CONFIGURATION FOR BlackWeather.TCL                              ############################################################################################################# Channel flags# - to activate the script:# .set +weather or .chanset #channel +weather######## Cmdchar trigger# - set here the trigger you want to use.###set weather(cmd_char) "!"####Api keys from https://weatherstack.com/#(works with multiple keys now)###set weather(nr_id)  {"key 1""key 2"}####Default units type (m - metric, f - fahrenheit)####set weather(units_type) "m"####Use weather short output ?# 0 - yes ; 1 - no###set weather(short_out) "1"#### User db file# - specifies the file where all users weather locations are stored.###set weather(user_file) "scripts/Blackweather.users.txt"#### FLOOD PROTECTION#Set the number of minute(s) to ignore flooders, 0 to disable flood protection###set weather(ignore_prot) "1"#### FLOOD PROTECTION#Set the number of requests within specifide number of seconds to trigger flood protection.# By default, 4:10, which allows for upto 3 queries in 10 seconds. 4 or more quries in 10 seconds would cuase# the forth and later queries to be ignored for the amount of time specifide above.###set weather(flood_prot) "3:10"##########################################################################################################                       DO NOT MODIFY HERE UNLESS YOU KNOW WHAT YOU'RE DOING                      ##########################################################################################################setudef flag weatherbind pubm - * weather:get###package require tlspackage require httppackage require jsonif {![file exists $weather(user_file)]} {set file [open $weather(user_file) w]close $file}proc weather:get {nick host hand chan arg} {global weather blackif {![channel get $chan weather]} {return}set first_cmd [lindex [split $arg] 0]if {[string match -nocase "$weather(cmd_char)w" $first_cmd]} {set cmd_type 0} elseif {[string match -nocase "$weather(cmd_char)time" $first_cmd]} {set cmd_type 1} else { return }set flood_protect [weather:flood:prot $chan $host]if {$flood_protect == "1"} {set get_seconds [weather:get:flood_time $host $chan]weather:say $nick $chan [list $get_seconds "6" $nick] 0return}set cmd [lindex [split $arg] 1]set location [lrange [split $arg] 1 end]set setup_location [join [lrange [split $arg] 2 end]]set slocation [join $setup_location "%20"]switch $cmd {set {if {$setup_location == ""} {weather:say $nick $chan $weather(cmd_char) 7return}set units [weather:get_units $setup_location]set units_type [lindex $units 0]set units_specified [lindex $units 1]set new_loc [lindex $units 2]weather:say $nick $chan [list $nick $new_loc $units_type] 8weather:setlocation $nick $host $chan $setup_location}? {weather:say $nick $chan $weather(cmd_char) 10}version {weather:say $nick $chan $weather(cmd_char) version}default {if {$cmd == ""} {set getlocation [weather:getlocation $nick $host $chan]set units [weather:get_units $getlocation]set units_type [lindex $units 0]set units_specified [lindex $units 1]set new_loc [lindex $units 2]if {$units_specified == "1"} {set getlocation [join $new_loc "%20"]} else {set getlocation [join $getlocation "%20"]}if {$getlocation == "0"} {weather:say $nick $chan [list $nick $weather(cmd_char)] 9} else {weather:getinfo $nick $chan $getlocation $units_type $cmd_type}} else {if {[onchan $cmd $chan]} {set get_host [getchanhost $cmd $chan]set getlocation [weather:getlocation $nick $get_host $chan]set units [weather:get_units $getlocation]set units_type [lindex $units 0]set units_specified [lindex $units 1]set new_loc [lindex $units 2]if {$units_specified == "1"} {set getlocation [join $new_loc "%20"]} else {set getlocation [join $getlocation "%20"]}if {$getlocation == "0"} {weather:say $nick $chan [list $cmd ] 11return}weather:getinfo $nick $chan $getlocation $units_type $cmd_typereturn}set units [weather:get_units $location]set units_type [lindex $units 0]set units_specified [lindex $units 1]set new_loc [lindex $units 2]if {$units_specified == "1"} {set location [join $new_loc "%20"]} else {set location [join $location "%20"]}weather:getinfo $nick $chan $location $units_type $cmd_type}}}}###proc weather:get_units {location} {global weatherset units ""if {[regexp {[,]} $location]} {set units [string trimleft [lindex [weather:wsplit $location ","] 1] " "]switch [concat $units] {m {set location [regsub -all {\s+} [lindex [weather:wsplit $location ","] 0] " "]return [list m 1 $location]}f {set location [regsub -all {\s+} [lindex [weather:wsplit $location ","] 0] " "]return [list f 1 $location]}default {set location [regsub -all {\s+} [lindex [weather:wsplit $location ","] 0] " "]return [list $weather(units_type) 0 $location]}}} else {return [list $weather(units_type) 0 $location]}}###package require jsonproc weather:getinfo {nick chan location units cmd_type} {    global weather    if {![info exists weather(id_num)]} {        set weather(id_num) 0    }    set json_text [weather:getdata $chan $location $units $weather(id_num)]    set data [json::json2dict $json_text]    if {[dict exists $data error]} {        incr weather(id_num)        if {[lindex $weather(nr_id) $weather(id_num)] != ""} {            weather:getinfo $nick $chan $location $units $cmd_type            return        } else {            unset weather(id_num)        }        set error_dict [dict get $data error]        set error_msg [dict get $error_dict message]        weather:say $nick $chan [list $error_msg] 6        return    }    set loc [dict get $data location]    set name [encoding convertfrom utf-8 [dict get $loc name]]    set country [encoding convertfrom utf-8 [dict get $loc country]]    set region [encoding convertfrom utf-8 [dict get $loc region]]    set lat [dict get $loc lat]    set lon [dict get $loc lon]    set latlon [join "$lat $lon" ", "]    if {[string equal -nocase $name $region] || $region == ""} {        set get_location [join [list $name $country] ", "]    } else {        set get_location [join [list $name $region $country] ", "]    }    set timezone [dict get $loc timezone_id]    set check_type [catch {uname -s} linux_type]    if {[string equal -nocase $linux_type "OpenBSD"]} {        set get [catch {exec env TZ=$timezone date | tr -s " "} dat]        set dat [join [lreplace [split $dat " "] 4 4]]        set clock_scan [clock scan $dat -format "%a %b %e %H:%M:%S %Y"]    } else {        set get [catch {exec env TZ=$timezone date -R | tr -s " "} dat]        set dat [join [lreplace [split $dat " "] 5 5]]        set clock_scan [clock scan $dat -format "%a, %e %b %Y %H:%M:%S"]    }    set day [clock format $clock_scan -format %A]    set localtime [clock format $clock_scan -format "%d %b %Y %R"]    if {$cmd_type == "1"} {        weather:say $nick $chan [list $get_location $latlon $localtime $day] 3        return    }    set current [dict get $data current]    set temp [dict get $current temperature]    set feelslike [dict get $current feelslike]    set humidity [dict get $current humidity]    set wind_dir [dict get $current wind_dir]    set wind_speed [dict get $current wind_speed]    set pressure [dict get $current pressure]    set cloud [dict get $current cloudcover]    set uv [dict get $current uv_index]    set observation_time [dict get $current observation_time]    set precip [dict get $current precip]    set desc_list [dict get $current weather_descriptions]    set desc [join $desc_list]    if {$weather(short_out) == "0"} {        if {$units == "m"} {            weather:say $nick $chan [list $get_location $latlon $desc $feelslike] 1        } else {            weather:say $nick $chan [list $get_location $latlon $desc $feelslike] 2        }    } else {        if {$units == "m"} {            weather:say $nick $chan [list $get_location $latlon $temp $feelslike $humidity $wind_dir $wind_speed $pressure $cloud $uv $observation_time $precip $desc] 4        } else {            weather:say $nick $chan [list $get_location $latlon $temp $feelslike $humidity $wind_dir $wind_speed $pressure $cloud $uv $observation_time $precip $desc] 5        }    }}###proc weather:say {nick chan arg num} {global blackset inc 0foreach s $arg {set inc [expr $inc + 1]set replace(%msg.$inc%) $s}set reply [string map [array get replace] $black(weather.en.$num)]putserv "PRIVMSG $chan :$reply"}###proc weather:getlocation {nick host chan} {global black weatherset file [open $weather(user_file) "r"]set read_location ""while {[gets $file line] != -1} {set read_chan [lindex [split $line] 0]set enc_chan [encoding convertfrom utf-8 $read_chan]set read_host [lindex [split $line] 2]if {[string equal -nocase $enc_chan $chan] &amp;&amp; [string match -nocase $host $read_host]} {set read_location [join [lrange [split $line] 3 end]]}}close $fileif {$read_location == ""} {return 0} else {return $read_location}}###proc weather:getdata {chan location units num} {global weather blackset wid [lindex $weather(nr_id) $num]set weatherlink "http://api.weatherstack.com/current?access_key=${wid}&amp;query=$location&amp;units=$units"set ipq [http::config -useragent "lynx"]set ipq [::http::geturl "$weatherlink" -timeout 10000] set data [http::data $ipq]::http::cleanup $ipqreturn $data}###proc weather:getjson {get data} {global weatherset parse [::json::json2dict $data]set return ""foreach {name info} $parse {if {[string equal -nocase $name $get]} {set return $infobreak;}}return $return}###proc weather:flood:prot {chan host} {global weatherset number [scan $weather(flood_prot) %\[^:\]]set timer [scan $weather(flood_prot) %*\[^:\]:%s]if {[info exists weather(flood:$host:$chan:act)]} {return 1}foreach tmr [utimers] {if {[string match "*weather:remove:flood $host $chan*" [join [lindex $tmr 1]]]} {killutimer [lindex $tmr 2]}}if {![info exists weather(flood:$host:$chan)]} { set weather(flood:$host:$chan) 0 }incr weather(flood:$host:$chan)utimer $timer [list weather:remove:flood $host $chan]if {$weather(flood:$host:$chan) &gt; $number} {set weather(flood:$host:$chan:act) 1utimer 60 [list weather:expire:flood $host $chan]return 1} else {return 0}}###proc weather:expire:flood {host chan} {global black weatherif {[info exists weather(flood:$host:$chan:act)]} {unset weather(flood:$host:$chan:act)}}###proc weather:remove:flood {host chan} {global black weatherif {[info exists weather(flood:$host:$chan)]} {unset weather(flood:$host:$chan)}}###proc weather:get:flood_time {host chan} {global weatherforeach tmr [utimers] {if {[string match "*weather:expire:flood $host $chan*" [join [lindex $tmr 1]]]} {return [lindex $tmr 0]}}}###proc weather:test_alpha {string} {global weatherset return 0for {set i 0} {$i &lt; [string length $string]} {incr i} {    set char [string index $string $i]    if {[regexp -all {[a-zA-Z0-9]} $char]} {        continue    } else {        set return 1break;}}return $return}###set weather(projectName) "BlackWeather"set weather(author) "BLaCkShaDoW"set weather(website) "wWw.TCLScriptS.NeT"set weather(email) "blackshadow\[at\]tclscripts.net"set weather(version) "v1.4"#http://wiki.tcl.tk/989###proc weather:wsplit {string sep} {    set first [string first $sep $string]    if {$first == -1} {        return [list $string]    } else {        set l [string length $sep]        set left [string range $string 0 [expr {$first-1}]]        set right [string range $string [expr {$first+$l}] end]        return [concat [list $left] [weather:wsplit $right $sep]]    }}###proc weather:setlocation {nick host chan location} {global black weatherset file [open $weather(user_file) "r"]set timestamp [clock format [clock seconds] -format {%Y%m%d%H%M%S}]set temp "weather_temp.$timestamp"set tempwrite [open $temp w]while {[gets $file line] != -1} {set read_chan [lindex [split $line] 0]set enc_chan [encoding convertfrom utf-8 $read_chan]set read_host [lindex [split $line] 2]if {[string equal -nocase $enc_chan $chan] &amp;&amp; [string match -nocase $host $read_host]} {continue} else {puts $tempwrite $line}}close $tempwriteclose $file    file rename -force $temp $weather(user_file)set file [open $weather(user_file) a]puts $file "$chan $nick $host $location"close $file}set grade_sign [encoding convertfrom "utf-8" "°"]set black(weather.en.1) "\002%msg.1%\002 (%msg.2%) -- %msg.3% and %msg.4%$grade_sign C"set black(weather.en.2) "\002%msg.1%\002 (%msg.2%) -- %msg.3% and %msg.4%$grade_sign F"set black(weather.en.3) "\002%msg.1%\002 (%msg.2%) -- \002%msg.4%\002, %msg.3%"set black(weather.en.4) "\002%msg.1%\002 (%msg.2%) -- %msg.13% and %msg.3%$grade_sign C | \002Feels Like\002: %msg.4%$grade_sign C | \002Humidity\002: %msg.5%% | \002Wind\002: %msg.6% @ %msg.7% KPH | \002Pressure\002: %msg.8%mb | \002Clouds\002: %msg.9%% |  \002Rainfall\002: %msg.12%% | \002UV Index\002: %msg.10% | \002Observation time\002: %msg.11%"set black(weather.en.5) "\002%msg.1%\002 (%msg.2%) -- %msg.13% and %msg.3%$grade_sign F | \002Feels Like\002: %msg.4%$grade_sign F | \002Humidity\002: %msg.5%% | \002Wind\002: %msg.6% @ %msg.7% MPH | \002Pressure\002: %msg.8%in | \002Clouds\002: %msg.9%% |  \002Rainfall\002: %msg.12%% | \002UV Index\002: %msg.10% | \002Observation time\002: %msg.11%"set black(weather.en.6) "\002Error\002: %msg.1%"set black(weather.en.7) "SYNTAX: \002%msg.1%w set &lt;location,(m/f)&gt;\002 to set one."set black(weather.en.8) "\002%msg.1%\002: your default location saved as:\002 %msg.2%\002 with \002%msg.3%\002 unit."set black(weather.en.9) "\002%msg.1%\002: no location found linked to your nick. To link one, use: \002%msg.2%w set &lt;location,(m/f)&gt;\002"set black(weather.en.10) "SYNTAX: \002%msg.1%w &lt;location&gt;\002 to get the live weather."set black(weather.en.11) "No location found linked to \002%msg.1%\002."set black(weather.en.version) "\002$weather(projectName) $weather(version)\002 coded by\002 $weather(author)\002 ($weather(email)) --\002 $weather(website)\002"putlog "\002$weather(projectName) $weather(version)\002 coded by\002 $weather(author)\002 ($weather(website)): Loaded &amp; initialised.."#################################################################################################################################                  *** END OF BlackWeather TCL ***                                                ##########################################################################################################</code></pre></div>I'm getting two errors in partyline.<br>I am applying for a country:::<div class="codebox"><p>Code: </p><pre><code>[18:37] &lt;sedition&gt; !w arica, chile[18:37:05] Tcl error [weather:get]: input string does not match supplied format</code></pre></div>I am requesting a country name that does not exist:::::<div class="codebox"><p>Code: </p><pre><code>!w pakistannia[18:38:08] Tcl error [weather:get]: key "message" not known in dictionary</code></pre></div>on partyline digite ::<div class="codebox"><p>Code: </p><pre><code>.set errorInfo[18:44:35] #Sedition# set errorInfoCurrently: invalid command name "uname"Currently:     while executingCurrently: "uname -s"</code></pre></div>Can someone help me with the TCL? ..... please<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=8327">Arnold_X-P</a> — Wed Mar 11, 2026 7:04 pm — Replies 0 — Views 14086</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[CrazyCat]]></name></author>
		<updated>2026-03-03T08:03:50-04:00</updated>

		<published>2026-03-03T08:03:50-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113456#p113456</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113456#p113456"/>
		<title type="html"><![CDATA[Other Topics • 20 years...]]></title>

					<category term="Other Topics" scheme="https://forum.eggheads.org/viewforum.php?f=5" label="Other Topics"/>
		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113456#p113456"><![CDATA[
Hi there,<br><br>I'm just proud to announce that eggdrop.fr is gonna be 20yo on july, 25th.<br><br>Initialy, the forum was a copy of slennox's forum, as a subdirectory of one of my sites (apr 2004 - july 2006) and then i decided to buy eggdrop.fr and migrate the forum to this domain.<br><br>Now, eggdrop.fr a forum (<a href="https://forum.eggdrop.fr" class="postlink">https://forum.eggdrop.fr</a>), a wiki (<a href="https://wiki.eggdrop.fr" class="postlink">https://wiki.eggdrop.fr</a>), a <em class="text-italics">library</em> (<a href="https://scripts.eggdrop.fr" class="postlink">https://scripts.eggdrop.fr</a>) and the channel <a href="https://zeolia.chat/canaux/eggdrop.html" class="postlink">#eggdrop</a> on zeolia.chat, linked (via chanrelay) with the Epiknet's channel <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><br><br>Even if the activity goes down and down, I keep it alive !<br><br>I'll probably create a small event to celebrate this birthday, feel free to propose things in <a href="https://forum.eggdrop.fr/Bientot-20-ans--t-1851.html" class="postlink">https://forum.eggdrop.fr/Bientot-20-ans--t-1851.html</a> (in french or in english)<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=691">CrazyCat</a> — Tue Mar 03, 2026 8:03 am — Replies 0 — Views 15733</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[abah]]></name></author>
		<updated>2026-01-31T06:24:52-04:00</updated>

		<published>2026-01-31T06:24:52-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113448#p113448</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113448#p113448"/>
		<title type="html"><![CDATA[Script Requests • request]]></title>

					<category term="Script Requests" scheme="https://forum.eggheads.org/viewforum.php?f=10" label="Script Requests"/>
		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113448#p113448"><![CDATA[
Hello everyone<br>I want to get Eggdrop, I identify the nick in Dalnet so every time a nick is entered in the database, it is identified by Eggdrop. Is there a TCL like that?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12299">abah</a> — Sat Jan 31, 2026 6:24 am — Replies 4 — Views 18858</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2026-01-20T20:53:42-04:00</updated>

		<published>2026-01-20T20:53:42-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113441#p113441</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113441#p113441"/>
		<title type="html"><![CDATA[Script Requests • Banmasks first without delay and with delay after]]></title>

					<category term="Script Requests" scheme="https://forum.eggheads.org/viewforum.php?f=10" label="Script Requests"/>
		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113441#p113441"><![CDATA[
Greetingz,<br><br>is there a way to have the first 6 stacked modes +bbbbbb (or of course if there are less than 6 to send in total) be sent direct without any delay and everything after that <br><div class="codebox"><p>Code: </p><pre><code>proc StackUnbans {chan banlist {max 6}} {         set chan [string tolower $chan]       set count [llength $banlist]      while {$count &gt; 0} {         if {$count&gt; $max} {            set mode [string repeat "b" $max]            set masks [join [lrange $banlist 0 [expr {$max - 1}]]]            set banlist [lrange $banlist $max end]            incr count -$max         } else {            set mode [string repeat "b" $count]            set masks [join $banlist]            set count 0         }             incr counter 1             after [expr {$counter*4000}] [list  puthelp "MODE $chan -$mode $masks"]      }   } </code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Tue Jan 20, 2026 8:53 pm — Replies 6 — Views 25944</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[conhector]]></name></author>
		<updated>2026-01-19T06:29:58-04:00</updated>

		<published>2026-01-19T06:29:58-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113439#p113439</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113439#p113439"/>
		<title type="html"><![CDATA[Eggdrop Help • Looking for a good script for quizzes]]></title>

					<category term="Eggdrop Help" scheme="https://forum.eggheads.org/viewforum.php?f=1" label="Eggdrop Help"/>
		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113439#p113439"><![CDATA[
Hi, newbie here. I want to have a bot for my students to take quizzes on my private IRC server. I have been playing around with Bogustrivia because I did not find a more straightforward script for that purpose in <a href="https://www.eggheads.org/scripts/" class="postlink">https://www.eggheads.org/scripts/</a>  or  <a href="https://tclarchive.github.io/" class="postlink">https://tclarchive.github.io/</a> . I also checked scripts for Sopel instead of Eggdrop, but it looks like there is not much developed for Sopel now. Is it a good approach to customize Bogustrivia questions files if I want to do quizzes with irc bots? Or is there a better script or IRC bot for this purpose? Thank you in advance.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=14714">conhector</a> — Mon Jan 19, 2026 6:29 am — Replies 0 — Views 33014</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Arnold_X-P]]></name></author>
		<updated>2026-01-16T02:04:26-04:00</updated>

		<published>2026-01-16T02:04:26-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113436#p113436</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113436#p113436"/>
		<title type="html"><![CDATA[Script Requests • BlackWeather.tcl 1.4 (expand request command)]]></title>

					<category term="Script Requests" scheme="https://forum.eggheads.org/viewforum.php?f=10" label="Script Requests"/>
		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113436#p113436"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code>Everything works on line 112 in set weather(cmd_char) "!" It is possible to expand this command so that it can be used with more variations, for example set weather(cmd_char) "! ¡ ."</code></pre></div>--------------<div class="codebox"><p>Code: </p><pre><code>line 180 the command is w (also expand it to forecast or weather</code></pre></div>--------------<div class="codebox"><p>Code: </p><pre><code>line 182 goes to the command time (also expand it to current-time</code></pre></div><div class="codebox"><p>Code: </p><pre><code>######################################################################################################### BlackWeather.tcl 1.4  (21/03/2025)    Copyright 2008 - 2025 @ WwW.TCLScripts.NET ####                        _   _   _   _   _   _   _   _   _   _   _   _   _   _                      ####                       / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \                     ####                      ( T | C | L | S | C | R | I | P | T | S | . | N | E | T )                    ####                       \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/                     ####                                                                                                   ####                                      ® BLaCkShaDoW Production ®                                   ####                                                                                                   ####                                              PRESENTS                                             ####                           ® ############################################  BLACK WEATHER TCL   #########################################                                ####  DESCRIPTION:                              ####  Displays real-time weather conditions, local time from any city in the world.  ####                             ####  Supports US Zipcode, UK Postcode, Canada Postalcode or worldwide city name.                      ####                             ####  Few of the available variable: max./min. and 'feels like' temperatures, wind speed,,local time   ####                                                                     ####                             ####  ATTENTION: search does not support diacritic markst as: á, é, í, ó, ú, ü, ñ, ¿, ¡, etc.          ####                             ####  Tested on Eggdrop v1.10.0 (Debian Linux 3.16.0-4-amd64) Tcl version: 8.6.11                      ####                             ###########################################################################################################                             ####                                 /===============================\                                 ####                                 |      This Space For Rent      |                                 ####                                 \===============================/                                 ####                             ###########################################################################################################                                ####  INSTALLATION:                               ####     ++ http package is REQUIRED for this script to work.                                ####     ++ json package is REQUIRED for this script to work.                                ####     ++ Edit the BlackWeather.tcl script and place it into your /scripts directory,                ####     ++ add "source scripts/BlackWeather.tcl" to your eggdrop config and rehash the bot.           ####                              ##################################################################################################################################################################################################################                             ####  OFFICIAL LINKS:                                                                                  ####   E-mail      : BLaCkShaDoW[at]tclscripts.net                                                     ####   Bugs report : http://www.tclscripts.net                                                         ####   GitHub page : https://github.com/tclscripts/                              ####   Online help : irc://irc.undernet.org/tcl-help                                                   ####                 #TCL-HELP / UnderNet                                                             ####                 You can ask in english or romanian                                                ####                             ####     paypal.me/DanielVoipan = Please consider a donation. Thanks!                                  ####                             ###########################################################################################################                             ####                           You want a customised TCL Script for your eggdrop?                      ####                                Easy-peasy, just tell me what you need!                            ####                I can create almost anything in TCL based on your ideas and donations.             ####                  Email blackshadow@tclscripts.net or info@tclscripts.net with your                ####                    request informations and I'll contact you as soon as possible.                 ####                             ###########################################################################################################                                ####  To activate: .chanset +weather | from BlackTools: .set #channel +weather                         ####                                                                                                   ####  !w [?|help] - shows all available commands.                                                   ####                                                                                                   ####  !w [set] [nick|zipcode|city,state|city,state,country|airport]                            ####                                                                                                   ####  !time [nick|zipcode|city,state|city,state,country|airport]                                       ####                                          - returns a default user local time.                     ####                                                                                                   ####  !w version - shows the actual weather script version.                                           ####                                                                                                   ####  Supports: US Zipcode, UK Postcode, Canada Postalcodes or worldwide city name.                    ####                                                                                                   ####  ATTENTION: search does not support diacritic markst as: á, é, í, ó, ú, ü, ñ, ¿, ¡, etc.          ####                                                                                                   #########################################################################################################                                                                                                 ###########################################################################################################                              ####  LICENSE:                                                                                         ####   This code comes with ABSOLUTELY NO WARRANTY.                                                    ####                                                                                                   ####   This program is free software; you can redistribute it and/or modify it under the terms of      ####   the GNU General Public License version 3 as published by the Free Software Foundation.          ####                                                                                                   ####   This program is distributed WITHOUT ANY WARRANTY; without even the implied warranty of          ####   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                                            ####   USE AT YOUR OWN RISK.                                                                           ####                                                                                                   ####   See the GNU General Public License for more details.                                            ####        (http://www.gnu.org/copyleft/library.txt)                                                  ####                                                                                                   ####            Copyright 2008 - 2025 @ WwW.TCLScripts.NET                           ####                                                                                                   ##################################################################################################################################################################################################################                                   CONFIGURATION FOR BlackWeather.TCL                              ############################################################################################################# Channel flags# - to activate the script:# .set +weather or .chanset #channel +weather######## Cmdchar trigger# - set here the trigger you want to use.###set weather(cmd_char) "!"####Api keys from https://weatherstack.com/#(works with multiple keys now)###set weather(nr_id)  {"key 1""key 2"}####Default units type (m - metric, f - fahrenheit)####set weather(units_type) "m"####Use weather short output ?# 0 - yes ; 1 - no###set weather(short_out) "1"#### User db file# - specifies the file where all users weather locations are stored.###set weather(user_file) "scripts/Blackweather.users.txt"#### FLOOD PROTECTION#Set the number of minute(s) to ignore flooders, 0 to disable flood protection###set weather(ignore_prot) "1"#### FLOOD PROTECTION#Set the number of requests within specifide number of seconds to trigger flood protection.# By default, 4:10, which allows for upto 3 queries in 10 seconds. 4 or more quries in 10 seconds would cuase# the forth and later queries to be ignored for the amount of time specifide above.###set weather(flood_prot) "3:10"##########################################################################################################                       DO NOT MODIFY HERE UNLESS YOU KNOW WHAT YOU'RE DOING                      ##########################################################################################################setudef flag weatherbind pubm - * weather:get###package require tlspackage require httppackage require jsonif {![file exists $weather(user_file)]} {set file [open $weather(user_file) w]close $file}proc weather:get {nick host hand chan arg} {global weather blackif {![channel get $chan weather]} {return}set first_cmd [lindex [split $arg] 0]if {[string match -nocase "$weather(cmd_char)w" $first_cmd]} {set cmd_type 0} elseif {[string match -nocase "$weather(cmd_char)time" $first_cmd]} {set cmd_type 1} else { return }set flood_protect [weather:flood:prot $chan $host]if {$flood_protect == "1"} {set get_seconds [weather:get:flood_time $host $chan]weather:say $nick $chan [list $get_seconds "6" $nick] 0return}set cmd [lindex [split $arg] 1]set location [lrange [split $arg] 1 end]set setup_location [join [lrange [split $arg] 2 end]]set slocation [join $setup_location "%20"]switch $cmd {set {if {$setup_location == ""} {weather:say $nick $chan $weather(cmd_char) 7return}set units [weather:get_units $setup_location]set units_type [lindex $units 0]set units_specified [lindex $units 1]set new_loc [lindex $units 2]weather:say $nick $chan [list $nick $new_loc $units_type] 8weather:setlocation $nick $host $chan $setup_location}? {weather:say $nick $chan $weather(cmd_char) 10}version {weather:say $nick $chan $weather(cmd_char) version}default {if {$cmd == ""} {set getlocation [weather:getlocation $nick $host $chan]set units [weather:get_units $getlocation]set units_type [lindex $units 0]set units_specified [lindex $units 1]set new_loc [lindex $units 2]if {$units_specified == "1"} {set getlocation [join $new_loc "%20"]} else {set getlocation [join $getlocation "%20"]}if {$getlocation == "0"} {weather:say $nick $chan [list $nick $weather(cmd_char)] 9} else {weather:getinfo $nick $chan $getlocation $units_type $cmd_type}} else {if {[onchan $cmd $chan]} {set get_host [getchanhost $cmd $chan]set getlocation [weather:getlocation $nick $get_host $chan]set units [weather:get_units $getlocation]set units_type [lindex $units 0]set units_specified [lindex $units 1]set new_loc [lindex $units 2]if {$units_specified == "1"} {set getlocation [join $new_loc "%20"]} else {set getlocation [join $getlocation "%20"]}if {$getlocation == "0"} {weather:say $nick $chan [list $cmd ] 11return}weather:getinfo $nick $chan $getlocation $units_type $cmd_typereturn}set units [weather:get_units $location]set units_type [lindex $units 0]set units_specified [lindex $units 1]set new_loc [lindex $units 2]if {$units_specified == "1"} {set location [join $new_loc "%20"]} else {set location [join $location "%20"]}weather:getinfo $nick $chan $location $units_type $cmd_type}}}}###proc weather:get_units {location} {global weatherset units ""if {[regexp {[,]} $location]} {set units [string trimleft [lindex [weather:wsplit $location ","] 1] " "]switch [concat $units] {m {set location [regsub -all {\s+} [lindex [weather:wsplit $location ","] 0] " "]return [list m 1 $location]}f {set location [regsub -all {\s+} [lindex [weather:wsplit $location ","] 0] " "]return [list f 1 $location]}default {set location [regsub -all {\s+} [lindex [weather:wsplit $location ","] 0] " "]return [list $weather(units_type) 0 $location]}}} else {return [list $weather(units_type) 0 $location]}}###package require jsonproc weather:getinfo {nick chan location units cmd_type} {    global weather    if {![info exists weather(id_num)]} {        set weather(id_num) 0    }    set json_text [weather:getdata $chan $location $units $weather(id_num)]    set data [json::json2dict $json_text]    if {[dict exists $data error]} {        incr weather(id_num)        if {[lindex $weather(nr_id) $weather(id_num)] != ""} {            weather:getinfo $nick $chan $location $units $cmd_type            return        } else {            unset weather(id_num)        }        set error_dict [dict get $data error]        set error_msg [dict get $error_dict message]        weather:say $nick $chan [list $error_msg] 6        return    }    set loc [dict get $data location]    set name [encoding convertfrom utf-8 [dict get $loc name]]    set country [encoding convertfrom utf-8 [dict get $loc country]]    set region [encoding convertfrom utf-8 [dict get $loc region]]    set lat [dict get $loc lat]    set lon [dict get $loc lon]    set latlon [join "$lat $lon" ", "]    if {[string equal -nocase $name $region] || $region == ""} {        set get_location [join [list $name $country] ", "]    } else {        set get_location [join [list $name $region $country] ", "]    }    set timezone [dict get $loc timezone_id]    set check_type [catch {uname -s} linux_type]    if {[string equal -nocase $linux_type "OpenBSD"]} {        set get [catch {exec env TZ=$timezone date | tr -s " "} dat]        set dat [join [lreplace [split $dat " "] 4 4]]        set clock_scan [clock scan $dat -format "%a %b %e %H:%M:%S %Y"]    } else {        set get [catch {exec env TZ=$timezone date -R | tr -s " "} dat]        set dat [join [lreplace [split $dat " "] 5 5]]        set clock_scan [clock scan $dat -format "%a, %e %b %Y %H:%M:%S"]    }    set day [clock format $clock_scan -format %A]    set localtime [clock format $clock_scan -format "%d %b %Y %R"]    if {$cmd_type == "1"} {        weather:say $nick $chan [list $get_location $latlon $localtime $day] 3        return    }    set current [dict get $data current]    set temp [dict get $current temperature]    set feelslike [dict get $current feelslike]    set humidity [dict get $current humidity]    set wind_dir [dict get $current wind_dir]    set wind_speed [dict get $current wind_speed]    set pressure [dict get $current pressure]    set cloud [dict get $current cloudcover]    set uv [dict get $current uv_index]    set observation_time [dict get $current observation_time]    set precip [dict get $current precip]    set desc_list [dict get $current weather_descriptions]    set desc [join $desc_list]    if {$weather(short_out) == "0"} {        if {$units == "m"} {            weather:say $nick $chan [list $get_location $latlon $desc $feelslike] 1        } else {            weather:say $nick $chan [list $get_location $latlon $desc $feelslike] 2        }    } else {        if {$units == "m"} {            weather:say $nick $chan [list $get_location $latlon $temp $feelslike $humidity $wind_dir $wind_speed $pressure $cloud $uv $observation_time $precip $desc] 4        } else {            weather:say $nick $chan [list $get_location $latlon $temp $feelslike $humidity $wind_dir $wind_speed $pressure $cloud $uv $observation_time $precip $desc] 5        }    }}###proc weather:say {nick chan arg num} {global blackset inc 0foreach s $arg {set inc [expr $inc + 1]set replace(%msg.$inc%) $s}set reply [string map [array get replace] $black(weather.en.$num)]putserv "PRIVMSG $chan :$reply"}###proc weather:getlocation {nick host chan} {global black weatherset file [open $weather(user_file) "r"]set read_location ""while {[gets $file line] != -1} {set read_chan [lindex [split $line] 0]set enc_chan [encoding convertfrom utf-8 $read_chan]set read_host [lindex [split $line] 2]if {[string equal -nocase $enc_chan $chan] &amp;&amp; [string match -nocase $host $read_host]} {set read_location [join [lrange [split $line] 3 end]]}}close $fileif {$read_location == ""} {return 0} else {return $read_location}}###proc weather:getdata {chan location units num} {global weather blackset wid [lindex $weather(nr_id) $num]set weatherlink "http://api.weatherstack.com/current?access_key=${wid}&amp;query=$location&amp;units=$units"set ipq [http::config -useragent "lynx"]set ipq [::http::geturl "$weatherlink" -timeout 10000] set data [http::data $ipq]::http::cleanup $ipqreturn $data}###proc weather:getjson {get data} {global weatherset parse [::json::json2dict $data]set return ""foreach {name info} $parse {if {[string equal -nocase $name $get]} {set return $infobreak;}}return $return}###proc weather:flood:prot {chan host} {global weatherset number [scan $weather(flood_prot) %\[^:\]]set timer [scan $weather(flood_prot) %*\[^:\]:%s]if {[info exists weather(flood:$host:$chan:act)]} {return 1}foreach tmr [utimers] {if {[string match "*weather:remove:flood $host $chan*" [join [lindex $tmr 1]]]} {killutimer [lindex $tmr 2]}}if {![info exists weather(flood:$host:$chan)]} { set weather(flood:$host:$chan) 0 }incr weather(flood:$host:$chan)utimer $timer [list weather:remove:flood $host $chan]if {$weather(flood:$host:$chan) &gt; $number} {set weather(flood:$host:$chan:act) 1utimer 60 [list weather:expire:flood $host $chan]return 1} else {return 0}}###proc weather:expire:flood {host chan} {global black weatherif {[info exists weather(flood:$host:$chan:act)]} {unset weather(flood:$host:$chan:act)}}###proc weather:remove:flood {host chan} {global black weatherif {[info exists weather(flood:$host:$chan)]} {unset weather(flood:$host:$chan)}}###proc weather:get:flood_time {host chan} {global weatherforeach tmr [utimers] {if {[string match "*weather:expire:flood $host $chan*" [join [lindex $tmr 1]]]} {return [lindex $tmr 0]}}}###proc weather:test_alpha {string} {global weatherset return 0for {set i 0} {$i &lt; [string length $string]} {incr i} {    set char [string index $string $i]    if {[regexp -all {[a-zA-Z0-9]} $char]} {        continue    } else {        set return 1break;}}return $return}###set weather(projectName) "BlackWeather"set weather(author) "BLaCkShaDoW"set weather(website) "wWw.TCLScriptS.NeT"set weather(email) "blackshadow\[at\]tclscripts.net"set weather(version) "v1.4"#http://wiki.tcl.tk/989###proc weather:wsplit {string sep} {    set first [string first $sep $string]    if {$first == -1} {        return [list $string]    } else {        set l [string length $sep]        set left [string range $string 0 [expr {$first-1}]]        set right [string range $string [expr {$first+$l}] end]        return [concat [list $left] [weather:wsplit $right $sep]]    }}###proc weather:setlocation {nick host chan location} {global black weatherset file [open $weather(user_file) "r"]set timestamp [clock format [clock seconds] -format {%Y%m%d%H%M%S}]set temp "weather_temp.$timestamp"set tempwrite [open $temp w]while {[gets $file line] != -1} {set read_chan [lindex [split $line] 0]set enc_chan [encoding convertfrom utf-8 $read_chan]set read_host [lindex [split $line] 2]if {[string equal -nocase $enc_chan $chan] &amp;&amp; [string match -nocase $host $read_host]} {continue} else {puts $tempwrite $line}}close $tempwriteclose $file    file rename -force $temp $weather(user_file)set file [open $weather(user_file) a]puts $file "$chan $nick $host $location"close $file}set grade_sign [encoding convertfrom "utf-8" "°"]set black(weather.en.1) "\002%msg.1%\002 (%msg.2%) -- %msg.3% and %msg.4%$grade_sign C"set black(weather.en.2) "\002%msg.1%\002 (%msg.2%) -- %msg.3% and %msg.4%$grade_sign F"set black(weather.en.3) "\002%msg.1%\002 (%msg.2%) -- \002%msg.4%\002, %msg.3%"set black(weather.en.4) "\002%msg.1%\002 (%msg.2%) -- %msg.13% and %msg.3%$grade_sign C | \002Feels Like\002: %msg.4%$grade_sign C | \002Humidity\002: %msg.5%% | \002Wind\002: %msg.6% @ %msg.7% KPH | \002Pressure\002: %msg.8%mb | \002Clouds\002: %msg.9%% |  \002Rainfall\002: %msg.12%% | \002UV Index\002: %msg.10% | \002Observation time\002: %msg.11%"set black(weather.en.5) "\002%msg.1%\002 (%msg.2%) -- %msg.13% and %msg.3%$grade_sign F | \002Feels Like\002: %msg.4%$grade_sign F | \002Humidity\002: %msg.5%% | \002Wind\002: %msg.6% @ %msg.7% MPH | \002Pressure\002: %msg.8%in | \002Clouds\002: %msg.9%% |  \002Rainfall\002: %msg.12%% | \002UV Index\002: %msg.10% | \002Observation time\002: %msg.11%"set black(weather.en.6) "\002Error\002: %msg.1%"set black(weather.en.7) "SYNTAX: \002%msg.1%w set &lt;location,(m/f)&gt;\002 to set one."set black(weather.en.8) "\002%msg.1%\002: your default location saved as:\002 %msg.2%\002 with \002%msg.3%\002 unit."set black(weather.en.9) "\002%msg.1%\002: no location found linked to your nick. To link one, use: \002%msg.2%w set &lt;location,(m/f)&gt;\002"set black(weather.en.10) "SYNTAX: \002%msg.1%w &lt;location&gt;\002 to get the live weather."set black(weather.en.11) "No location found linked to \002%msg.1%\002."set black(weather.en.version) "\002$weather(projectName) $weather(version)\002 coded by\002 $weather(author)\002 ($weather(email)) --\002 $weather(website)\002"putlog "\002$weather(projectName) $weather(version)\002 coded by\002 $weather(author)\002 ($weather(website)): Loaded &amp; initialised.."#################################################################################################################################                  *** END OF BlackWeather TCL ***                                                ##########################################################################################################</code></pre></div>Can you help me please?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=8327">Arnold_X-P</a> — Fri Jan 16, 2026 2:04 am — Replies 2 — Views 12889</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[NewzNZ]]></name></author>
		<updated>2025-12-28T23:24:22-04:00</updated>

		<published>2025-12-28T23:24:22-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113424#p113424</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113424#p113424"/>
		<title type="html"><![CDATA[Eggdrop Help • auto de-voicing]]></title>

					<category term="Eggdrop Help" scheme="https://forum.eggheads.org/viewforum.php?f=1" label="Eggdrop Help"/>
		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113424#p113424"><![CDATA[
Hi there<br>I have an eggdrop running on a Rizon channel - whenever someone who is on the Rizon chanserv access list for the room joins and is auto-voiced, the eggdrop (which has half-op status) de-voices them.<br><br>Have looked for the bot setting to remove it but am struggling to find the right one.<br><br>Thanks in advance for any help!<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10525">NewzNZ</a> — Sun Dec 28, 2025 11:24 pm — Replies 9 — Views 32469</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Arnold_X-P]]></name></author>
		<updated>2025-12-02T11:38:51-04:00</updated>

		<published>2025-12-02T11:38:51-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113402#p113402</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113402#p113402"/>
		<title type="html"><![CDATA[Script Requests • slap nick]]></title>

					<category term="Script Requests" scheme="https://forum.eggheads.org/viewforum.php?f=10" label="Script Requests"/>
		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113402#p113402"><![CDATA[
I put together this TCL and it works fine, the issue is that the !slap nick (default) gets mixed up with the !slap nick phrase.<div class="codebox"><p>Code: </p><pre><code>set xphrases {"\001ACTION full of slaps to &lt;nicks&gt; :-)""\001ACTION slaping :&lt; and spitting in the face of &lt;nicks&gt; slapppppppppppp\001"}bind pub - !slap slapsnickbind pub - ¡slap slapsnickbind pub - .slap slapsnickproc slapsnick {nick uhost hand chan arg} { global xphrases set target "[lindex [split $arg] 0]" ; set reason "[join [lrange [split $arg] 1 end]]" if {$arg == ""} { putserv "PRIVMSG $chan :\002The right thing\002 is \002!slap nick\002 example \002!slap sedition\002" ; return 0 } if {![onchan $target $chan]} { putserv "PRIVMSG $chan :$arg is not in $chan" -next ; return }set slapsxp [lindex $xphrases [rand [llength $xphrases]]] regsub -all -- {&lt;nicks&gt;} $slapsxp $nick slapsxpputserv "PRIVMSG $chan :$slapsxp $target $reason" -next } </code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=8327">Arnold_X-P</a> — Tue Dec 02, 2025 11:38 am — Replies 10 — Views 26875</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Carlin0]]></name></author>
		<updated>2026-04-07T08:23:13-04:00</updated>

		<published>2025-12-01T09:58:13-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113399#p113399</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113399#p113399"/>
		<title type="html"><![CDATA[Script Support &amp; Releases • Issues with fortune.tcl]]></title>

					<category term="Script Support &amp; Releases" scheme="https://forum.eggheads.org/viewforum.php?f=3" label="Script Support &amp; Releases"/>
		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113399#p113399"><![CDATA[
It works on Ubuntu 22.04 but not on Debian 13<br><br>Script<br><div class="codebox"><p>Code: </p><pre><code># Fortune Interface#   by BarkerJr &lt;http://barkerjr.net&gt;catch Fortune::uninstallnamespace eval Fortune {##### SETTING ###### Uncomments (remove the # from) the following set commands if you wish to# change the defaults.# Set this to what you wish to profex the command with ("" for none)set cmdchar "!"# [0/1] send via NOTICE (1=notice, 0=privmsg)set notice 0##### THE SCRIPT #####if {[info exists notice]} {  if {($notice != 0) &amp;&amp; ($notice != 1)} {    set notice 0    putlog "WARNING: Fortune::notice must be 0 or 1\            (setting to default of $notice)"  }} else { set notice 0 }if {![info exists cmdchar]} { set cmdchar {!} }bind pub - ${cmdchar}fortune Fortune::doitproc doit {nick uhost hand chan arg} {  variable notice  switch -- $arg {    {a} {set fortune {-a}}    {c} {set fortune {-c}}    {o} {set fortune {-o}}    default {set fortune {}}  }  regsub -all \t [split [exec {fortune} $fortune] \n] {     } fortune  if {$notice} { set way {NOTICE} } else { set way {PRIVMSG} }  foreach line $fortune { puthelp "$way $chan :$line" }  return 1}bind evnt - prerehash Fortune::uninstallproc uninstall {args} {  variable cmdchar  catch "unbind pub - ${cmdchar}fortune Fortune::doit"  global cmdchar  catch "unbind pub - ${cmdchar}fortune Fortune::doit"  unbind evnt - prerehash Fortune::uninstall  namespace delete ::Fortune}}</code></pre></div>Error<br><div class="codebox"><p>Code: </p><pre><code>[14:46:10] Tcl error [Fortune::doit]: couldn't execute "fortune": no such file or directory.set errorInfo[14:46:27] #Carlin0# set errorInfoCurrently: couldn't execute "fortune": no such file or directoryCurrently:     while executingCurrently: "exec {fortune} $fortune"Currently:     (procedure "Fortune::doit" line 9)Currently:     invoked from withinCurrently: "Fortune::doit $_pub1 $_pub2 $_pub3 $_pub4 $_pub5"</code></pre></div>Thanks in advance<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12778">Carlin0</a> — Mon Dec 01, 2025 9:58 am — Replies 3 — Views 17493</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Carlin0]]></name></author>
		<updated>2025-12-01T04:43:00-04:00</updated>

		<published>2025-12-01T04:43:00-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113398#p113398</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113398#p113398"/>
		<title type="html"><![CDATA[Tcl FAQ • tclarchive has been moved]]></title>

					<category term="Tcl FAQ" scheme="https://forum.eggheads.org/viewforum.php?f=7" label="Tcl FAQ"/>
		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113398#p113398"><![CDATA[
tclarchive has been moved to <a href="https://tclarchive.github.io/" class="postlink">https://tclarchive.github.io/</a><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12778">Carlin0</a> — Mon Dec 01, 2025 4:43 am — Replies 0 — Views 34479</p><hr />
]]></content>
	</entry>
	</feed>
