diff --git a/data/sql/updates/pending_db_world/rev_1705791671858497500.sql b/data/sql/updates/pending_db_world/rev_1705791671858497500.sql new file mode 100644 index 000000000..cf32a477d --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1705791671858497500.sql @@ -0,0 +1,2 @@ +-- +UPDATE `command` SET `help`='Syntax: .server set motd Optional($realmId) $MOTD\r\n\r\nSet server Message of the day for the specified $realmId.\r\nIf $realmId is not provided it will update for the current realm.' WHERE `name`='server set motd'; diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp index 6dc033cfa..25adccc20 100644 --- a/src/server/scripts/Commands/cs_server.cpp +++ b/src/server/scripts/Commands/cs_server.cpp @@ -514,40 +514,32 @@ public: } // Define the 'Message of the day' for the realm - static bool HandleServerSetMotdCommand(ChatHandler* handler, std::string realmId, Tail motd) + static bool HandleServerSetMotdCommand(ChatHandler* handler, Optional realmId, Tail motd) { std::wstring wMotd = std::wstring(); std::string strMotd = std::string(); - if (realmId.empty()) - { - return false; - } + if (!realmId) + realmId = static_cast(realm.Id.Realm); if (motd.empty()) - { return false; - } if (!Utf8toWStr(motd, wMotd)) - { return false; - } if (!WStrToUtf8(wMotd, strMotd)) - { return false; - } LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction(); LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_REP_MOTD); - stmt->SetData(0, Acore::StringTo(realmId).value()); + stmt->SetData(0, realmId.value()); stmt->SetData(1, strMotd); trans->Append(stmt); LoginDatabase.CommitTransaction(trans); sMotdMgr->LoadMotd(); - handler->PSendSysMessage(LANG_MOTD_NEW, Acore::StringTo(realmId).value(), strMotd); + handler->PSendSysMessage(LANG_MOTD_NEW, realmId.value(), strMotd); return true; }