mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-22 20:11:44 +00:00
Added MODE and KICK handling, and some other misc stuff
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1179 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
a23de78d86
commit
fbb769bb0d
1 changed files with 40 additions and 3 deletions
|
@ -3,6 +3,8 @@
|
|||
#include "../plugin.h"
|
||||
#include <time.h>
|
||||
|
||||
vmcvar_t irc_debug = {"irc_debug", "0"};
|
||||
|
||||
#define Q_strncpyz(o, i, l) do {strncpy(o, i, l-1);o[l-1]='\0';}while(0)
|
||||
|
||||
|
||||
|
@ -410,7 +412,7 @@ int IRC_ClientFrame(ircclient_t *irc)
|
|||
|
||||
}
|
||||
|
||||
//Con_SubPrintf("irc",COLOURRED "!!!!! 1: %s 2: %s 3: %s 4: %s 5: %s 6: %s 7: %s 8: %s\n",var[1],var[2],var[3],var[4],var[5],var[6],var[7],var[8]);
|
||||
if (irc_debug.value == 1) { Con_SubPrintf("irc",COLOURRED "!!!!! 1: %s 2: %s 3: %s 4: %s 5: %s 6: %s 7: %s 8: %s\n",var[1],var[2],var[3],var[4],var[5],var[6],var[7],var[8]); }
|
||||
|
||||
if (*msg == ':') //we need to strip off the prefix
|
||||
{
|
||||
|
@ -480,10 +482,10 @@ int IRC_ClientFrame(ircclient_t *irc)
|
|||
char *username = strtok(var[1]+1, delimiters);
|
||||
char *ctcpreplytype = strtok(var[4]+2, " ");
|
||||
char *ctcpreply = var[5];
|
||||
|
||||
Con_SubPrintf("irc","<CTCP Reply> %s FROM %s: %s",ctcpreplytype,username,ctcpreply);
|
||||
}
|
||||
|
||||
if (exc && col)
|
||||
else if (exc && col)
|
||||
{
|
||||
*col = '\0';
|
||||
col++;
|
||||
|
@ -533,6 +535,41 @@ int IRC_ClientFrame(ircclient_t *irc)
|
|||
}
|
||||
else Con_SubPrintf("irc", COLOURGREEN ":%s%s\n", prefix, msg); //direct server message
|
||||
}
|
||||
else if (!strncmp(var[2], "MODE ", 5))
|
||||
{
|
||||
char *username = strtok(var[1]+1, "! ");
|
||||
char *mode = strtok(var[4], " ");
|
||||
char *target = strtok(var[5], " ");
|
||||
char channel[100];
|
||||
|
||||
if (!strncmp(var[3], "#", 1))
|
||||
{
|
||||
strcpy(channel,strtok(var[3], " "));
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy(channel,"irc");
|
||||
}
|
||||
|
||||
if ((!strncmp(mode+1,"o", 1)) || (!strncmp(mode+1,"v",1))) // ops or voice
|
||||
{
|
||||
Con_SubPrintf(channel,COLOURGREEN "%s sets mode %s on %s\n",username,mode,target);
|
||||
}
|
||||
else
|
||||
{
|
||||
Con_SubPrintf(channel,COLOURGREEN "%s sets mode %s\n",username,mode);
|
||||
}
|
||||
|
||||
}
|
||||
else if (!strncmp(var[2], "KICK ", 5))
|
||||
{
|
||||
char *username = strtok(var[1]+1, "!");
|
||||
char *channel = strtok(var[3], " ");
|
||||
char *target = strtok(var[4], " ");
|
||||
char *reason = var[5]+1;
|
||||
|
||||
Con_SubPrintf(channel,COLOURGREEN "%s was kicked from %s Reason: '%s' by %s\n",target,channel,reason,username);
|
||||
}
|
||||
else if (!strncmp(msg, "NICK ", 5))
|
||||
{
|
||||
char *exc = strchr(prefix, '!');
|
||||
|
|
Loading…
Reference in a new issue