2000-04-26 08:03:38 +00:00
|
|
|
#include "common.h"
|
|
|
|
|
|
|
|
|
|
#define MODULE_NAME "irc/notifylist"
|
|
|
|
|
|
|
|
|
|
#define ISON_EVENT "event 303"
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
char *nick;
|
|
|
|
|
char *user, *host, *realname, *awaymsg;
|
2000-07-23 11:55:16 +00:00
|
|
|
int idle_time;
|
2000-04-26 08:03:38 +00:00
|
|
|
|
|
|
|
|
int host_ok:1; /* host matches the one in notifylist = this is the right person*/
|
|
|
|
|
int away_ok:1; /* not away, or we don't care about it */
|
|
|
|
|
int idle_ok:1; /* idle time is low enough, or we don't care about it */
|
|
|
|
|
|
|
|
|
|
int away:1; /* nick is away */
|
|
|
|
|
int join_announced:1; /* join to IRC has been announced */
|
|
|
|
|
int idle_changed:1; /* idle time is lower than in last check */
|
|
|
|
|
|
|
|
|
|
time_t last_whois;
|
|
|
|
|
} NOTIFY_NICK_REC;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
GSList *notify_users; /* NOTIFY_NICK_REC's of notifylist people who are in IRC */
|
|
|
|
|
GSList *ison_tempusers; /* Temporary list for saving /ISON events.. */
|
|
|
|
|
} MODULE_SERVER_REC;
|
|
|
|
|
|
2000-08-26 15:39:44 +00:00
|
|
|
#include "irc-servers.h"
|
2000-04-26 08:03:38 +00:00
|
|
|
|
|
|
|
|
NOTIFY_NICK_REC *notify_nick_create(IRC_SERVER_REC *server, const char *nick);
|
|
|
|
|
void notify_nick_destroy(NOTIFY_NICK_REC *rec);
|
|
|
|
|
NOTIFY_NICK_REC *notify_nick_find(IRC_SERVER_REC *server, const char *nick);
|
|
|
|
|
|
|
|
|
|
void notifylist_left(IRC_SERVER_REC *server, NOTIFY_NICK_REC *rec);
|
|
|
|
|
void notifylist_destroy_all(void);
|
|
|
|
|
|
|
|
|
|
void notifylist_commands_init(void);
|
|
|
|
|
void notifylist_commands_deinit(void);
|
|
|
|
|
|
|
|
|
|
void notifylist_whois_init(void);
|
|
|
|
|
void notifylist_whois_deinit(void);
|
|
|
|
|
|
|
|
|
|
void notifylist_ison_init(void);
|
|
|
|
|
void notifylist_ison_deinit(void);
|