Our eggdrop is permanently under Silence. What I am looking for is a snippet which would remove "Silence" when a said nick parts a particular channel or quits and set "Silence" when the said nick gets ops on that particular channel.
# can contain wildcards such as nick*!*@*, but has to be in nick!user@host format
set swho "nick!*@*"
bind join - $swho silence_join
bind part - $swho silence_part
proc silence_join {n u h c} {putquick "SILENCE *.*@*"}
proc silence_part {n u h c} {putquick "SILENCE -*.*@*"}
Description: triggered by a signoff, or possibly by someone who got
netsplit and never returned. The signoff message is the last
argument to the proc. Wildcards can be used in the mask, which is
matched against '#channel nick!user@host'.
As the channel name is part of the string matched against the mask, you HAVE to include a part to match it (starting the mask with a nick would make it never match)
The sign bind can trigger your part proc because they pass the same number of arguments. You might also want to include splt and rejn binds (if your wait-split setting is > 0)
Rather than trying to explain to you what I'm looking for, let me give it to you in mIRC script. I'm hoping the someone will be kind enough to convert it in TCL.
# can contain wildcards such as nick*!*@*, but has to be in
# nick!user@host format
set swho *!cservice@undernet.org
bind join - "#channelname $swho" silence:control
bind part - "#channelname $swho" silence:control
bind sign - "#channelname $swho" silence:control
proc silence:control {n u h c args} {
if {[llength $args]} {
putserv "SILENCE -*!*@*"
} {
putserv "SILENCE *!*@*"
}
}