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

	<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>2022-02-28T16:59:17-04:00</updated>

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

		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2022-02-28T16:59:17-04:00</updated>

		<published>2022-02-28T16:59:17-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110958#p110958</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110958#p110958"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110958#p110958"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code># ReOp-Mode.tcl #set reop(max) 10bind pub - !reoplist Reoplist:chanproc Reoplist:chan {nick uhost hand chan text} {  global reop reopnick   if {![isop $nick $chan] &amp;&amp; ![matchattr $hand o|o $chan]} { return 0 }    if {![botisop $chan]} return    set reop($chan) [list 0]    set reopnick $nick    bind raw - 344 cb:bind:reop  bind raw - 345 cb:bind:reop  putserv "MODE $chan R"  return 0}proc cb:bind:reop {from key text} {  global reop reopnick  set text [regsub -all -- {\s{2,}} [string trim [stripcodes * $text]] { }]  set text [split $text]   lassign [split $text] not chan mask   if {![info exists reop($chan)]} {  return 0  }  set masks [lassign $reop($chan) total]  if {$key == 344} {   lappend masks $mask  ;  incr total  }  set cnt [llength $masks]  if {$total == 0} {    putnow "Notice $reopnick :$chan ReOp list is empty"  } elseif {$cnt == $reop(max) || ($cnt &gt; 0 &amp;&amp; $key==344)} {    putnow "Notice $reopnick :[join $masks]"    set reop($chan) [list $total]  } else {    set reop($chan) [linsert $masks 0 $total]  }  if {$key == 345} {    unset reop($chan)    unbind raw - 344 cb:bind:reop    unbind raw - 345 cb:bind:reop    puthelp "Notice $reopnick :$total ReOp entries on $chan"  }  return 1}bind pubm - "#% !+reop*" pub:addreopmodebind pubm - "#% !-reop*" pub:addreopmodeproc pub:addreopmode {nick host hand chan text} {            if {![isop $nick $chan] &amp;&amp; ![matchattr $hand o|o $chan]} { return 0 }            set text [stripcodes * $text]            set text [split $text]       set restmodes [lrange [split $text] 1 end]             if {[string match -nocase "!+reop*" [stripcodes * $text]]} {            if {![isop $nick $chan] &amp;&amp; ![matchattr $hand o|o $chan]} { return 0 }          set reopmsk [list]           foreach entries [split $restmodes]  { lappend reopmsk $entries }if {[info exists reopmsk]} { reopmodes $chan + $reopmsk }}             if {[string match -nocase "!-reop*" [stripcodes * $text]]} { if {![isop $nick $chan] &amp;&amp; ![matchattr $hand o|o $chan]} { return 0 }          set reopmsk [list]           foreach entries [split $restmodes]  { lappend reopmsk $entries }      if {[info exists reopmsk]} { reopmodes  $chan - $reopmsk }}}proc reopmodes {chan prefix reoplist {max 3}} {      set count [llength $reoplist]      while {$count &gt; 0} {         if {$count&gt; $max} {            set mode [string repeat "R" $max]            set masks [join [lrange $reoplist 0 [expr {$max - 1}]]]            set reoplist [lrange $reoplist $max end]            incr count -$max            incr total $max         } else {            set mode [string repeat "R" $count]            set masks [join $reoplist]            incr total $count            set count 0         }         puthelp "MODE $chan $prefix$mode $masks"      }   }</code></pre></div>i hope someone can fix the display of reop list in 1 line as much as possible to prevent the bot to get disconnected due to excess messages sent<br><br>its weird why this doesnt get all the entries to stack in stacks of 10 in a line  <br><blockquote class="uncited"><div><br>  if {$key == 344} {<br>   lappend masks $mask  ;  incr total<br>  }</div></blockquote><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Mon Feb 28, 2022 4:59 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2022-02-28T16:26:00-04:00</updated>

		<published>2022-02-28T16:26:00-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110957#p110957</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110957#p110957"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110957#p110957"><![CDATA[
yes im on #nespresso<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Mon Feb 28, 2022 4:26 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[geek]]></name></author>
		<updated>2022-02-28T14:40:43-04:00</updated>

		<published>2022-02-28T14:40:43-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110956#p110956</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110956#p110956"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110956#p110956"><![CDATA[
works very well <br><br>only a strange behavior:<br>I disable this script with # in .conf<br>I .rehash the eggdrop<br>!commands still work   <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_eek.gif" width="15" height="15" alt=":shock:" title="Shocked"> <br><br>in any case, thanks simo!<br><br>are you on ircnet too?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10286">geek</a> — Mon Feb 28, 2022 2:40 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[geek]]></name></author>
		<updated>2022-02-28T07:05:52-04:00</updated>

		<published>2022-02-28T07:05:52-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110955#p110955</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110955#p110955"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110955#p110955"><![CDATA[
thanks for your script simo<br><br>now I have to work, I'll test it this evening<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10286">geek</a> — Mon Feb 28, 2022 7:05 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2022-02-27T21:39:15-04:00</updated>

		<published>2022-02-27T21:39:15-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110954#p110954</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110954#p110954"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110954#p110954"><![CDATA[
the output of:<br><br> /mode #channel R<br><br>is:<blockquote class="uncited"><div>[02:36:20][IRCnet] -&gt; irc.nlnog.net MODE #channel R<br>[02:36:20][IRCnet] &lt;- :irc.nlnog.net 344 botnick #channel *!*@All4Masti-4n8.556.33.95.IP<br>[02:36:20][IRCnet] &lt;- :irc.nlnog.net 344 botnick #channel *!*@All4Masti-y0k.138.69.30.IP<br>[02:36:20][IRCnet] &lt;- :irc.nlnog.net 344 botnick #channel *!*@All4Masti-in6.676.89.60.IP<br>[02:36:20][IRCnet] &lt;- :irc.nlnog.net 344 botnick #channel *!*@All4Masti-x0a.532.56.04.IP<br>[02:36:20][IRCnet] &lt;- :irc.nlnog.net 344 botnick #channel *!*@All4Masti-u93.803.38.49.IP<br>[02:36:20][IRCnet] &lt;- :irc.nlnog.net 345 botnick #channel :End of Channel Reop List</div></blockquote><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Sun Feb 27, 2022 9:39 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2022-02-27T22:19:14-04:00</updated>

		<published>2022-02-27T21:11:17-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110953#p110953</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110953#p110953"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110953#p110953"><![CDATA[
i tested this and it seems to work well except it doesnt stack the reop access list in a single line as much as possible instead it sends each in seperate notice spamming the nick requesting the list<br><div class="codebox"><p>Code: </p><pre><code># Re-Op-Mode.tcl #set reop(max) 10bind pub - !reoplist Reoplist:chanproc Reoplist:chan {nick uhost hand chan text} {  global reop reopnick   if {![isop $nick $chan] &amp;&amp; ![matchattr $hand o|o $chan]} { return 0 }    if {![botisop $chan]} return    set reop($chan) [list 0]    set reopnick $nick    bind raw - 344 cb:bind:reop  bind raw - 345 cb:bind:reop  putserv "MODE $chan R"  return 0}proc cb:bind:reop {from key text} {  global reop reopnick  set text [regsub -all -- {\s{2,}} [string trim [stripcodes * $text]] { }]  set text [split $text]   lassign [split $text] not chan mask   if {![info exists reop($chan)]} {  return 0  }  set masks [lassign $reop($chan) total]  if {$key == 344} {   lappend masks $mask  ;  incr total  }  set cnt [llength $masks]  if {$total == 0} {    puthelp "Notice $reopnick :$chan ReOp list is empty"  } elseif {$cnt == $reop(max) || ($cnt &gt; 0 &amp;&amp; $key==344)} {    puthelp "Notice $reopnick :[join $masks]"    set reop($chan) [list $total]  } else {    set reop($chan) [linsert $masks 0 $total]  }  if {$key == 345} {    unset reop($chan)    unbind raw - 344 cb:bind:reop    unbind raw - 345 cb:bind:reop    puthelp "Notice $reopnick :$total ReOp entries on $chan"  }  return 1} bind pub -|- !addreop pub:addreopmodeproc  pub:addreopmode {nick uhost hand chan text} {            if {![isop $nick $chan] &amp;&amp; ![matchattr $hand o|o $chan]} { return 0 }    set reopmsk [list]        foreach entries [split $text]  { lappend reopmsk $entries }if {[info exists reopmsk]} { reopmodes $chan $reopmsk }} proc reopmodes {chan reoplist {max 3}} {      set count [llength $reoplist]      while {$count &gt; 0} {         if {$count&gt; $max} {            set mode [string repeat "R" $max]            set masks [join [lrange $reoplist 0 [expr {$max - 1}]]]            set reoplist [lrange $reoplist $max end]            incr count -$max            incr total $max         } else {            set mode [string repeat "R" $count]            set masks [join $reoplist]            incr total $count            set count 0         }         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> — Sun Feb 27, 2022 9:11 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2022-02-27T18:41:11-04:00</updated>

		<published>2022-02-27T18:41:11-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110952#p110952</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110952#p110952"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110952#p110952"><![CDATA[
altho i agree with willyw eggdrop needs to  be opped to set  anymode i came up with this took this from a cleanbans thread from forum here i dont remember from wich thread tho:<br><br>try this if it does the job:<br><div class="codebox"><p>Code: </p><pre><code># Re-Op-Mode.tcl #set reop(max) 10bind pub - !reop Reop:chanproc Reop:chan {nick uhost hand chan text} {  global reop   if {![isop $nick $chan] &amp;&amp; ![matchattr $hand o|o $chan]} { return 0 }    if {![botisop $chan]} return    set reop($chan) [list 0]    set reopnick $nick    bind raw - 344 cb:bind:raw  bind raw - 345 cb:bind:raw  putserv "MODE $chan R"  return 0}proc cb:bind:raw {from key text} {  global reop  lassign [split $text] not chan mask  if {![info exists reop($chan)]} {  return 0  }  set masks [lassign $reop($chan) total]  if {$key == 344} {    lappend masks $mask  ;  incr total  }  set cnt [llength $masks]  if {$total == 0} {    puthelp "Notice $::reopnick :$chan ReOp list is empty"  } elseif {$cnt == $reop(max) || ($cnt &gt; 0 &amp;&amp; $key==345)} {    set mode [string repeat "R" $cnt]    putserv "Notice $::reopnick [join $masks]"    set reop($chan) [list $total]  } else {    set reop($chan) [linsert $masks 0 $total]  }  if {$key == 345} {    unset reop($chan)    unbind raw - 344 cb:bind:raw    unbind raw - 345 cb:bind:raw    puthelp "Notice $::reopnick :$total ReOp entries on $chan"  }  return 1}bind pub -|- !reopmode pub:reopmodeproc  pub:reopmode {nick uhost hand chan text} {            if {![isop $nick $chan] &amp;&amp; ![matchattr $hand o|o $chan]} { return 0 }    set reopmsk [list]foreach entries [split $text]  { lappend reopmsk $reopmask }if {[info exists entries]} { reopmodes $chan $entries }} proc reopmodes {chan reoplist {max 3}} {      set count [llength $reoplist]      while {$count &gt; 0} {         if {$count&gt; $max} {            set mode [string repeat "R" $max]            set masks [join [lrange $reoplist 0 [expr {$max - 1}]]]            set reoplist [lrange $reoplist $max end]            incr count -$max            incr total $max         } else {            set mode [string repeat "R" $count]            set masks [join $reoplist]            incr total $count            set count 0         }         puthelp "MODE $chan +$mode $masks"      }   }</code></pre></div>i checked the servers max mode settings per line and it returned 3 mode settings per line wich is why i used 3 in the mode stacker reopmodes<br>the reason i didnt use pushmode is because i wasnt sure if channel  mode +R nick!ident@host is recognized by built in pushmode modes<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Sun Feb 27, 2022 6:41 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SpiKe^^]]></name></author>
		<updated>2022-02-27T14:30:25-04:00</updated>

		<published>2022-02-27T14:30:25-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110951#p110951</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110951#p110951"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110951#p110951"><![CDATA[
k.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=7749">SpiKe^^</a> — Sun Feb 27, 2022 2:30 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[geek]]></name></author>
		<updated>2022-02-27T13:27:08-04:00</updated>

		<published>2022-02-27T13:27:08-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110950#p110950</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110950#p110950"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110950#p110950"><![CDATA[
@willyw<br>and<br>@SpiKe^^<br><br><br>I know eggdrop features very well, built-in flags, etc.<br><br>ircnet is "old style", so no Services at all<br>if you only have a couple of eggdrops with op and you want to have all other users just with +v, it's not impossible for the channel to become opless<br><br>Reop-Mode was introduced for this reason<br><br>I could give "MODE R" commands manually, but I would like to do it without the op and with !trigger<br><br>so I asked for this script<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10286">geek</a> — Sun Feb 27, 2022 1:27 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SpiKe^^]]></name></author>
		<updated>2022-02-27T12:52:19-04:00</updated>

		<published>2022-02-27T12:52:19-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110949#p110949</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110949#p110949"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110949#p110949"><![CDATA[
Not sure I get the reasoning.<br><br>Why would you not just use the IRCnet MODE commands directly??<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=7749">SpiKe^^</a> — Sun Feb 27, 2022 12:52 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[willyw]]></name></author>
		<updated>2022-02-27T12:41:59-04:00</updated>

		<published>2022-02-27T12:41:59-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110948#p110948</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110948#p110948"/>
		<title type="html"><![CDATA[Re: Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110948#p110948"><![CDATA[
It appears that this server mode acts only if there are no ops in the channel.<br>( We can't duplicate that with an Eggdrop, as the bot itself must still be op'd, for it to be able to op anyone else.  )<br><br>I'm wondering if we are going to re-invent the wheel here.   <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><br>Is the built-in "+o" flag good enough?<br><br>You can add users to the bot.  You can make their hostmask as tight as you wish, even including nick.<br>Give them the +o flag, globally or on a channel specific basis.<br><br>Then, at any time in the future,  then can send a /msg to the bot, and have the bot re-op them.   Of course, this assumes that the bot itself is still op'd.<br>Or, you could give them the +a flag too, and bot would auto-op them.<br><br>Maybe I'm missing something here....<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10420">willyw</a> — Sun Feb 27, 2022 12:41 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[geek]]></name></author>
		<updated>2022-02-27T11:20:31-04:00</updated>

		<published>2022-02-27T11:20:31-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=110947#p110947</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=110947#p110947"/>
		<title type="html"><![CDATA[Reop-Mode]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=110947#p110947"><![CDATA[
hi,<br>I would like a script that implements the following feature:    <a href="https://www.ircnet.com/articles/reop" class="postlink"><span style="text-decoration:underline">HERE</span></a><br><br><br>something like:<blockquote class="uncited"><div>&lt;nick&gt; !reop<br>&lt;bot&gt;  Channel Reop List:<br>&lt;bot&gt;  *!<a href="mailto:xxx@bla.bla.org">xxx@bla.bla.org</a><br>&lt;bot&gt;  *!<a href="mailto:yyy@vhost.net">yyy@vhost.net</a><br>&lt;bot&gt;  *!*@4.3.2.1<br><br>&lt;nick&gt; !+reop *!*@2001:67c:0:0:0:0:0:2 *!*@1.2.3.4<br>&lt;bot&gt;  MODE #channel +R *!*@2001:67c:0:0:0:0:0:2<br>&lt;bot&gt;  MODE #channel +R *!*@1.2.3.4<br>&lt;bot&gt;  User(s) added to Reop List<br><br>&lt;nick&gt; !-reop *!<a href="mailto:xxx@bla.bla.org">xxx@bla.bla.org</a> *!*@1.2.3.4<br>&lt;bot&gt;  MODE #channel -R *!<a href="mailto:xxx@bla.bla.org">xxx@bla.bla.org</a><br>&lt;bot&gt;  MODE #channel -R *!*@1.2.3.4<br>&lt;bot&gt;  User(s) removed from Reop List</div></blockquote>can you help me?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10286">geek</a> — Sun Feb 27, 2022 11:20 am</p><hr />
]]></content>
	</entry>
	</feed>
