degesch: stub IRC command handlers
This commit is contained in:
parent
0d63e59beb
commit
511c56d2fc
73
degesch.c
73
degesch.c
@ -1473,6 +1473,48 @@ irc_to_utf8 (struct app_context *ctx, const char *text)
|
||||
return iconv_xstrdup (ctx->latin1_to_utf8, (char *) text, len, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
irc_handle_join (struct app_context *ctx, const struct irc_message *msg)
|
||||
{
|
||||
// TODO: if the user is us, create a new buffer and activate it.
|
||||
// TODO: log a message
|
||||
}
|
||||
|
||||
static void
|
||||
irc_handle_kick (struct app_context *ctx, const struct irc_message *msg)
|
||||
{
|
||||
// TODO: remove user from the channel
|
||||
// TODO: log a message
|
||||
}
|
||||
|
||||
static void
|
||||
irc_handle_mode (struct app_context *ctx, const struct irc_message *msg)
|
||||
{
|
||||
// TODO: parse the mode change and apply it
|
||||
// TODO: log a message
|
||||
}
|
||||
|
||||
static void
|
||||
irc_handle_nick (struct app_context *ctx, const struct irc_message *msg)
|
||||
{
|
||||
// TODO: rename the user in all relevant channels
|
||||
// TODO: if it's us, rename ourselves
|
||||
// TODO: log a message in all relevant channels
|
||||
}
|
||||
|
||||
static void
|
||||
irc_handle_notice (struct app_context *ctx, const struct irc_message *msg)
|
||||
{
|
||||
// TODO: log a message
|
||||
}
|
||||
|
||||
static void
|
||||
irc_handle_part (struct app_context *ctx, const struct irc_message *msg)
|
||||
{
|
||||
// TODO: remove user from the channel
|
||||
// TODO: log a message
|
||||
}
|
||||
|
||||
static void
|
||||
irc_handle_ping (struct app_context *ctx, const struct irc_message *msg)
|
||||
{
|
||||
@ -1482,6 +1524,25 @@ irc_handle_ping (struct app_context *ctx, const struct irc_message *msg)
|
||||
irc_send (ctx, "PONG");
|
||||
}
|
||||
|
||||
static void
|
||||
irc_handle_privmsg (struct app_context *ctx, const struct irc_message *msg)
|
||||
{
|
||||
// TODO: log a message
|
||||
}
|
||||
|
||||
static void
|
||||
irc_handle_quit (struct app_context *ctx, const struct irc_message *msg)
|
||||
{
|
||||
// TODO: remove user from all channels
|
||||
// TODO: log a message
|
||||
}
|
||||
|
||||
static void
|
||||
irc_handle_topic (struct app_context *ctx, const struct irc_message *msg)
|
||||
{
|
||||
// TODO: log a message
|
||||
}
|
||||
|
||||
static struct irc_handler
|
||||
{
|
||||
char *name;
|
||||
@ -1490,8 +1551,16 @@ static struct irc_handler
|
||||
g_irc_handlers[] =
|
||||
{
|
||||
// This list needs to stay sorted
|
||||
// TODO: handle as much as we can
|
||||
{ "PING", irc_handle_ping },
|
||||
{ "JOIN", irc_handle_join },
|
||||
{ "KICK", irc_handle_kick },
|
||||
{ "MODE", irc_handle_mode },
|
||||
{ "NICK", irc_handle_nick },
|
||||
{ "NOTICE", irc_handle_notice },
|
||||
{ "PART", irc_handle_part },
|
||||
{ "PING", irc_handle_ping },
|
||||
{ "PRIVMSG", irc_handle_privmsg },
|
||||
{ "QUIT", irc_handle_quit },
|
||||
{ "TOPIC", irc_handle_topic },
|
||||
};
|
||||
|
||||
static int
|
||||
|
Loading…
Reference in New Issue
Block a user