mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2025-11-17 07:20:05 +00:00
[refactor] Refactor ChatManager
* Extracted all commands into CustomCommands.cpp * Moved all chat-related packet handlers into ChatManger.cpp * Cleaned up redundant includes * Unified handler naming scheme * Made all command handlers in CustomCommands.cpp static
This commit is contained in:
@@ -1,34 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
#include "CNShardServer.hpp"
|
||||
|
||||
#define CMD_PREFIX '/'
|
||||
|
||||
typedef void (*CommandHandler)(std::string fullString, std::vector<std::string>& args, CNSocket* sock);
|
||||
|
||||
struct ChatCommand {
|
||||
int requiredAccLevel;
|
||||
std::string help;
|
||||
CommandHandler handlr;
|
||||
|
||||
ChatCommand(int r, CommandHandler h): requiredAccLevel(r), handlr(h) {}
|
||||
ChatCommand(int r, CommandHandler h, std::string str): requiredAccLevel(r), help(str), handlr(h) {}
|
||||
ChatCommand(): ChatCommand(0, nullptr) {}
|
||||
};
|
||||
#include "CNShardServer.hpp"
|
||||
|
||||
namespace ChatManager {
|
||||
extern std::map<std::string, ChatCommand> commands;
|
||||
extern std::vector<std::string> dump;
|
||||
void init();
|
||||
|
||||
bool runCmd(std::string full, CNSocket* sock);
|
||||
void registerCommand(std::string cmd, int requiredLevel, CommandHandler handlr, std::string help = "");
|
||||
|
||||
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
|
||||
void announcementHandler(CNSocket* sock, CNPacketData* data);
|
||||
|
||||
void buddyChatHandler(CNSocket* sock, CNPacketData* data);
|
||||
void buddyMenuChatHandler(CNSocket* sock, CNPacketData* data);
|
||||
|
||||
void tradeChatHandler(CNSocket* sock, CNPacketData* data);
|
||||
|
||||
void groupChatHandler(CNSocket* sock, CNPacketData* data);
|
||||
void groupMenuChatHandler(CNSocket* sock, CNPacketData* data);
|
||||
|
||||
void sendServerMessage(CNSocket* sock, std::string msg); // uses MOTD
|
||||
std::string sanitizeText(std::string text, bool allowNewlines=false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user