36 std::string_view start = args.substr(0, sequence.length());
40 if (remainingToken.empty())
42 start = args.substr(0, sequence.length() + remainingToken.length());
51 if ((args[0] !=
'"') && (args[0] !=
'\''))
54 char const QUOTE = args[0];
55 for (
size_t i = 1; i < args.length(); ++i)
59 auto [remainingToken, tail] =
tokenize(args.substr(i + 1));
60 if (remainingToken.empty())
69 if (!(i < args.length()))
72 std::string::push_back(args[i]);
79 : _id(session.GetAccountId()), _name(session.GetAccountName()), _session(&session) {}
83 std::string_view text;
97 _session =
sWorld->FindSession(_id);
105 _session =
sWorld->FindSession(_id);
136 _name = _player->GetName();
146 _name.assign(val.
get<std::string_view>());
151 _guid = _player->GetGUID();
163 : _name(player.GetName()), _guid(player.GetGUID()), _player(&player) {}
#define STRING_VIEW_FMT_ARG(str)
@ LANG_CMDPARSER_ACCOUNT_NAME_NO_EXIST
@ LANG_CMDPARSER_CHAR_GUID_NO_EXIST
@ LANG_CMDPARSER_EXACT_SEQ_MISMATCH
@ LANG_CMDPARSER_ACCOUNT_ID_NO_EXIST
@ LANG_CMDPARSER_CHAR_NAME_INVALID
@ LANG_CMDPARSER_CHAR_NAME_NO_EXIST
@ LANG_CMDPARSER_INVALID_UTF8
bool normalizePlayerName(std::string &name)
std::optional< T > Optional
Optional helper class to wrap optional values within.
TC_COMMON_API bool StringEqualI(std::string_view str1, std::string_view str2)
bool Utf8ToUpperOnlyLatin(std::string &utf8String)
static uint32 GetId(std::string_view username)
static bool GetName(uint32 accountId, std::string &name)
Player * GetPlayer() const
Player * GetSelectedPlayer() const
Player session in the World.
TC_GAME_API Player * FindPlayerByName(std::string_view name)
TC_GAME_API Player * FindPlayerByLowGUID(ObjectGuid::LowType lowguid)
TokenizeResult tokenize(std::string_view args) noexcept
TC_GAME_API ChatCommandResult TryConsumExactSequencee(std::string_view sequence, ChatHandler const *handler, std::string_view args)
TC_GAME_API char const * GetTrinityString(ChatHandler const *handler, TrinityStrings which)
TC_GAME_API std::string FormatTrinityString(std::string_view messageFormat, fmt::printf_args messageFormatArgs)
AccountIdentifier()=default
static Optional< AccountIdentifier > FromTarget(ChatHandler *handler)
ChatCommandResult TryConsume(ChatHandler const *handler, std::string_view args)
PlayerIdentifier()=default
static Optional< PlayerIdentifier > FromTarget(ChatHandler *handler)
ChatCommandResult TryConsume(ChatHandler const *handler, std::string_view args)
static Optional< PlayerIdentifier > FromSelf(ChatHandler *handler)
TC_GAME_API ChatCommandResult TryConsume(ChatHandler const *handler, std::string_view args)
constexpr bool holds_alternative() const
constexpr decltype(auto) get()