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

	<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>2020-01-23T16:44:02-04:00</updated>

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

		<entry>
		<author><name><![CDATA[BarGuy]]></name></author>
		<updated>2020-01-23T16:44:02-04:00</updated>

		<published>2020-01-23T16:44:02-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=108003#p108003</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=108003#p108003"/>
		<title type="html"><![CDATA[googlenews.tcl change url scan time from 1 min]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=108003#p108003"><![CDATA[
Thanks SpiKe^^ but may have to bail on this script anyways, as anytime someone posts a URL in channel, it kills the script for some reason<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12815">BarGuy</a> — Thu Jan 23, 2020 4:44 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SpiKe^^]]></name></author>
		<updated>2020-01-23T12:17:47-04:00</updated>

		<published>2020-01-23T12:17:47-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=108002#p108002</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=108002#p108002"/>
		<title type="html"><![CDATA[googlenews.tcl change url scan time from 1 min]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=108002#p108002"><![CDATA[
<blockquote class="uncited"><div>Im looking for the line in this script thats set to scan the google rss feed every min.. That seems a bit overkill, and would like to change it to say every 10 mins.</div></blockquote>Try replacing  <strong class="text-strong">bind time - "*" Google:News</strong><br>with  <strong class="text-strong">"bind time - "?0 *" Google:News</strong><br>and .restart the bot to remove the old bind times.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=7749">SpiKe^^</a> — Thu Jan 23, 2020 12:17 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[BarGuy]]></name></author>
		<updated>2020-01-22T22:22:03-04:00</updated>

		<published>2020-01-22T22:22:03-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107992#p107992</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107992#p107992"/>
		<title type="html"><![CDATA[googlenews.tcl change url scan time from 1 min]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107992#p107992"><![CDATA[
Hi, Im looking for the line in this script (Im totally new to tcl), thats set to scan the google rss feed every min.. That seems a bit overkill, and would like to change it to say every 10 mins.. Also I tried changing NATION to ENTERTAINMENT and got errors, but other options like WORLD, BUSINESS, TECHNOLOGY work, was the entertainment one changed?<div class="codebox"><p>Code: </p><pre><code># Google news v0.3 by nrt (01Dec2015)# Updated GoogleNews Country links and added some more lines for redirected link support (04Jan2018) karakedipackage require tdompackage require httppackage require htmlparsepackage require textutil::splitpackage require tls 1.6.4package present Tcl 8.6set ::oldnews [list ]set googlelink {https://news.google.com/news/rss/headlines/section/topic/NATION}# Length of chars in a line.set newsmax 412# Links shortened to tinyurl. 1 = true , 0 = falseset tinyurl 1# 1 = US_en (U.S.A), 2 = TR (Turkey) , 3 = FR (France), 4 = DE (Germany), 5 = UK_en (U.K) , 6 = RU (Russia)# 7 = IT (Italy) , 8 = NL (Netherlands) , 9 = AU_en (Australia) , 10 = PT (Portugal) , 11 = AR (Arabian World) , 12 = AT_de (Austria)# 13 = BE_fr (Belgium) , 14 = BR_pt (Brazil) , 15 = BG (Bulgaria) , 16 = CA_en (Canada) , 17 = NZ_en (New Zealand) , 18 = PL (Poland)# 19 = RO (Romania) , 20 = CS (Czech Republic) , 21 = NO (Norway) , 22 = CH_fr (Switzerland) , 23 = SV (Sweden) , 24 = SR (Serbia)# 25 = CN_zh (China) , 26 = JA (Japan) , 27 = GR (Greece) , 28 = LT (Lithuania) , 29 = IN_en (India) , 30 = HU (Hungary)# 31 = AR (Argentina) , 32 = ID (Indonesia) , 33 = MY (Malaysia) , 34 = BN (Bangladesh) , 35 = MX (Mexico) , 36 = PK_en (Pakistan)# news in this language/nationset newslang 16# This is for set a limit, do not post if that headline older than ** minutesset headlinedelay 120# .news on &lt;- to enable on your #channel / .news off &lt;- for turn this off!setudef flag googlenewsbind pub mnf|oa ".news" news_controlbind evnt - init-server news_refreshif {[package vcompare [package present tls] 1.7] &gt; 0} {::http::register https 443 [list ::tls::socket -autoservername 1]} else {::http::register https 443 [list ::tls::socket -request 0 -require 1 -ssl2 0 -ssl3 0 -tls1 1]}proc langSel {} {switch -exact -- $::newslang {1 { set url {us&amp;hl=en&amp;gl=US} }2 { set url {tr_tr&amp;hl=tr&amp;gl=TR} }3 { set url {fr&amp;hl=fr&amp;gl=FR} }4 { set url {de&amp;hl=de&amp;gl=DE} }5 { set url {uk&amp;hl=en-GB&amp;gl=GB} }6 { set url {ru_ru&amp;hl=ru&amp;gl=RU} }7 { set url {it&amp;hl=it&amp;gl=IT} }8 { set url {nl_nl&amp;hl=nl&amp;gl=NL} }9 { set url {au&amp;hl=en-AU&amp;gl=AU} }10 { set url {pt-PT_pt&amp;hl=pt-PT&amp;gl=PT} }11 { set url {ar_me&amp;hl=ar&amp;gl=ME} }12 { set url {de_at&amp;hl=de-AT&amp;gl=AT} }13 { set url {fr_be&amp;hl=fr&amp;gl=BE} }14 { set url {pt-BR_br&amp;hl=pt-BR&amp;gl=BR} }15 { set url {bg_bg&amp;hl=bg&amp;gl=BG} }16 { set url {ca&amp;hl=en-CA&amp;gl=CA} }17 { set url {nz&amp;hl=en-NZ&amp;gl=NZ} }18 { set url {pl_pl&amp;hl=pl&amp;gl=PL} }19 { set url {ro_ro&amp;hl=ro&amp;gl=RO} }20 { set url {cs_cz&amp;hl=cs&amp;gl=CZ} }21 { set url {no_no&amp;hl=no&amp;gl=NO} }22 { set url {fr_ch&amp;hl=fr-CH&amp;gl=CH} }23 { set url {sv_se&amp;hl=sv&amp;gl=SE} }24 { set url {sr_rs&amp;hl=sr&amp;gl=RS} }25 { set url {cn&amp;hl=zh-CN&amp;gl=CN} }26 { set url {jp&amp;hl=ja&amp;gl=JP} }27 { set url {el_gr&amp;hl=el&amp;gl=GR} }28 { set url {lt_lt&amp;hl=lt&amp;gl=LT} }29 { set url {in&amp;hl=en-IN&amp;gl=IN} }30 { set url {hu_hu&amp;hl=hu&amp;gl=HU} }31 { set url {es_ar&amp;hl=es-419&amp;gl=AR} }32 { set url {id_id&amp;hl=id&amp;gl=ID} }33 { set url {en_my&amp;hl=en-MY&amp;gl=MY} }34 { set url {bn_bd&amp;hl=bn&amp;gl=BD} }35 { set url {es_mx&amp;hl=es-419&amp;gl=MX} }36 { set url {en_pk&amp;hl=en&amp;gl=PK} }default { set url {us&amp;hl=en&amp;gl=US} }}return ${::googlelink}?ned=$url}proc news_refresh {type} {foreach chan [channels] newsbind [binds time] {if {([lsearch -exact [channel info $chan] "+googlenews"] != "-1")\&amp;&amp; ![string match "*Google:News*" $newsbind]} {bind time - "*" Google:Newsreturn 1}}}proc news_control {nick uhost hand chan text} {switch -nocase -- [lindex [split $text] 0] {"on" { if {[channel get $chan googlenews]} {puthelp "privmsg $chan :News already running @ $chan"} {bind time - "*" Google:Newschannel set $chan +googlenewsputhelp "privmsg $chan :News now enabled @ $chan"}}"off" { if {![channel get $chan googlenews]} {puthelp "privmsg $chan :News already disabled @ $chan"} {unbind time - "*" Google:Newschannel set $chan -googlenewsputhelp "privmsg $chan :News now stopped @ $chan"}}default { puthelp "privmsg $chan :Usage: $::lastbind &lt;on/off&gt;" }}return 0}proc getit {url} {if {[catch {set token [http::geturl $url -binary 1 -timeout 15000]} error]} {putcmdlog "[string map [list \n " "] $error]"return 0} elseif {[http::status $token] eq "ok" &amp;&amp; [http::ncode $token] == "200"} {set data [http::data $token]::http::cleanup $token} elseif {[string match *[http::ncode $token]* "307|303|302|301"]} {upvar #0 $token stateforeach {names values} $state(meta) {if {[regexp -- {^Location$} $names]} {putlog "Redirecting to $values"::http::cleanup $tokenif {[catch {set tok [http::geturl $values -binary 1 -timeout 15000]} err]} {putcmdlog "[string map [list \n " "] $err]"break} elseif {[http::status $tok] eq "ok" &amp;&amp; [http::ncode $tok] == "200"} {set data [http::data $tok]::http::cleanup $tok} else {putcmdlog "[http::status $tok] - [http::code $tok]"::http::cleanup $tok}}}} else {putcmdlog "[http::status $token] - [http::code $token]"::http::cleanup $token}if {[info exists data]} {return [encoding convertfrom utf-8 $data]}}proc newsdom {} {set document [dom parse [getit [langSel]]]set root [$document documentElement]foreach id [$root selectNodes "/rss/channel/item"] {set description [[$id selectNodes "description"] text]set pubDate [[$id selectNodes "pubDate"] text]set newsurl [[$id selectNodes "link"] text]lappend news "[dom_trim $description] | [dom_trim $newsurl] | [clock scan [dom_trim $pubDate]]"}$document deleteset listnews [lindex [lsort -integer -decreasing -index end $news] 0]return [join [htmlparse::mapEscapes $listnews]]}proc news_print {where what} {regexp {^(.*?)(http(?:s|)://[^\s]+)(.*?)$} $what - res links _set output [textutil::split::splitn $what $::newsmax]if {[string match *${links}* $output]} {lmap newsout $output { puthelp "privmsg $where :$newsout" }} else {lmap newsout [textutil::split::splitn $what [string length $res]] { puthelp "privmsg $where :$newsout" }}}proc dom_trim {str} {regsub -all -nocase {(?:&lt;strong&gt;|&lt;/strong&gt;|&lt;b&gt;|&lt;/b&gt;)} $str "\002" strregsub -all -- {&lt;font color="#6f6f6f"&gt;(.*?)&lt;/font&gt;} $str "(\00304\\1\003)" strset str [string map [list &amp;lt\; \u003c &amp;gt\; \u003e &amp;nbsp\; \u0020 \" \u0027] $str]regsub -all -- "&lt;.+?&gt;" $str { } strregsub -all -- {\s+} $str "\u0020" strreturn [string trim $str]}proc news_tiny {link} {set tinyurl [getit http://tinyurl.com/api-create.php?[http::formatQuery url $link]]if {[info exists tinyurl] &amp;&amp; [string length $tinyurl]} {return $tinyurl} else {return $link}}proc Google:News {args} {foreach chan [channels] {if {[channel get $chan googlenews]} {set news [newsdom]set newsdesc [lindex [split $news |] 0]set newslink [lindex [split $news |] 1]set newstime [lindex [split $news |] end]scan $newsdesc {%[^(]} headlineif {![string match *${newslink}* $::oldnews] &amp;&amp; ($headline ni $::oldnews)\&amp;&amp; ([expr {([clock seconds] - ${newstime}) &lt; (${::headlinedelay} * 60)}])} {if {$::tinyurl &lt; "1" || ![string length $::tinyurl]} {news_print $chan "$newsdesc : $newslink ([duration [expr {[clock seconds] - $newstime}]] ago.)"} else {news_print $chan "$newsdesc : [news_tiny [string trim $newslink]] ([duration [expr {[clock seconds] - $newstime}]] ago.)"}set ::oldnews $news}}}return 0}putlog "ok..."</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12815">BarGuy</a> — Wed Jan 22, 2020 10:22 pm</p><hr />
]]></content>
	</entry>
	</feed>
