hexchatd



struct  PluginInfo;




string  name;

Name of this plugin.


string  description;

Description for this plugin.


string  version_;

Version string for this plugin.


enum  PluginStyle: int;

Type of client this plugin should be compatible with.


HexChat plugin.


XChat plugin.


template  Plugin(alias initFunc, PluginStyle style = PluginStyle.hexchat) if (is(typeof(initFunc(lvalueOf!PluginInfo))))
template  Plugin(alias initFunc, alias deinitFunc, PluginStyle style = PluginStyle.hexchat)

Generate entry and exit points for this plugin.

Parameters
initFunc plugin initialization function. Must take one parameter of type PluginInfo by reference. Run when the plugin is loaded by the IRC client. Set the PluginInfo's fields to configure those properties of this plugin.
deinitFunc plugin de-initialization function. Must take no parameters. Run when then plugin is unloaded by the IRC client. Optional.
style ABI to follow. Use PluginStyle.hexchat for HexChat plugins and PluginStyle.xchat for plugins for other clients. The two ABIs are not cross-compatible.

enum  EatMode: int;

Event consumption behavior.


Pass it on through.


Don't let xchat see this event.


Don't let other plugins see this event.


 all

Don't let anything see this event.


enum  CommandPriority: int;


void  hookServer(in char[] type, EatMode function(in char[][] words, in char[][] words_eol) callback, CommandPriority priority = CommandPriority.normal);
void  hookServer(in char[] type, EatMode delegate(in char[][] words, in char[][] words_eol) callback, CommandPriority priority = CommandPriority.normal);

Hook a server message.

Parameters
char[] type type of message to hook
EatMode function(in char[][] words, in char[][] words_eol) callback callback function or delegate
CommandPriority priority priority of this hook. Should be CommandPriority.normal

void  hookCommand(in char[] cmd, EatMode function(in char[][] words, in char[][] words_eol) callback, in char[] helpText = null, CommandPriority priority = CommandPriority.normal);
void  hookCommand(in char[] cmd, EatMode delegate(in char[][] words, in char[][] words_eol) callback, in char[] helpText = null, CommandPriority priority = CommandPriority.normal);

Hook a chat command.

Parameters
char[] cmd name of command
EatMode function(in char[][] words, in char[][] words_eol) callback callback function or delegate
char[] helpText instructions for this command, displayed when the /help command is invoked
CommandPriority priority priority of this hook. Should be CommandPriority.normal

void  hookPrint(in char[] name, EatMode function(in char[][] words) callback, CommandPriority priority = CommandPriority.normal);
void  hookPrint(in char[] name, EatMode delegate(in char[][] words) callback, CommandPriority priority = CommandPriority.normal);

Hook a print event.

The list of text events can be found in Settings -> Advanced -> Text Events...; the list at the bottom of the window describes the contents of the words callback parameter for a particular event.

Parameters
char[] name name of event
EatMode function(in char[][] words) callback callback function or delegate
CommandPriority priority priority of this hook. Should be CommandPriority.normal