+typedef void channotice_func_t(struct UserNode *user, struct ChanNode *chan, char *message);
+int bind_channotice(channotice_func_t *func);
+void unbind_channotice(channotice_func_t *func);
+int event_channotice(struct UserNode *user, struct ChanNode *chan, char *message);
+
+typedef void privnotice_func_t(struct UserNode *user, struct UserNode *target, char *message);
+int bind_privnotice(privnotice_func_t *func);
+void unbind_privnotice(privnotice_func_t *func);
+int event_privnotice(struct UserNode *user, struct UserNode *target, char *message);
+
+typedef void chanctcp_func_t(struct UserNode *user, struct ChanNode *chan, char *command, char *text);
+int bind_chanctcp(chanctcp_func_t *func);
+void unbind_chanctcp(chanctcp_func_t *func);
+int event_chanctcp(struct UserNode *user, struct ChanNode *chan, char *command, char *text);
+
+typedef void privctcp_func_t(struct UserNode *user, struct UserNode *target, char *command, char *text);
+int bind_privctcp(privctcp_func_t *func);
+void unbind_privctcp(privctcp_func_t *func);
+int event_privctcp(struct UserNode *user, struct UserNode *target, char *command, char *text);
+
+typedef void invite_func_t(struct ClientSocket *client, struct UserNode *user, char *channel);
+int bind_invite(invite_func_t *func);
+void unbind_invite(invite_func_t *func);
+int event_invite(struct ClientSocket *client, struct UserNode *user, char *channel);
+
+typedef void raw_func_t(struct ClientSocket *client, char *from, char *cmd, char **argv, int argc);
+int bind_raw(raw_func_t *func);
+void unbind_raw(raw_func_t *func);
+int event_raw(struct ClientSocket *client, char *from, char *cmd, char **argv, int argc);
+
+typedef void bot_ready_func_t(struct ClientSocket *client);
+int bind_bot_ready(bot_ready_func_t *func);
+void unbind_bot_ready(bot_ready_func_t *func);
+int event_bot_ready(struct ClientSocket *client);
+
+
+