39#if TRINITY_COMPILER == TRINITY_COMPILER_GNU
40#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
49 std::span<ChatCommandBuilder const>
GetCommands()
const override
87 char* tailStr = *args !=
'"' ? strtok(
nullptr,
"") : (
char*)args;
95 std::string guildName = guildStr;
104 if (
sGuildMgr->GetGuildByName(guildName))
119 if (!guild->
Create(target, guildName))
141 std::string guildName = guildStr;
158 if (!handler->
extractPlayerTarget(*args !=
'"' ? (
char*)args :
nullptr,
nullptr, &targetGuid))
161 char* tailStr = *args !=
'"' ? strtok(
nullptr,
"") : (
char*)args;
169 std::string guildName = guildStr;
176 return targetGuild->
AddMember(trans, targetGuid);
195 targetGuild->
DeleteMember(trans, targetGuid,
false,
true);
222 char *args = (
char *)_args;
248 if (
sGuildMgr->GetGuildByName(newGuildStr))
255 if (!guild->
SetName(newGuildStr))
268 Guild* guild =
nullptr;
275 guild =
sGuildMgr->GetGuildByName(guildIdentifier->get<std::string_view>());
278 guild = target->GetConnectedPlayer()->GetGuild();
286 std::string guildMasterName;
291 char createdDateStr[20];
294 strftime(createdDateStr, 20,
"%Y-%m-%d %H:%M:%S", localtime_r(&createdDate, &localTm));
307 std::string_view titleAndSummaryColor = handler->
IsConsole() ?
""sv :
"|cff00ff00"sv;
308 std::string_view tableHeaderColor = handler->
IsConsole() ?
""sv :
"|cff00ffff"sv;
309 std::string_view resetColor = handler->
IsConsole() ?
""sv :
"|r"sv;
316 for (
auto const& [
id, g] : guildStore)
319 if (!
sCharacterCache->GetCharacterNameByGuid(g->GetLeaderGUID(), gmName))
324 g->GetName().c_str(),
327 g->GetMembersCount(),
328 g->GetBankMoney() /
GOLD
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.
std::string TimeToTimestampStr(time_t t)
char * extractQuotedArg(char *args)
void SetSentErrorMessage(bool val)
void PSendSysMessage(char const *fmt, Args &&... args)
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)
std::unordered_map< ObjectGuid::LowType, Trinity::unique_trackable_ptr< Guild > > GuildContainer
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
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 HandleGuildListCommand(ChatHandler *handler)
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)
std::span< ChatCommandBuilder const > GetCommands() const override
static bool HandleGuildRankCommand(ChatHandler *handler, Optional< PlayerIdentifier > player, uint8 rank)
static bool HandleGuildInviteCommand(ChatHandler *handler, char const *args)
void AddSC_guild_commandscript()
ChatCommandBuilder const [] ChatCommandTable
@ 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
static Optional< PlayerIdentifier > FromTargetOrSelf(ChatHandler *handler)