This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.
For more information, see this announcement post . Click the X in the top right-corner of this box to dismiss this message.
Requests for complete scripts or modifications/fixes for scripts you didn't write. Response not guaranteed, and no thread bumping!
firebugs
Voice
Posts: 3 Joined: Wed Jun 30, 2021 10:17 am
Location: Penang
Post
by firebugs » Sun Jul 11, 2021 11:15 pm
I'm new and i'm glad to be here
I'm looking for a script that will perform a "/msg chanserv why #channel op nickname" upon an op joining the channel.
The why command output should be notice to the channel ops only.
Thanks in advance
Cheersssss!
DasBrain
Voice
Posts: 19 Joined: Thu Apr 08, 2021 12:31 pm
Post
by DasBrain » Mon Jul 12, 2021 8:21 am
I wrote this script for you:
https://github.com/DasBrain/brain-tools ... why-1.0.tm
Some notes:
Services need the S flag.
The script is designed to work with the Atheme service package, in the English language.
To enable the script on a channel, use .chanset #channel +cswhy on the partyline.
The script is triggered when the services (someone with the +S flag) gives someone op.
firebugs
Voice
Posts: 3 Joined: Wed Jun 30, 2021 10:17 am
Location: Penang
Post
by firebugs » Wed Jul 14, 2021 2:43 am
My bad for not mentioning the network I'm on, I'm on dalnet but will give below script a try.
Thanks for your time and I do appreciate it!
DasBrain wrote: I wrote this script for you:
https://github.com/DasBrain/brain-tools ... why-1.0.tm
Some notes:
Services need the S flag.
The script is designed to work with the Atheme service package, in the English language.
To enable the script on a channel, use .chanset #channel +cswhy on the partyline.
The script is triggered when the services (someone with the +S flag) gives someone op.
firebugs
Voice
Posts: 3 Joined: Wed Jun 30, 2021 10:17 am
Location: Penang
Post
by firebugs » Sun Jul 18, 2021 9:59 am
Below is the script, looks like it's not working, as I try to change it to puthelp "PRIVMSG ChanServ WHY $chan $target"
Code: Select all
# Brain-Tools
# Copyrigt DasBrain @ #John @ irc.quakenet.org
# File: cswhy-1.0.tm
# Asks chanserv what access someone has when they get ops from ChanServ.
# Designed for use with Atheme.
# Configs:
package require eggdrop 1.6
package require Tcl 8.5
package provide dasbrain::cswhy 1.0
namespace eval ::dasbrain::cswhy {
}
setudef flag cswhy
bind mode S "% +o" ::dasbrain::cswhy::onmode
bind notc S * ::dasbrain::cswhy::onnotice
proc ::dasbrain::cswhy::onmode {nick uhost hand chan mc target} {
if {[channel get $chan cswhy]} {
puthelp "PRIVMSG ChanServ WHY $chan $target"
}
}
proc ::dasbrain::cswhy::onnotice {nick uhost handle msg target} {
if {[regexp {has flags \002[^\002]+\002 in \002([^\002]+)\002 } $msg - chan]
|| [regexp {has no special access to \002([^\002]+)\002} $msg - chan]} {
if {[channel get $chan cswhy]} {
putnotc @$chan $msg
}
}
}
firebugs wrote: My bad for not mentioning the network I'm on, I'm on dalnet but will give below script a try.
Thanks for your time and I do appreciate it!
Some notes:
Services need the S flag.
The script is designed to work with the Atheme service package, in the English language.
To enable the script on a channel, use .chanset #channel +cswhy on the partyline.
The script is triggered when the services (someone with the +S flag) gives someone op.
CrazyCat
Revered One
Posts: 1304 Joined: Sun Jan 13, 2002 8:00 pm
Location: France
Contact:
Post
by CrazyCat » Sun Jul 18, 2021 10:49 am
First, use
code tags when putting script here, it's better for reading.
I'm skeptical about the
bind mode S as the "S" is not a known flag, I don't know how it could work. Same for the
bind notc .
What is
putnotc ? A private proc not included in the script ?
And I think the PRIVMSG lacks ":":
Code: Select all
# Brain-Tools
# Copyrigt DasBrain @ #John @ irc.quakenet.org
# File: cswhy-1.0.tm
# Asks chanserv what access someone has when they get ops from ChanServ.
# Designed for use with Atheme.
# Configs:
package require eggdrop 1.6
package require Tcl 8.5
package provide dasbrain::cswhy 1.0
namespace eval ::dasbrain::cswhy {
}
setudef flag cswhy
bind mode - "% +o" ::dasbrain::cswhy::onmode
bind notc - * ::dasbrain::cswhy::onnotice
proc ::dasbrain::cswhy::onmode {nick uhost hand chan mc target} {
if {[channel get $chan cswhy]} {
puthelp "PRIVMSG ChanServ :WHY $chan $target"
}
}
proc ::dasbrain::cswhy::onnotice {nick uhost handle msg target} {
if {[regexp {has flags \002[^\002]+\002 in \002([^\002]+)\002 } $msg - chan]
|| [regexp {has no special access to \002([^\002]+)\002} $msg - chan]} {
if {[channel get $chan cswhy]} {
putserv "NOTICE $chan :$msg"
}
}
}
DasBrain
Voice
Posts: 19 Joined: Thu Apr 08, 2021 12:31 pm
Post
by DasBrain » Sun Jul 18, 2021 6:32 pm
CrazyCat wrote:
I'm skeptical about the bind mode S as the "S" is not a known flag, I don't know how it could work. Same for the bind notc .
DasBrain wrote: Services need the S flag.
Uppercase flags can be freely used by scripts.
CrazyCat wrote:
What is putnotc ? A private proc not included in the script ?
alltools.tcl - comes with eggdrop.
CrazyCat wrote:
And I think the PRIVMSG lacks ":"
Yeah, somebody changed my code without understanding it.
CrazyCat
Revered One
Posts: 1304 Joined: Sun Jan 13, 2002 8:00 pm
Location: France
Contact:
Post
by CrazyCat » Mon Jul 19, 2021 1:10 am
Oh yes, I didn't read your initial post and I'm not used to use alltools features
@firebugs: how did you set the +S to your services ? can you show us the user record for them ?
DasBrain
Voice
Posts: 19 Joined: Thu Apr 08, 2021 12:31 pm
Post
by DasBrain » Mon Jul 19, 2021 1:32 am
My script has been written for Atheme, and works fine on libera.chat.
I suspect that DALnet uses a different response to the WHY command - so my script doesn't work.
As I don't use DALnet, I have no idea how their response looks like.
If you do, you just have to change the regexp to match their message.
And if DALnet doesn't support the CS command, then change it to CHANSERV, which is AFAIK supported.
CrazyCat
Revered One
Posts: 1304 Joined: Sun Jan 13, 2002 8:00 pm
Location: France
Contact:
Post
by CrazyCat » Mon Jul 19, 2021 3:00 am
Adding putlog in different places may help to find which trouble occures, if bind is activated or not, which string is received, if the regexp matches...
DasBrain
Voice
Posts: 19 Joined: Thu Apr 08, 2021 12:31 pm
Post
by DasBrain » Mon Jul 19, 2021 11:58 am
Sure, add those 3 lines at the end of the script:
Code: Select all
proc logargs args {putlog $args}
trace add execution ::dasbrain::cswhy::onmode {enter enterstep leave leavestep} logargs
trace add execution ::dasbrain::cswhy::onnotice {enter enterstep leave leavestep} logargs