src/parse.c
changeset 21 138537d81dd1
parent 19 66114d944208
child 22 b786b5f92a93
--- a/src/parse.c
+++ b/src/parse.c
@@ -152,13 +152,19 @@
 
             case JOIN:
                 if ((token = strtok (NULL, "\r\n")))
-                    snprintf (msg, 512, "JOIN %s\r\n", token);
+                    if (strstr (message->user, db_lookup (DATABASE_FILE, "mcbot.user"))) {
+                        if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
+                            snprintf (msg, 512, "JOIN %s\r\n", token);
+                    }
                 return msg;
 
             case LEAVE:
                 if (*message->channel != '#')
                     return NULL;
-                snprintf (msg, 512, "PART %s :Leaving.\r\n", message->channel);
+                if (strstr (message->user, db_lookup (DATABASE_FILE, "mcbot.user"))) {
+                    if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
+                        snprintf (msg, 512, "PART %s :Leaving.\r\n", message->channel);
+                }
                 return msg;
 
             case ADD:
@@ -288,44 +294,56 @@
 
             case OP:
                 if ((token = strtok (NULL, "\r\n")) != NULL) {
-                    if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
-                        snprintf (msg, 512, "MODE %s +o %s\r\n", message->channel, token);
+                    if (strstr (message->user, db_lookup (DATABASE_FILE, "mcbot.user"))) {
+                        if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
+                            snprintf (msg, 512, "MODE %s +o %s\r\n", message->channel, token);
+                    }
                 }
                 return msg;
 
             case DEOP:
                 if ((token = strtok (NULL, "\r\n")) != NULL) {
-                    if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
-                        snprintf (msg, 512, "MODE %s -o %s\r\n", message->channel, token);
+                    if (strstr (message->user, db_lookup (DATABASE_FILE, "mcbot.user"))) {
+                        if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
+                            snprintf (msg, 512, "MODE %s -o %s\r\n", message->channel, token);
+                    }
                 }
                 return msg;
 
             case KICK:
                 if ((token = strtok (NULL, "\r\n")) != NULL) {
-                    if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
-                        snprintf (msg, 512, "KICK %s %s\r\n", message->channel, token);
+                    if (strstr (message->user, db_lookup (DATABASE_FILE, "mcbot.user"))) {
+                        if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
+                            snprintf (msg, 512, "KICK %s %s\r\n", message->channel, token);
+                    }
                 }
                 return msg;
 
             case BAN:
                 if ((token = strtok (NULL, "\r\n")) != NULL) {
-                    if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
-                        snprintf (msg, 512, "MODE %s +b %s\r\n", message->channel, token);
+                    if (strstr (message->user, db_lookup (DATABASE_FILE, "mcbot.user"))) {
+                        if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
+                            snprintf (msg, 512, "MODE %s +b %s\r\n", message->channel, token);
+                    }
                 }
                 return msg;
 
             case UNBAN:
                 if ((token = strtok (NULL, "\r\n")) != NULL) {
-                    if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
-                        snprintf (msg, 512, "MODE %s -b %s\r\n", message->channel, token);
+                    if (strstr (message->user, db_lookup (DATABASE_FILE, "mcbot.user"))) {
+                        if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
+                            snprintf (msg, 512, "MODE %s -b %s\r\n", message->channel, token);
+                    }
                 }
                 return msg;
 
             case KICKBAN:
                 if ((token = strtok (NULL, "\r\n")) != NULL) {
-                    if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
-                        snprintf (msg, 512, "MODE %s +b %s\r\nKICK %s %s\r\n", message->channel, token,
-                                  message->channel, token);
+                    if (strstr (message->user, db_lookup (DATABASE_FILE, "mcbot.user"))) {
+                        if (strstr (message->email, db_lookup (DATABASE_FILE, "mcbot.email")))
+                            snprintf (msg, 512, "MODE %s +b %s\r\nKICK %s %s\r\n", message->channel, token,
+                                      message->channel, token);
+                    }
                 }
                 return msg;
             }