Writing modules
From ZNC
| Languages: |
English • Polski |
[edit] Overview
- Create your own module.cpp file (you can look into the sample module for help)
- #include <main.h> and <Modules.h>
- Create a new class derived from CModule overriding any Module Hooks that you need
- Be sure to add the macro call MODULEDEFS(CYourClass) at the END of the file
- Compile your module into a shared object (.so file) (See Compiling modules)
- Place the .so file into your ~/.znc/modules directory !!!WARNING!!! if you overwrite a .so file while znc has it loaded, it can and probably will crash znc, /msg *status unloadmod foo first!
[edit] Code
#include <main.h>
#include <Modules.h>
class CExampleMod : public CModule {
public:
MODCONSTRUCTOR(CExampleMod) {}
virtual ~CExampleMod() {}
virtual void OnModCommand(const CString& sCommand) {
if (sCommand.Token(0).CaseCmp("HELP") == 0) {
PutModule("I'd like to help, but I am just an example module");
} else {
PutModule("Unknown command, try HELP");
}
}
};
MODULEDEFS(CExampleMod, "This is the description")
[edit] Output
<zncuser> test <*example> Unknown command, try HELP <zncuser> help <*example> I'd like to help, but I am just an example module