@@ -31,7 +31,7 @@ set CS_ARGS "vop|hop|aop <add|del> nick \[#channel\]"
3131
3232set CS_ADESC " Alias for chanserv"
3333
34-
34+ set CS_ACTIONS { " vop " " hop " " aop " }
3535::weechat::register
$SCRIPT_NAME {CrazyCat <
[email protected] >}
$SCRIPT_VERSION GPL3
$SCRIPT_SUMMARY {} {}
3636::weechat::hook_command cs $SCRIPT_SUMMARY $CS_ARGS $CS_ADESC {\
3737 vop add|del %(nicks) %(irc_server_channels)\
@@ -68,7 +68,7 @@ proc anope_setup {} {
6868}
6969
7070proc global_msg {data buffer args} {
71- lassign server schannel [buffer2sc $buffer ]
71+ lassign [buffer2sc $buffer ] server schannel
7272 if {$server eq $::weechat::WEECHAT_RC_ERROR } {
7373 return $::weechat::WEECHAT_RC_ERROR
7474 }
@@ -77,11 +77,16 @@ proc global_msg {data buffer args} {
7777}
7878
7979proc cs_op {data buffer args} {
80- lassign server schannel [buffer2sc $buffer ]
80+ lassign [buffer2sc $buffer ] server schannel
8181 if {$server eq $::weechat::WEECHAT_RC_ERROR } {
8282 return $::weechat::WEECHAT_RC_ERROR
8383 }
8484 lassign {*}$args csact csflag nick channel
85+ if {$csact ni $::CS_ACTIONS } {
86+ # bypass for unknown actions
87+ ::weechat::command " " " /msg [ ::weechat::config_get_plugin " ${server} .chanserv" ] [ join $args ] "
88+ return $::weechat::WEECHAT_RC_OK
89+ }
8590 if {$channel eq " " } {
8691 set channel $schannel
8792 }
@@ -101,13 +106,14 @@ proc buffer2sc { buffer } {
101106 set sc [split [::weechat::buffer_get_string $buffer " localvar_name" ] {.}]
102107 }
103108 server {
104- set sc {[ ::weechat::buffer_get_string $buffer " localvar_channel" ] " " }
109+ set sc [ list [ ::weechat::buffer_get_string $buffer " localvar_channel" ] " " ]
105110 }
106111 default {
107112 ::weechat::print $buffer " Sorry but you need to be in a server or a channel to use this command"
108113 return $::weechat::WEECHAT_RC_ERROR
109114 }
110115 }
116+ return $sc
111117}
112118
113119anope_setup
0 commit comments