- if (havebstr("invite_button")) {
- sprintf(buf, "INVT %s", username);
- serv_puts(buf);
- serv_getln(buf, sizeof buf);
-
- if (buf[0] != '2') {
- strcpy(WC->ImportantMessage, &buf[4]);
- } else {
- sprintf(WC->ImportantMessage,
- _("<B><I>User %s invited to room %s.</I></B>\n"),
- username, room);
+ User = NewStrBufPlain(NULL, StrLength(UserNames));
+ Buf = NewStrBuf();
+
+ Pos = ChrPtr(UserNames);
+ while (Pos != StrBufNOTNULL)
+ {
+ StrBufExtract_NextToken(User, UserNames, &Pos, ',');
+ StrBufTrim(User);
+ if ((StrLength(User) > 0) && (Kick))
+ {
+ serv_printf("KICK %s", ChrPtr(User));
+ StrBuf_ServGetln(Buf);
+ if (GetServerStatus(Buf, NULL) != 2) {
+ StrBufCutLeft(Buf, 4);
+ AppendImportantMessage(SKEY(Buf));
+ } else {
+ StrBufPrintf(Buf,
+ _("User '%s' kicked out of room '%s'."),
+ ChrPtr(User),
+ ChrPtr(WCC->CurRoom.name)
+ );
+ AppendImportantMessage(SKEY(Buf));
+ }
+ }
+ else if ((StrLength(User) > 0) && (Invite))
+ {
+ serv_printf("INVT %s", ChrPtr(User));
+ StrBuf_ServGetln(Buf);
+ if (GetServerStatus(Buf, NULL) != 2) {
+ StrBufCutLeft(Buf, 4);
+ AppendImportantMessage(SKEY(Buf));
+ } else {
+ StrBufPrintf(Buf,
+ _("User '%s' invited to room '%s'."),
+ ChrPtr(User),
+ ChrPtr(WCC->CurRoom.name)
+ );
+ AppendImportantMessage(SKEY(Buf));
+ }
+ }