template<> void TModInfo<CPerform>(CModInfo& Info) { Info.SetWikiPage("disperform"); }
template<> void TModInfo<CClientNotifyMod>(CModInfo& Info) { Info.SetWikiPage("clientnotify"); }
template<> void TModInfo<CNickServ>(CModInfo& Info) { Info.SetWikiPage("nickserv"); Info.SetHasArgs(true); Info.SetArgsHelpText("Please enter your nickserv password."); }
template<> void TModInfo<CBlockMotd>(CModInfo& Info) { Info.AddType(CModInfo::NetworkModule); Info.AddType(CModInfo::GlobalModule); Info.SetWikiPage("block_motd"); }
void TModInfo<CStripControlsMod>(CModInfo& Info) { Info.SetWikiPage("stripcontrols"); Info.AddType(CModInfo::UserModule); }
template<> void TModInfo<CBuffExtras>(CModInfo& Info) { Info.SetWikiPage("buffextras"); Info.AddType(CModInfo::NetworkModule); }
void TModInfo<CNotifyConnectMod>(CModInfo& Info) { Info.SetWikiPage("notify_connect"); }
template<> void TModInfo<CRejoinMod>(CModInfo& Info) { Info.SetWikiPage("kickrejoin"); }
template<> void TModInfo<CFailToBanMod>(CModInfo& Info) { Info.SetWikiPage("fail2ban"); Info.SetHasArgs(true); Info.SetArgsHelpText("You might enter the time in minutes for the IP banning and the number of failed logins before any action is taken."); }
template<> void TModInfo<CIdentFileModule>(CModInfo& Info) { Info.SetWikiPage("identfile"); }
template<> void TModInfo<CAliasMod>(CModInfo& Info) { Info.SetWikiPage("alias"); Info.AddType(CModInfo::NetworkModule); }
template<> void TModInfo<CListSockets>(CModInfo& Info) { Info.SetWikiPage("listsockets"); }
template<> void TModInfo<CDCCMod>(CModInfo& Info) { Info.SetWikiPage("dcc"); }
template<> void TModInfo<CAutoOpMod>(CModInfo& Info) { Info.SetWikiPage("autoop"); }
template<> void TModInfo<CChanSaverMod>(CModInfo& Info) { Info.SetWikiPage("chansaver"); }
template<> void TModInfo<CBuffExtras>(CModInfo& Info) { Info.SetWikiPage("buffextras"); }
template<> void TModInfo<CIMAPAuthMod>(CModInfo& Info) { Info.SetWikiPage("imapauth"); Info.SetHasArgs(true); Info.SetArgsHelpText("[ server [+]port [ UserFormatString ] ]"); }
template<> void TModInfo<CSaveBuff>(CModInfo& Info) { Info.SetWikiPage("savebuff"); Info.SetHasArgs(true); Info.SetArgsHelpText("This user module takes up to one arguments. Either --ask-pass or the password itself (which may contain spaces) or nothing"); }
template<> void TModInfo<CQModule>(CModInfo& Info) { Info.SetWikiPage("Q"); Info.SetHasArgs(true); Info.SetArgsHelpText("Please provide your username and password for Q."); }
template<> void TModInfo<CSASLAuthMod>(CModInfo& Info) { Info.SetWikiPage("cyrusauth"); Info.SetHasArgs(true); Info.SetArgsHelpText("This global module takes up to two arguments - the methods of authentication - auxprop and saslauthd"); }
template<> void TModInfo<CClientAwayMod>(CModInfo& Info) { Info.SetWikiPage("clientaway"); Info.AddType(CModInfo::NetworkModule); }
template<> void TModInfo<CFloodDetachMod>(CModInfo& Info) { Info.SetWikiPage("flooddetach"); Info.SetHasArgs(true); Info.SetArgsHelpText("This user module takes up to two arguments. Arguments are msgs and secs numbers."); }
template<> void TModInfo<CAwayNickMod>(CModInfo& Info) { Info.SetWikiPage("awaynick"); }
template<> void TModInfo<CCryptMod>(CModInfo& Info) { Info.SetWikiPage("crypt"); }
template<> void TModInfo<CKeepNickMod>(CModInfo& Info) { Info.SetWikiPage("keepnick"); }
void TModInfo<CSSLClientCertMod>(CModInfo& Info) { Info.SetWikiPage("certauth"); }
template<> void TModInfo<CAdminLogMod>(CModInfo& Info) { Info.SetWikiPage("adminlog"); }
template<> void TModInfo<CNickServ>(CModInfo& Info) { Info.SetWikiPage("nickserv"); }
template<> void TModInfo<CSChat>(CModInfo& Info) { Info.SetWikiPage("schat"); Info.SetHasArgs(true); Info.SetArgsHelpText("Path to .pem file, if differs from main ZNC's one"); }
template<> void TModInfo<CShellMod>(CModInfo& Info) { Info.SetWikiPage("shell"); }