|
@@ -1,4 +1,5 @@
|
|
|
-# MNET (Message Network) - Networked Broadcasting of Messages over IRC for Communities
|
|
|
+# CIMS: Community IRC Messaging Service
|
|
|
+# CIMS formerly known as MNET (Message Network)
|
|
|
# Administration Script
|
|
|
# Copyright (C) 2004 Paul-Dieter Klumpp
|
|
|
#
|
|
@@ -16,14 +17,22 @@
|
|
|
# along with this program; if not, write to the Free Software
|
|
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
|
|
+namespace eval ::cims::admin {
|
|
|
+ variable admin_channels {"#messagenet" "#quad.dev" "#qwnet"}
|
|
|
+ variable mnet_admin_version "Mnet!1.013namespaced"
|
|
|
+
|
|
|
+ # include my/our little eggdrop utilities and helper library. ;-) Putils!
|
|
|
+ if {[file isfile "scripts/cims/putils.tcl"] == 1} {
|
|
|
+ source "scripts/cims/putils.tcl"
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
|
|
|
-set admin_channels {"#messagenet" "#quad.dev" "#qwnet"}
|
|
|
-set mnet_admin_version "Mnet!1.012trylink"
|
|
|
|
|
|
|
|
|
# allowcheck for admin commands..
|
|
|
-proc mnet:admin_allowed_channel {nick mask hand chan admin_channels} {
|
|
|
- global botnick botnet-nick lastbind
|
|
|
+proc ::cims::admin::allowed_channel {nick mask hand chan admin_channels} {
|
|
|
+ global botnick botnet-nick lastbind
|
|
|
|
|
|
|
|
|
putlog "mnet! = an admin command triggered triggered by $nick ($mask) in $chan"
|
|
@@ -32,7 +41,7 @@ proc mnet:admin_allowed_channel {nick mask hand chan admin_channels} {
|
|
|
|
|
|
putlog "mnet! = trying if $chan is an admin-channel"
|
|
|
set found 0
|
|
|
- set proper_botnick [mnet:proper_botnick ${botnet-nick}]
|
|
|
+ set proper_botnick [::putils::proper_botnick ${botnet-nick}]
|
|
|
foreach _try_chan $admin_channels {
|
|
|
if {[string compare -nocase ${chan} ${_try_chan}] == 0} {
|
|
|
putlog "mnet! = channel: ${chan} is allowed to administrate mnet on this bot"
|
|
@@ -48,7 +57,7 @@ proc mnet:admin_allowed_channel {nick mask hand chan admin_channels} {
|
|
|
|
|
|
if {![isop ${nick} ${chan}]} {
|
|
|
putlog "mnet! = allowed in ${chan}, but $nick is no op"
|
|
|
- mnet:put_nick ${nick} "Sorry $nick, you are not an administrator here."
|
|
|
+ ::putils::put_nick ${nick} "Sorry $nick, you are not an administrator here."
|
|
|
return 0
|
|
|
}
|
|
|
if {${nick} == ${botnick}} {
|
|
@@ -61,53 +70,58 @@ proc mnet:admin_allowed_channel {nick mask hand chan admin_channels} {
|
|
|
return 1
|
|
|
}
|
|
|
|
|
|
-proc mnet:admin_check_addchannel {nick channel} {
|
|
|
+proc ::cims::admin::check_addchannel {nick channel} {
|
|
|
|
|
|
if {[botonchan ${channel}] == 1} {
|
|
|
- mnet:put_nick ${nick} "Mnet! I added myself to the channel ${channel}"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! I added myself to the channel ${channel}"
|
|
|
putlog "Mnet! I added myself to the channel ${channel}"
|
|
|
} else {
|
|
|
- mnet:put_nick ${nick} "Mnet! I tried to add myself to the channel ${value} - but failed! Pls check."
|
|
|
+ ::putils::put_nick ${nick} "Mnet! I tried to add myself to the channel ${value} - but failed! Pls check."
|
|
|
putlog "Mnet! I tried to add myself to the channel ${value} - but failed! Pls check."
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-proc mnet:admin_rehash {nick mask hand chan text} {
|
|
|
- global admin_channels botnet-nick
|
|
|
+proc ::cims::admin::rehash {nick mask hand chan text} {
|
|
|
+ variable admin_channels
|
|
|
+ global botnet-nick
|
|
|
|
|
|
- set proper_botnick [mnet:proper_botnick ${botnet-nick}]
|
|
|
+ set proper_botnick [::putils::proper_botnick ${botnet-nick}]
|
|
|
|
|
|
- set allowed [mnet:admin_allowed_channel $nick $mask $hand $chan $admin_channels]
|
|
|
+ set allowed [::cims::admin::allowed_channel $nick $mask $hand $chan $admin_channels]
|
|
|
if {$allowed == 0} {
|
|
|
return 0
|
|
|
}
|
|
|
|
|
|
# rehash the bot... be sure the scripts are coded correctly!! or the bot will DIE!
|
|
|
rehash
|
|
|
- mnet:put_nick ${nick} "Mnet! \"${proper_botnick}\" has rehashed and thus reloaded the mnet.tcl"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! \"${proper_botnick}\" has rehashed and thus reloaded the mnet.tcl"
|
|
|
|
|
|
}
|
|
|
|
|
|
-proc mnet:admin_version {nick mask hand chan text} {
|
|
|
- global admin_channels botnet-nick mnet_admin_version mnet
|
|
|
+proc ::cims::admin::version {nick mask hand chan text} {
|
|
|
+ variable admin_channels
|
|
|
+ variable mnet_admin_version
|
|
|
+
|
|
|
+ global botnet-nick
|
|
|
|
|
|
- set proper_botnick [mnet:proper_botnick ${botnet-nick}]
|
|
|
+ set proper_botnick [::putils::proper_botnick ${botnet-nick}]
|
|
|
|
|
|
- set allowed [mnet:admin_allowed_channel $nick $mask $hand $chan $admin_channels]
|
|
|
+ set allowed [::cims::admin::allowed_channel $nick $mask $hand $chan $admin_channels]
|
|
|
if {$allowed == 0} {
|
|
|
return 0
|
|
|
}
|
|
|
|
|
|
# tells version
|
|
|
- mnet:put_nick ${nick} "Mnet! \"${proper_botnick}\" Admin: $mnet_admin_version and Mnet is: $mnet(version)"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! \"${proper_botnick}\" Admin: $mnet_admin_version and Mnet is: $::cims::mnet(version)"
|
|
|
}
|
|
|
|
|
|
-proc mnet:admin_channelinfo {nick mask hand chan text} {
|
|
|
- global admin_channels botnet-nick
|
|
|
+proc ::cims::admin::channelinfo {nick mask hand chan text} {
|
|
|
+ variable admin_channels
|
|
|
+ global botnet-nick
|
|
|
|
|
|
- set proper_botnick [mnet:proper_botnick ${botnet-nick}]
|
|
|
+ set proper_botnick [::putils::proper_botnick ${botnet-nick}]
|
|
|
|
|
|
- set allowed [mnet:admin_allowed_channel $nick $mask $hand $chan $admin_channels]
|
|
|
+ set allowed [::cims::admin::allowed_channel $nick $mask $hand $chan $admin_channels]
|
|
|
if {$allowed == 0} {
|
|
|
return 0
|
|
|
}
|
|
@@ -135,10 +149,10 @@ proc mnet:admin_channelinfo {nick mask hand chan text} {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- mnet:put_nick ${nick} "Mnet! \"${proper_botnick}\" has \002${chan_count}\002 channels: ${output}"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! \"${proper_botnick}\" has \002${chan_count}\002 channels: ${output}"
|
|
|
}
|
|
|
|
|
|
-proc mnet:admin_have_channelrecord {chan} {
|
|
|
+proc ::cims::admin::has_channelrecord {chan} {
|
|
|
|
|
|
set channel_records [channels]
|
|
|
foreach _try_chan $channel_records {
|
|
@@ -155,46 +169,54 @@ proc mnet:admin_have_channelrecord {chan} {
|
|
|
|
|
|
}
|
|
|
|
|
|
-proc mnet:admin_trylink {nick mask hand chan text} {
|
|
|
- global admin_channels botnet-nick mnet_admin_version mnet
|
|
|
+proc ::cims::admin::trylink {nick mask hand chan text} {
|
|
|
+ variable admin_channels
|
|
|
+ variable mnet_admin_version
|
|
|
+ variable mnet
|
|
|
+ global botnet-nick
|
|
|
|
|
|
- set proper_botnick [mnet:proper_botnick ${botnet-nick}]
|
|
|
+ set proper_botnick [::putils::proper_botnick ${botnet-nick}]
|
|
|
set botslist [userlist b]
|
|
|
|
|
|
foreach _try_bot $botslist {
|
|
|
if {[islinked ${_try_bot}] == 0} {
|
|
|
set _try [link ${_try_bot}]
|
|
|
if {$_try == 1} {
|
|
|
- mnet:put_nick ${nick} "Mnet! \"${proper_botnick}\" tries to link to \"${_try_bot}\""
|
|
|
- utimer 5 "mnet:admin_trylink_test ${_try_bot} ${nick}"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! \"${proper_botnick}\" tries to link to \"${_try_bot}\""
|
|
|
+ utimer 5 "::cims::admin::trylink_test ${_try_bot} ${nick}"
|
|
|
}
|
|
|
} else {
|
|
|
- mnet:put_nick ${nick} "Mnet! \"${proper_botnick}\" \00303already linked\003 to \"${_try_bot}\" - good."
|
|
|
+ ::putils::put_nick ${nick} "Mnet! \"${proper_botnick}\" \00303already linked\003 to \"${_try_bot}\" - good."
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return 0
|
|
|
}
|
|
|
|
|
|
-proc mnet:admin_trylink_test {_try_bot nick} {
|
|
|
- global admin_channels botnet-nick mnet_admin_version mnet
|
|
|
+proc ::cims::admin::trylink_test {_try_bot nick} {
|
|
|
+ variable admin_channels
|
|
|
+ variable mnet_admin_version
|
|
|
+ variable mnet
|
|
|
+ global botnet-nick
|
|
|
|
|
|
- set proper_botnick [mnet:proper_botnick ${botnet-nick}]
|
|
|
+ set proper_botnick [::putils::proper_botnick ${botnet-nick}]
|
|
|
|
|
|
if {[islinked ${_try_bot}] == 1} {
|
|
|
- mnet:put_nick ${nick} "Mnet! \"${proper_botnick}\" \00309succeeded\003 to link to \"${_try_bot}\"! :)"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! \"${proper_botnick}\" \00309succeeded\003 to link to \"${_try_bot}\"! :)"
|
|
|
} else {
|
|
|
- mnet:put_nick ${nick} "Mnet! \"${proper_botnick}\" \00304FAILED\003 to link to \"${_try_bot}\"! :("
|
|
|
+ ::putils::put_nick ${nick} "Mnet! \"${proper_botnick}\" \00304FAILED\003 to link to \"${_try_bot}\"! :("
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
-proc mnet:admin_reload {nick mask hand chan text} {
|
|
|
- global admin_channels botnet-nick
|
|
|
+proc ::cims::admin::reload {nick mask hand chan text} {
|
|
|
+ variable admin_channels
|
|
|
+ global botnet-nick
|
|
|
|
|
|
- set proper_botnick [mnet:proper_botnick ${botnet-nick}]
|
|
|
|
|
|
- set allowed [mnet:admin_allowed_channel $nick $mask $hand $chan $admin_channels]
|
|
|
+ set proper_botnick [::putils::proper_botnick ${botnet-nick}]
|
|
|
+
|
|
|
+ set allowed [::cims::admin::allowed_channel $nick $mask $hand $chan $admin_channels]
|
|
|
if {$allowed == 0} {
|
|
|
return 0
|
|
|
}
|
|
@@ -203,16 +225,19 @@ proc mnet:admin_reload {nick mask hand chan text} {
|
|
|
# reload config... be sure this script works or the bot will DIE!
|
|
|
putlog "mnet! = reloading configs by admin"
|
|
|
mnet:dcc_configload ${cmd} ${cmd} ${cmd}
|
|
|
- mnet:put_nick ${nick} "Mnet! \"${proper_botnick}\" Configs reload triggered."
|
|
|
+ ::putils::put_nick ${nick} "Mnet! \"${proper_botnick}\" Configs reload triggered."
|
|
|
|
|
|
}
|
|
|
|
|
|
-proc mnet:admin {nick mask hand chan text} {
|
|
|
- global admin_channels botnet-nick mnet_admin_version mnet
|
|
|
+proc ::cims::admin::main {nick mask hand chan text} {
|
|
|
+ variable admin_channels
|
|
|
+ variable mnet_admin_version
|
|
|
+ variable mnet
|
|
|
+ global botnet-nick
|
|
|
|
|
|
- set proper_botnick [mnet:proper_botnick ${botnet-nick}]
|
|
|
+ set proper_botnick [::putils::proper_botnick ${botnet-nick}]
|
|
|
|
|
|
- set allowed [mnet:admin_allowed_channel $nick $mask $hand $chan $admin_channels]
|
|
|
+ set allowed [::cims::admin::allowed_channel $nick $mask $hand $chan $admin_channels]
|
|
|
if {$allowed == 0} {
|
|
|
return 0
|
|
|
}
|
|
@@ -229,19 +254,19 @@ proc mnet:admin {nick mask hand chan text} {
|
|
|
# check $value ... if there
|
|
|
if {${value} != ""} {
|
|
|
# get channelrecord: ${value} if we don't have the record already:
|
|
|
- if {[mnet:admin_have_channelrecord ${value}] == 0} {
|
|
|
+ if {[::cims::admin::has_channelrecord ${value}] == 0} {
|
|
|
channel add ${value}
|
|
|
# save it
|
|
|
savechannels
|
|
|
|
|
|
# did it work?
|
|
|
- utimer 10 "mnet:admin_check_addchannel ${nick} ${value}"
|
|
|
+ utimer 10 "::cims::admin::check_addchannel ${nick} ${value}"
|
|
|
} else {
|
|
|
- mnet:put_nick ${nick} "Mnet! Can't add again - I already have the channel ${value}"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! Can't add again - I already have the channel ${value}"
|
|
|
putlog "Mnet! Can't add again - I already have the channel ${value}"
|
|
|
}
|
|
|
} else {
|
|
|
- mnet:put_nick ${nick} "Mnet! Can't add: no channel given"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! Can't add: no channel given"
|
|
|
}
|
|
|
|
|
|
|
|
@@ -252,18 +277,18 @@ proc mnet:admin {nick mask hand chan text} {
|
|
|
# check $value ... if there
|
|
|
if {${value} != ""} {
|
|
|
# remove ${value} from bot, if we have a record for it.
|
|
|
- if {[mnet:admin_have_channelrecord ${value}] == 1} {
|
|
|
+ if {[::cims::admin::has_channelrecord ${value}] == 1} {
|
|
|
channel remove ${value}
|
|
|
savechannels
|
|
|
|
|
|
- mnet:put_nick ${nick} "Mnet! I removed the channelrecord: ${value}"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! I removed the channelrecord: ${value}"
|
|
|
putlog "Mnet! I removed the channelrecord: ${value}"
|
|
|
} else {
|
|
|
- mnet:put_nick ${nick} "Mnet! Can't remove - I don't have that channelrecord: ${value}"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! Can't remove - I don't have that channelrecord: ${value}"
|
|
|
putlog "Mnet! Can't remove - I don't have that channelrecord: ${value}"
|
|
|
}
|
|
|
} else {
|
|
|
- mnet:put_nick ${nick} "Mnet! Can't remove: no channel given"
|
|
|
+ ::putils::put_nick ${nick} "Mnet! Can't remove: no channel given"
|
|
|
}
|
|
|
|
|
|
return 0
|
|
@@ -271,59 +296,65 @@ proc mnet:admin {nick mask hand chan text} {
|
|
|
|
|
|
if {${cmd} == "reload"} {
|
|
|
# reload network configs, pointing to procedure
|
|
|
- mnet:admin_reload $nick $mask $hand $chan $text
|
|
|
+ ::cims::admin::reload $nick $mask $hand $chan $text
|
|
|
return 0
|
|
|
}
|
|
|
|
|
|
if {${cmd} == "channels"} {
|
|
|
# tell channel infos, pointing to procedure
|
|
|
- mnet:admin_channelinfo $nick $mask $hand $chan $text
|
|
|
+ ::cims::admin::channelinfo $nick $mask $hand $chan $text
|
|
|
return 0
|
|
|
}
|
|
|
|
|
|
if {${cmd} == "rehash"} {
|
|
|
# rehash
|
|
|
- mnet:admin_rehash $nick $mask $hand $chan $text
|
|
|
+ ::cims::admin::rehash $nick $mask $hand $chan $text
|
|
|
return 0
|
|
|
}
|
|
|
|
|
|
if {${cmd} == "version"} {
|
|
|
# tells version
|
|
|
- mnet:admin_version $nick $mask $hand $chan $text
|
|
|
+ ::cims::admin::version $nick $mask $hand $chan $text
|
|
|
return 0
|
|
|
}
|
|
|
|
|
|
|
|
|
# none of the above worked .. so we are here:
|
|
|
- mnet:put_nick ${nick} "mnet! possible commands are: add remove reload channels rehash version"
|
|
|
- mnet:put_nick ${nick} "mnet! use either \002!mnet_botnetnickname <command>\002 to admin a single bot or just \002!mnet_<command>\002 to admin ALL bots that listen to your words here."
|
|
|
- mnet:put_nick ${nick} "add #channelname || bot joins a channel"
|
|
|
- mnet:put_nick ${nick} "remove #channelname || bot parts a channel"
|
|
|
- mnet:put_nick ${nick} "reload || reloads the mnet_configs"
|
|
|
- mnet:put_nick ${nick} "channels || tells some channel-infos"
|
|
|
- mnet:put_nick ${nick} "rehash || rehashes the bot, reloads all botscripts"
|
|
|
- mnet:put_nick ${nick} "version || tells version"
|
|
|
+ ::putils::put_nick ${nick} "mnet! possible commands are: add remove reload channels rehash version"
|
|
|
+ ::putils::put_nick ${nick} "mnet! use either \002!mnet_botnetnickname <command>\002 to admin a single bot or just \002!mnet_<command>\002 to admin ALL bots that listen to your words here."
|
|
|
+ ::putils::put_nick ${nick} "add #channelname || bot joins a channel"
|
|
|
+ ::putils::put_nick ${nick} "remove #channelname || bot parts a channel"
|
|
|
+ ::putils::put_nick ${nick} "reload || reloads the mnet_configs"
|
|
|
+ ::putils::put_nick ${nick} "channels || tells some channel-infos"
|
|
|
+ ::putils::put_nick ${nick} "rehash || rehashes the bot, reloads all botscripts"
|
|
|
+ ::putils::put_nick ${nick} "version || tells version"
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
-# timer weil $botnet-nick nicht sofort von eggdrop gesetzt wird
|
|
|
-utimer 3 "mnet:admin_bindings"
|
|
|
|
|
|
-proc mnet:admin_bindings {} {
|
|
|
- global botnet-nick
|
|
|
- set proper_botnick [mnet:proper_botnick ${botnet-nick}]
|
|
|
-
|
|
|
- bind pub - !mnet_${proper_botnick} mnet:admin
|
|
|
- bind pub - !mnet_reload mnet:admin_reload
|
|
|
- bind pub - !mnet_channels mnet:admin_channelinfo
|
|
|
- bind pub - !mnet_rehash mnet:admin_rehash
|
|
|
- bind pub - !mnet_version mnet:admin_version
|
|
|
- bind pub - !mnet_trylink mnet:admin_trylink
|
|
|
+proc ::cims::admin::bindings {} {
|
|
|
+ variable mnet_admin_version
|
|
|
+ global botnet-nick
|
|
|
|
|
|
+ set proper_botnick [::putils::proper_botnick ${botnet-nick}]
|
|
|
+
|
|
|
+ bind pub - !mnet_${proper_botnick} ::cims::admin::main
|
|
|
+ bind pub - !mnet_reload ::cims::admin::reload
|
|
|
+ bind pub - !mnet_channels ::cims::admin::channelinfo
|
|
|
+ bind pub - !mnet_rehash ::cims::admin::rehash
|
|
|
+ bind pub - !mnet_version ::cims::admin::version
|
|
|
+ bind pub - !mnet_trylink ::cims::admin::trylink
|
|
|
+
|
|
|
+ putlog "mnet! = mnet adminscript loaded: $mnet_admin_version"
|
|
|
}
|
|
|
|
|
|
+namespace eval ::cims::admin {
|
|
|
+ # timer weil $botnet-nick nicht sofort von eggdrop gesetzt wird
|
|
|
+ utimer 3 "::cims::admin::bindings"
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-putlog "mnet! = mnet adminscript loaded: $mnet_admin_version"
|
|
|
|