To create new wiki account, please join us on #znc at freenode and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

Difference between revisions of "Modtcl"

From ZNC
Jump to: navigation, search
m
Line 2: Line 2:
 
{{Core Module | version = 1.0}}
 
{{Core Module | version = 1.0}}
  
[[modtcl]] allows you to run tcl scripts in ZNC, if you load the modtcl.tcl script you could also load some eggdrop scripts.
+
[[modtcl]] allows you to run tcl scripts in ZNC.
 +
 
 +
'''No, your eggdrop scripts will not work'''. Only few very basic ones will, if you use modtcl.tcl like explained below.
  
 
== Install ==
 
== Install ==

Revision as of 11:57, 6 December 2012

modtcl allows you to run tcl scripts in ZNC.

No, your eggdrop scripts will not work. Only few very basic ones will, if you use modtcl.tcl like explained below.

Install

modtcl should be installed via ZNC-Extra. Since this module has an external dependency, you have to pass both, --enable-extra and --enable-tcl to configure to enable it.

Usage

Arguments

This user module takes one optional arguments. The argument is the absolute path to a tcl script file.

Read loading modules to learn more about loading modules.

modtcl allows you to run any tcl code via:

/msg *modtcl tcl-code
/msg *modtcl format [string repe "%c" 10] 90 78 67 32 114 111 99 107 115 33

If you have modtcl.tcl loaded you can rehash your loaded scripts with:

/msg *modtcl rehash

modtcl.tcl and binds.tcl

modtcl comes with modtcl.tcl and binds.tcl (they help emulate an eggdrop) To load these files set the module argument to the absolute path of the file:

LoadModule = modtcl /path/to/modtcl.tcl

or load it from irc:

/msg *status loadmod modtcl /path/to/modtcl.tcl

By default modtcl.tcl loads binds.tcl aswell and you can add your own script files to be loaded under the "load other script files" section near the end of modtcl.tcl.

After you load them you can use some eggdrop commands:

/msg *modtcl putquick "privmsg #znc :testing"
/msg *modtcl bind pub - !ping pubPing; proc pubPing {nick uhost handle chan arg} {putquick "privmsg $chan :$nick: pong"}