6#ifndef SKYFIRESERVER_CHAT_H
7#define SKYFIRESERVER_CHAT_H
30 ChatCommand(
char const* name,
uint32 permission,
bool allowConsole,
pHandler handler, std::string help, std::vector<ChatCommand> childCommands = std::vector<ChatCommand>())
49 std::string
const& senderName =
"", std::string
const& receiverName =
"",
50 uint32 achievementId = 0,
bool gmMessage =
false, std::string
const& channelName =
"", std::string
const& addonPrefix =
"");
56 static char*
LineFromMessage(
char*& pos) {
char* start = strtok(pos,
"\n"); pos = NULL;
return start; }
94 char*
extractKeyFromLink(
char* text,
char const*
const* linkTypes,
int* found_idx,
char** something1 = NULL);
108 std::string
playerLink(std::string
const& name)
const {
return m_session ?
"|cffffffff|Hplayer:" + name +
"|h[" + name +
"]|h|r" : name; }
136 typedef void Print(
void*,
char const*);
const AuthHandler table[]
#define ATTR_PRINTF(F, V)
Role Based Access Control related classes definition.
bool(* pHandler)(ChatHandler *, char const *)
std::vector< ChatCommand > ChildCommands
ChatCommand(char const *name, uint32 permission, bool allowConsole, pHandler handler, std::string help, std::vector< ChatCommand > childCommands=std::vector< ChatCommand >())
static bool LoadCommandTable()
virtual std::string GetNameLink() const
GameTele const * extractGameTeleFromLink(char *text)
bool HasLowerSecurity(Player *target, uint64 guid, bool strong=false)
static void SetLoadCommandTable(bool val)
bool ParseCommands(const char *text)
virtual bool isAvailable(ChatCommand const &cmd) const
std::string PGetParseString(int32 entry,...) const
void extractOptFirstArg(char *args, char **arg1, char **arg2)
static bool SetDataForCommandInTable(std::vector< ChatCommand > &table, const char *text, uint32 permission, std::string const &help, std::string const &fullcommand)
GameObject * GetObjectGlobalyWithGuidOrNearWithDbGuid(uint32 lowguid, uint32 entry)
std::string playerLink(std::string const &name) const
static bool load_command_table
char * extractQuotedArg(char *args)
void SendGlobalGMSysMessage(const char *str)
bool ExecuteCommandInTable(std::vector< ChatCommand > const &table, const char *text, std::string const &fullcmd)
Player * getSelectedPlayer()
WorldSession * GetSession()
void SendGlobalSysMessage(const char *str)
bool HasSentErrorMessage() const
virtual LocaleConstant GetSessionDbcLocale() const
bool isValidChatMessage(const char *msg)
virtual bool HasPermission(uint32 permission) const
ChatHandler(WorldSession *session)
virtual int GetSessionDbLocaleIndex() const
bool hasStringAbbr(const char *name, const char *part)
Creature * getSelectedCreature()
uint32 extractSpellIdFromLink(char *text)
char * extractKeyFromLink(char *text, char const *linkType, char **something1=NULL)
void PSendSysMessage(const char *format,...) ATTR_PRINTF(2
static size_t BuildChatPacket(WorldPacket &data, ChatMsg chatType, Language language, ObjectGuid senderGUID, ObjectGuid receiverGUID, std::string const &message, uint8 chatTag, std::string const &senderName="", std::string const &receiverName="", uint32 achievementId=0, bool gmMessage=false, std::string const &channelName="", std::string const &addonPrefix="")
void SetSentErrorMessage(bool val)
WorldObject * getSelectedObject()
uint64 extractGuidFromLink(char *text)
static char * LineFromMessage(char *&pos)
bool ShowHelpForSubCommands(std::vector< ChatCommand > const &table, char const *cmd, char const *subcmd)
bool extractPlayerTarget(char *args, Player **player, uint64 *player_guid=NULL, std::string *player_name=NULL)
virtual bool needReportToTarget(Player *chr) const
virtual void SendSysMessage(const char *str)
virtual const char * GetSkyFireString(int32 entry) const
bool GetPlayerGroupAndGUIDByName(const char *cname, Player *&player, Group *&group, uint64 &guid, bool offline=false)
std::string extractPlayerNameFromLink(char *text)
bool ShowHelpForCommand(std::vector< ChatCommand > const &table, const char *cmd)
GameObject * GetNearbyGameObject()
bool HasLowerSecurityAccount(WorldSession *target, uint32 account, bool strong=false)
static std::vector< ChatCommand > const & getCommandTable()
bool HasPermission(uint32) const
void SendSysMessage(const char *str)
void Print(void *, char const *)
bool needReportToTarget(Player *chr) const
const char * GetSkyFireString(int32 entry) const
LocaleConstant GetSessionDbcLocale() const
CliHandler(void *callbackArg, Print *zprint)
int GetSessionDbLocaleIndex() const
std::string GetNameLink() const
bool isAvailable(ChatCommand const &cmd) const
Player session in the World.