![]() |
TrinityCore
|
Inheritance diagram for account_commandscript:Public Member Functions | |
| account_commandscript () | |
| std::span< ChatCommandBuilder const > | GetCommands () const override |
Public Member Functions inherited from CommandScript | |
| ~CommandScript () | |
Public Member Functions inherited from ScriptObject | |
| ScriptObject (ScriptObject const &right)=delete | |
| ScriptObject (ScriptObject &&right)=delete | |
| ScriptObject & | operator= (ScriptObject const &right)=delete |
| ScriptObject & | operator= (ScriptObject &&right)=delete |
| std::string const & | GetName () const |
Static Public Member Functions | |
| static bool | HandleAccount2FASetupCommand (ChatHandler *handler, Optional< uint32 > token) |
| static bool | HandleAccount2FARemoveCommand (ChatHandler *handler, Optional< uint32 > token) |
| static bool | HandleAccountAddonCommand (ChatHandler *handler, uint8 expansion) |
| static bool | HandleAccountCreateCommand (ChatHandler *handler, std::string const &accountName, std::string const &password, Optional< std::string > const &email) |
| Create an account. | |
| static bool | HandleAccountDeleteCommand (ChatHandler *handler, std::string &accountName) |
| static bool | HandleAccountOnlineListCommand (ChatHandler *handler) |
| Display info on users currently in the realm. | |
| static bool | HandleAccountOnlineListWithIpFilterCommand (ChatHandler *handler, std::string_view ipAddress) |
| static bool | HandleAccountOnlineListWithLimitCommand (ChatHandler *handler, uint32 limit) |
| static bool | HandleAccountOnlineListWithMapFilterCommand (ChatHandler *handler, uint32 mapId) |
| static bool | HandleAccountOnlineListWithZoneFilterCommand (ChatHandler *handler, uint32 zoneId) |
| static bool | HandleAccountOnlineListCommandWithParameters (ChatHandler *handler, Optional< std::string_view > const &ipAddress, Optional< uint32 > limit, Optional< uint32 > mapId, Optional< uint32 > zoneId) |
| static bool | HandleAccountLockCountryCommand (ChatHandler *handler, bool state) |
| static bool | HandleAccountLockIpCommand (ChatHandler *handler, bool state) |
| static bool | HandleAccountEmailCommand (ChatHandler *handler, std::string const &oldEmail, std::string const &password, std::string const &email, std::string const &emailConfirm) |
| static bool | HandleAccountPasswordCommand (ChatHandler *handler, std::string const &oldPassword, std::string const &newPassword, std::string const &confirmPassword, Optional< std::string > const &confirmEmail) |
| static bool | HandleAccountCommand (ChatHandler *handler) |
| static bool | HandleAccountSetAddonCommand (ChatHandler *handler, Optional< std::string > &accountName, uint8 expansion) |
| Set/Unset the expansion level for an account. | |
| static bool | HandleAccountSetSecLevelCommand (ChatHandler *handler, Optional< std::string > &accountName, uint8 securityLevel, Optional< int32 > realmId) |
| static bool | HandleAccountSetPasswordCommand (ChatHandler *handler, std::string &accountName, std::string const &password, std::string const &confirmPassword) |
| Set password for account. | |
| static bool | HandleAccountSet2FACommand (ChatHandler *handler, std::string &accountName, std::string_view secret) |
| static bool | HandleAccountSetEmailCommand (ChatHandler *handler, std::string &accountName, std::string const &email, std::string const &confirmEmail) |
| Set normal email for account. | |
| static bool | HandleAccountSetRegEmailCommand (ChatHandler *handler, std::string &accountName, std::string const &email, std::string const &confirmEmail) |
| Change registration email for account. | |
Additional Inherited Members | |
Protected Member Functions inherited from CommandScript | |
| CommandScript (char const *name) noexcept | |
Protected Member Functions inherited from ScriptObject | |
| ScriptObject (char const *name) noexcept | |
| virtual | ~ScriptObject () |
Definition at line 46 of file cs_account.cpp.
|
inline |
Definition at line 49 of file cs_account.cpp.
|
inlineoverridevirtual |
Implements CommandScript.
Definition at line 51 of file cs_account.cpp.
References HandleAccount2FARemoveCommand(), HandleAccount2FASetupCommand(), HandleAccountAddonCommand(), HandleAccountCommand(), HandleAccountCreateCommand(), HandleAccountDeleteCommand(), HandleAccountEmailCommand(), HandleAccountLockCountryCommand(), HandleAccountLockIpCommand(), HandleAccountOnlineListCommand(), HandleAccountOnlineListWithIpFilterCommand(), HandleAccountOnlineListWithLimitCommand(), HandleAccountOnlineListWithMapFilterCommand(), HandleAccountOnlineListWithZoneFilterCommand(), HandleAccountPasswordCommand(), HandleAccountSet2FACommand(), HandleAccountSetAddonCommand(), HandleAccountSetEmailCommand(), HandleAccountSetPasswordCommand(), HandleAccountSetRegEmailCommand(), HandleAccountSetSecLevelCommand(), LANG_COMMAND_ACC_2FA_REMOVE_HELP, LANG_COMMAND_ACC_2FA_SETUP_HELP, LANG_COMMAND_ACC_ADDON_HELP, LANG_COMMAND_ACC_CREATE_HELP, LANG_COMMAND_ACC_DELETE_HELP, LANG_COMMAND_ACC_EMAIL_HELP, LANG_COMMAND_ACC_LOCK_COUNTRY_HELP, LANG_COMMAND_ACC_LOCK_IP_HELP, LANG_COMMAND_ACC_ONLINELIST_HELP, LANG_COMMAND_ACC_PASSWORD_HELP, LANG_COMMAND_ACC_SET_2FA_HELP, LANG_COMMAND_ACC_SET_ADDON_HELP, LANG_COMMAND_ACC_SET_PASSWORD_HELP, LANG_COMMAND_ACC_SET_SEC_EMAIL_HELP, LANG_COMMAND_ACC_SET_SEC_REGMAIL_HELP, LANG_COMMAND_ACC_SET_SECLEVEL_HELP, LANG_COMMAND_ACCOUNT_HELP, rbac::RBAC_PERM_COMMAND_ACCOUNT, rbac::RBAC_PERM_COMMAND_ACCOUNT_2FA_REMOVE, rbac::RBAC_PERM_COMMAND_ACCOUNT_2FA_SETUP, rbac::RBAC_PERM_COMMAND_ACCOUNT_ADDON, rbac::RBAC_PERM_COMMAND_ACCOUNT_CREATE, rbac::RBAC_PERM_COMMAND_ACCOUNT_DELETE, rbac::RBAC_PERM_COMMAND_ACCOUNT_EMAIL, rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK_COUNTRY, rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK_IP, rbac::RBAC_PERM_COMMAND_ACCOUNT_ONLINE_LIST, rbac::RBAC_PERM_COMMAND_ACCOUNT_PASSWORD, rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_2FA, rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_ADDON, rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_PASSWORD, rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC_EMAIL, rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC_REGMAIL, and rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SECLEVEL.
|
inlinestatic |
Definition at line 157 of file cs_account.cpp.
References WorldSession::GetAccountId(), Field::GetBinary(), ChatHandler::GetSession(), Field::IsNull(), LANG_2FA_COMMANDS_NOT_SETUP, LANG_2FA_INVALID_TOKEN, LANG_2FA_NOT_SETUP, LANG_2FA_REMOVE_COMPLETE, LANG_2FA_REMOVE_NEED_TOKEN, LANG_UNKNOWN_ERROR, LOGIN_SEL_ACCOUNT_TOTP_SECRET, LOGIN_UPD_ACCOUNT_TOTP_SECRET, LoginDatabase, SECRET_TOTP_MASTER_KEY, ChatHandler::SendSysMessage(), PreparedStatementBase::setNull(), ChatHandler::SetSentErrorMessage(), PreparedStatementBase::setUInt32(), sSecretMgr, TC_LOG_ERROR, and Trinity::Crypto::TOTP::ValidateToken().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 93 of file cs_account.cpp.
References Trinity::Encoding::Base32::Encode(), WorldSession::GetAccountId(), Trinity::Crypto::GetRandomBytes(), ChatHandler::GetSession(), LANG_2FA_ALREADY_SETUP, LANG_2FA_COMMANDS_NOT_SETUP, LANG_2FA_INVALID_TOKEN, LANG_2FA_SECRET_SUGGESTION, LANG_2FA_SETUP_COMPLETE, LANG_UNKNOWN_ERROR, LOGIN_SEL_ACCOUNT_TOTP_SECRET, LOGIN_UPD_ACCOUNT_TOTP_SECRET, LoginDatabase, ChatHandler::PSendSysMessage(), Trinity::Crypto::TOTP::RECOMMENDED_SECRET_LENGTH, SECRET_TOTP_MASTER_KEY, ChatHandler::SendSysMessage(), PreparedStatementBase::setBinary(), ChatHandler::SetSentErrorMessage(), PreparedStatementBase::setUInt32(), sSecretMgr, TC_LOG_ERROR, and Trinity::Crypto::TOTP::ValidateToken().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 225 of file cs_account.cpp.
References CONFIG_EXPANSION, WorldSession::GetAccountId(), ChatHandler::GetSession(), LANG_ACCOUNT_ADDON, LANG_IMPROPER_VALUE, LOGIN_UPD_EXPANSION, LoginDatabase, ChatHandler::PSendSysMessage(), ChatHandler::SendSysMessage(), ChatHandler::SetSentErrorMessage(), PreparedStatementBase::setUInt32(), PreparedStatementBase::setUInt8(), and sWorld.
Referenced by GetCommands().
|
inlinestatic |
Definition at line 615 of file cs_account.cpp.
References CONFIG_ACC_PASSCHANGESEC, WorldSession::GetAccountId(), WorldSession::GetSecurity(), ChatHandler::GetSession(), ChatHandler::HasPermission(), LANG_ACCOUNT_LEVEL, LANG_ACCOUNT_SEC_TYPE, LANG_COMMAND_EMAIL_OUTPUT, LANG_RBAC_EMAIL_REQUIRED, LOGIN_GET_EMAIL_BY_ID, LoginDatabase, ChatHandler::PSendSysMessage(), PW_EMAIL, PW_NONE, PW_RBAC, rbac::RBAC_PERM_EMAIL_CONFIRM_FOR_PASS_CHANGE, rbac::RBAC_PERM_MAY_CHECK_OWN_EMAIL, PreparedStatementBase::setUInt32(), and sWorld.
Referenced by GetCommands().
|
inlinestatic |
Create an account.
Definition at line 246 of file cs_account.cpp.
References AOR_DB_INTERNAL_ERROR, AOR_NAME_ALREADY_EXIST, AOR_NAME_TOO_LONG, AOR_OK, AOR_PASS_TOO_LONG, CONFIG_EXTENDED_ACCOUNT_NAME_LENGTH_LIMIT, WorldSession::GetAccountId(), BaseEntity::GetGUID(), WorldObject::GetName(), WorldSession::GetPlayer(), WorldSession::GetRemoteAddress(), ChatHandler::GetSession(), LANG_ACCOUNT_ALREADY_EXIST, LANG_ACCOUNT_CREATED, LANG_ACCOUNT_NAME_TOO_LONG, LANG_ACCOUNT_NOT_CREATED, LANG_ACCOUNT_NOT_CREATED_SQL_ERROR, LANG_ACCOUNT_PASS_TOO_LONG, LANG_ACCOUNT_USE_BNET_COMMANDS, MAX_ACCOUNT_STR, ChatHandler::PSendSysMessage(), sAccountMgr, ChatHandler::SendSysMessage(), ChatHandler::SetSentErrorMessage(), sWorld, TC_LOG_INFO, and ObjectGuid::ToString().
Referenced by GetCommands().
|
inlinestatic |
Delete a user account and all associated characters in this realm
Commands not recommended call from chat, but support anyway can delete only for account with less security This is also reject self apply in fact
Definition at line 294 of file cs_account.cpp.
References AOR_DB_INTERNAL_ERROR, AOR_NAME_NOT_EXIST, AOR_OK, AccountMgr::DeleteAccount(), AccountMgr::GetId(), ChatHandler::HasLowerSecurityAccount(), LANG_ACCOUNT_DELETED, LANG_ACCOUNT_NOT_DELETED, LANG_ACCOUNT_NOT_DELETED_SQL_ERROR, LANG_ACCOUNT_NOT_EXIST, ChatHandler::PSendSysMessage(), ChatHandler::SetSentErrorMessage(), and Utf8ToUpperOnlyLatin().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 481 of file cs_account.cpp.
References AOR_EMAIL_TOO_LONG, AOR_OK, AccountMgr::ChangeEmail(), AccountMgr::CheckEmail(), AccountMgr::CheckPassword(), WorldSession::GetAccountId(), BaseEntity::GetGUID(), WorldObject::GetName(), WorldSession::GetPlayer(), WorldSession::GetRemoteAddress(), ChatHandler::GetSession(), LANG_COMMAND_EMAIL, LANG_COMMAND_NOTCHANGEEMAIL, LANG_COMMAND_WRONGEMAIL, LANG_COMMAND_WRONGOLDPASSWORD, LANG_EMAIL_TOO_LONG, LANG_NEW_EMAILS_NOT_MATCH, LANG_OLD_EMAIL_IS_NEW_EMAIL, ChatHandler::SendSysMessage(), ChatHandler::SetSentErrorMessage(), sScriptMgr, TC_LOG_INFO, and ObjectGuid::ToString().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 430 of file cs_account.cpp.
References WorldSession::GetAccountId(), WorldSession::GetRemoteAddress(), ChatHandler::GetSession(), LANG_COMMAND_ACCLOCKLOCKED, LANG_COMMAND_ACCLOCKUNLOCKED, LOGIN_UPD_ACCOUNT_LOCK_COUNTRY, LoginDatabase, ChatHandler::PSendSysMessage(), ChatHandler::SetSentErrorMessage(), PreparedStatementBase::setString(), PreparedStatementBase::setUInt32(), and sIPLocation.
Referenced by GetCommands().
|
inlinestatic |
Definition at line 460 of file cs_account.cpp.
References WorldSession::GetAccountId(), ChatHandler::GetSession(), LANG_COMMAND_ACCLOCKLOCKED, LANG_COMMAND_ACCLOCKUNLOCKED, LOGIN_UPD_ACCOUNT_LOCK, LoginDatabase, ChatHandler::PSendSysMessage(), PreparedStatementBase::setBool(), and PreparedStatementBase::setUInt32().
Referenced by GetCommands().
|
inlinestatic |
Display info on users currently in the realm.
Definition at line 341 of file cs_account.cpp.
References HandleAccountOnlineListCommandWithParameters().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 366 of file cs_account.cpp.
References WorldSession::GetAccountExpansion(), WorldSession::GetAccountName(), WorldLocation::GetMapId(), WorldSession::GetPlayer(), WorldSession::GetPlayerName(), WorldSession::GetRemoteAddress(), WorldSession::GetSecurity(), WorldObject::GetZoneId(), LANG_ACCOUNT_LIST_BAR, LANG_ACCOUNT_LIST_BAR_HEADER, LANG_ACCOUNT_LIST_EMPTY, LANG_ACCOUNT_LIST_HEADER, LANG_ACCOUNT_LIST_LINE, ChatHandler::PSendSysMessage(), ChatHandler::SendSysMessage(), and sWorld.
Referenced by HandleAccountOnlineListCommand(), HandleAccountOnlineListWithIpFilterCommand(), HandleAccountOnlineListWithLimitCommand(), HandleAccountOnlineListWithMapFilterCommand(), and HandleAccountOnlineListWithZoneFilterCommand().
|
inlinestatic |
Definition at line 346 of file cs_account.cpp.
References HandleAccountOnlineListCommandWithParameters().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 351 of file cs_account.cpp.
References HandleAccountOnlineListCommandWithParameters().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 356 of file cs_account.cpp.
References HandleAccountOnlineListCommandWithParameters().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 361 of file cs_account.cpp.
References HandleAccountOnlineListCommandWithParameters().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 550 of file cs_account.cpp.
References AOR_OK, AOR_PASS_TOO_LONG, AccountMgr::ChangePassword(), AccountMgr::CheckEmail(), AccountMgr::CheckPassword(), CONFIG_ACC_PASSCHANGESEC, WorldSession::GetAccountId(), BaseEntity::GetGUID(), WorldObject::GetName(), WorldSession::GetPlayer(), WorldSession::GetRemoteAddress(), ChatHandler::GetSession(), ChatHandler::HasPermission(), LANG_COMMAND_NOTCHANGEPASSWORD, LANG_COMMAND_PASSWORD, LANG_COMMAND_WRONGEMAIL, LANG_COMMAND_WRONGOLDPASSWORD, LANG_NEW_PASSWORDS_NOT_MATCH, LANG_PASSWORD_TOO_LONG, PW_EMAIL, PW_RBAC, rbac::RBAC_PERM_EMAIL_CONFIRM_FOR_PASS_CHANGE, ChatHandler::SendSysMessage(), ChatHandler::SetSentErrorMessage(), sScriptMgr, sWorld, TC_LOG_INFO, and ObjectGuid::ToString().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 844 of file cs_account.cpp.
References Trinity::Encoding::Base32::Decode(), AccountMgr::GetId(), ChatHandler::HasLowerSecurityAccount(), Trinity::Crypto::AES::IV_SIZE_BYTES, LANG_2FA_COMMANDS_NOT_SETUP, LANG_2FA_REMOVE_COMPLETE, LANG_2FA_SECRET_INVALID, LANG_2FA_SECRET_SET_COMPLETE, LANG_2FA_SECRET_TOO_LONG, LANG_ACCOUNT_NOT_EXIST, LOGIN_UPD_ACCOUNT_TOTP_SECRET, LoginDatabase, ChatHandler::PSendSysMessage(), SECRET_TOTP_MASTER_KEY, ChatHandler::SendSysMessage(), PreparedStatementBase::setBinary(), PreparedStatementBase::setNull(), ChatHandler::SetSentErrorMessage(), PreparedStatementBase::setUInt32(), sSecretMgr, Trinity::Crypto::AES::TAG_SIZE_BYTES, and Utf8ToUpperOnlyLatin().
Referenced by GetCommands().
|
inlinestatic |
Set/Unset the expansion level for an account.
Definition at line 651 of file cs_account.cpp.
References CONFIG_EXPANSION, WorldSession::GetAccountId(), AccountMgr::GetId(), AccountMgr::GetName(), ChatHandler::getSelectedPlayer(), ChatHandler::GetSession(), Player::GetSession(), ChatHandler::HasLowerSecurityAccount(), LANG_ACCOUNT_NOT_EXIST, LANG_ACCOUNT_SETADDON, LOGIN_UPD_EXPANSION, LoginDatabase, ChatHandler::PSendSysMessage(), ChatHandler::SetSentErrorMessage(), PreparedStatementBase::setUInt32(), PreparedStatementBase::setUInt8(), sWorld, and Utf8ToUpperOnlyLatin().
Referenced by GetCommands().
|
inlinestatic |
Set normal email for account.
can set email only for target with less security This also restricts setting handler's own email.
Definition at line 908 of file cs_account.cpp.
References AOR_EMAIL_TOO_LONG, AOR_NAME_NOT_EXIST, AOR_OK, AccountMgr::ChangeEmail(), AccountMgr::GetId(), ChatHandler::HasLowerSecurityAccount(), LANG_ACCOUNT_NOT_EXIST, LANG_COMMAND_EMAIL, LANG_COMMAND_NOTCHANGEEMAIL, LANG_EMAIL_TOO_LONG, LANG_NEW_EMAILS_NOT_MATCH, ChatHandler::PSendSysMessage(), ChatHandler::SendSysMessage(), ChatHandler::SetSentErrorMessage(), TC_LOG_INFO, and Utf8ToUpperOnlyLatin().
Referenced by GetCommands().
|
inlinestatic |
Set password for account.
can set password only for target with less security This also restricts setting handler's own password
Definition at line 793 of file cs_account.cpp.
References AOR_NAME_NOT_EXIST, AOR_OK, AOR_PASS_TOO_LONG, AccountMgr::ChangePassword(), AccountMgr::GetId(), ChatHandler::HasLowerSecurityAccount(), LANG_ACCOUNT_NOT_EXIST, LANG_COMMAND_NOTCHANGEPASSWORD, LANG_COMMAND_PASSWORD, LANG_NEW_PASSWORDS_NOT_MATCH, LANG_PASSWORD_TOO_LONG, ChatHandler::PSendSysMessage(), ChatHandler::SendSysMessage(), ChatHandler::SetSentErrorMessage(), and Utf8ToUpperOnlyLatin().
Referenced by GetCommands().
|
inlinestatic |
Change registration email for account.
can set email only for target with less security This also restricts setting handler's own email.
Definition at line 963 of file cs_account.cpp.
References AOR_EMAIL_TOO_LONG, AOR_NAME_NOT_EXIST, AOR_OK, AccountMgr::ChangeRegEmail(), AccountMgr::GetId(), ChatHandler::HasLowerSecurityAccount(), LANG_ACCOUNT_NOT_EXIST, LANG_COMMAND_EMAIL, LANG_COMMAND_NOTCHANGEEMAIL, LANG_EMAIL_TOO_LONG, LANG_NEW_EMAILS_NOT_MATCH, ChatHandler::PSendSysMessage(), ChatHandler::SendSysMessage(), ChatHandler::SetSentErrorMessage(), TC_LOG_INFO, and Utf8ToUpperOnlyLatin().
Referenced by GetCommands().
|
inlinestatic |
Definition at line 702 of file cs_account.cpp.
References WorldSession::GetAccountId(), AccountMgr::GetId(), AccountMgr::GetName(), WorldSession::GetRBACData(), AccountMgr::GetSecurity(), ChatHandler::getSelectedPlayer(), ChatHandler::GetSession(), Player::GetSession(), ChatHandler::IsConsole(), AccountMgr::IsConsoleAccount(), LANG_ACCOUNT_NOT_EXIST, LANG_BAD_VALUE, LANG_INVALID_REALMID, LANG_YOU_CHANGE_SECURITY, LANG_YOURS_SECURITY_IS_LOW, LOGIN_SEL_ACCOUNT_ACCESS_SECLEVEL_TEST, LoginDatabase, ChatHandler::PSendSysMessage(), sAccountMgr, SEC_CONSOLE, ChatHandler::SendSysMessage(), ChatHandler::SetSentErrorMessage(), PreparedStatementBase::setUInt32(), PreparedStatementBase::setUInt8(), sWorld, and Utf8ToUpperOnlyLatin().
Referenced by GetCommands().