- Look at ZNC API here or directly in ZNC headers
- Create your own module.cpp file (you can look into the sample module's source for help. Of course, you can look to other existing modules too)
- #include <znc/main.h> and <znc/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!
Look at modperl.