38#if TRINITY_COMPILER == TRINITY_COMPILER_GNU
39#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
50 static std::vector<ChatCommand> guildCommandTable =
60 static std::vector<ChatCommand> commandTable =
85 char* tailStr = *args !=
'"' ? strtok(
nullptr,
"") : (
char*)args;
93 std::string guildName = guildStr;
102 if (
sGuildMgr->GetGuildByName(guildName))
117 if (!guild->
Create(target, guildName))
139 std::string guildName = guildStr;
156 if (!handler->
extractPlayerTarget(*args !=
'"' ? (
char*)args :
nullptr,
nullptr, &targetGuid))
159 char* tailStr = *args !=
'"' ? strtok(
nullptr,
"") : (
char*)args;
167 std::string guildName = guildStr;
174 return targetGuild->
AddMember(trans, targetGuid);
193 targetGuild->
DeleteMember(trans, targetGuid,
false,
true);
200 player = PlayerIdentifier::FromTargetOrSelf(handler);
220 char *args = (
char *)_args;
246 if (
sGuildMgr->GetGuildByName(newGuildStr))
253 if (!guild->
SetName(newGuildStr))
266 Guild* guild =
nullptr;
273 guild =
sGuildMgr->GetGuildByName(guildIdentifier->get<std::string_view>());
276 guild = target->GetConnectedPlayer()->GetGuild();
284 std::string guildMasterName;
289 char createdDateStr[20];
292 strftime(createdDateStr, 20,
"%Y-%m-%d %H:%M:%S", localtime_r(&createdDate, &localTm));
SQLTransaction< CharacterDatabaseConnection > CharacterDatabaseTransaction
@ LANG_GUILD_INFO_GUILD_MASTER
@ LANG_GUILD_INFO_BANK_GOLD
@ LANG_COMMAND_COULDNOTFIND
@ LANG_GUILD_INFO_EXTRA_INFO
@ LANG_GUILD_INFO_MEMBER_COUNT
@ LANG_GUILD_RENAME_ALREADY_EXISTS
@ LANG_GUILD_INFO_CREATION_DATE
std::optional< T > Optional
Optional helper class to wrap optional values within.
Role Based Access Control related classes definition.
char * extractQuotedArg(char *args)
void PSendSysMessage(const char *fmt, Args &&... args)
void SetSentErrorMessage(bool val)
virtual void SendSysMessage(std::string_view str, bool escapeCharacters=false)
bool extractPlayerTarget(char *args, Player **player, ObjectGuid *player_guid=nullptr, std::string *player_name=nullptr)
uint64 GetBankMoney() const
ObjectGuid GetLeaderGUID() const
ObjectGuid::LowType GetId() const
bool AddMember(CharacterDatabaseTransaction trans, ObjectGuid guid, Optional< GuildRankId > rankId={})
std::string const & GetName() const
bool SetName(std::string_view name)
bool ChangeMemberRank(CharacterDatabaseTransaction trans, ObjectGuid guid, GuildRankId newRank)
bool Create(Player *pLeader, std::string_view name)
time_t GetCreatedDate() const
bool DeleteMember(CharacterDatabaseTransaction trans, ObjectGuid guid, bool isDisbanding=false, bool isKicked=false)
std::string const & GetInfo() const
std::string const & GetMOTD() const
uint32 GetMembersCount() const
std::string ToString() const
ObjectGuid::LowType GetGuildId() const
std::vector< ChatCommand > GetCommands() const override
static bool HandleGuildCreateCommand(ChatHandler *handler, char const *args)
GM command level 3 - Create a guild.
static bool HandleGuildDeleteCommand(ChatHandler *handler, char const *args)
static bool HandleGuildInfoCommand(ChatHandler *handler, Optional< Variant< ObjectGuid::LowType, std::string_view > > const &guildIdentifier)
static bool HandleGuildUninviteCommand(ChatHandler *handler, char const *args)
static bool HandleGuildRenameCommand(ChatHandler *handler, char const *_args)
static bool HandleGuildRankCommand(ChatHandler *handler, Optional< PlayerIdentifier > player, uint8 rank)
static bool HandleGuildInviteCommand(ChatHandler *handler, char const *args)
void AddSC_guild_commandscript()
@ RBAC_PERM_COMMAND_GUILD_UNINVITE
@ RBAC_PERM_COMMAND_GUILD_INVITE
@ RBAC_PERM_COMMAND_GUILD
@ RBAC_PERM_COMMAND_GUILD_RANK
@ RBAC_PERM_COMMAND_GUILD_INFO
@ RBAC_PERM_COMMAND_GUILD_RENAME
@ RBAC_PERM_COMMAND_GUILD_CREATE
@ RBAC_PERM_COMMAND_GUILD_DELETE