added basic command handler

This commit is contained in:
2020-10-02 18:50:47 -05:00
parent f82d203377
commit f5939353b1
3 changed files with 90 additions and 9 deletions

View File

@@ -2,10 +2,26 @@
#include "CNShardServer.hpp"
#define CMD_PREFIX '/'
typedef void (*CommandHandler)(std::string fullString, std::vector<std::string> args, CNSocket* sock);
struct ChatCommand {
int requiredAccLevel;
CommandHandler handlr;
ChatCommand(int r, CommandHandler h): requiredAccLevel(r), handlr(h) {}
ChatCommand(): ChatCommand(0, nullptr) {}
};
namespace ChatManager {
extern std::map<std::string, ChatCommand> commands;
void init();
void registerCommand(std::string cmd, int requiredLevel, CommandHandler handlr);
void chatHandler(CNSocket* sock, CNPacketData* data);
void emoteHandler(CNSocket* sock, CNPacketData* data);
void menuChatHandler(CNSocket* sock, CNPacketData* data);
void sendServerMessage(CNSocket* sock, std::string msg); // uses MOTD
}