diff --git a/src/core/message_queue.cpp b/src/core/message_queue.cpp index 9ca0c78..4d82088 100644 --- a/src/core/message_queue.cpp +++ b/src/core/message_queue.cpp @@ -106,9 +106,12 @@ void message_queue::run(bot::settings::settings *settings, submit_queue *submit_ auto translator = settings->get_translator(); if (const auto *direct_message = std::get_if(&message)) { + const std::lock_guard guard(*settings); + bot::settings::user *user = settings->get_user(direct_message->event.command.get_issuing_user().id); + std::string target = user ? user->target : "en"; translated_direct_message translated_message; translated_message.event = direct_message->event; - translated_message.message = translator->translate(direct_message->message, {}, "en"); + translated_message.message = translator->translate(direct_message->message, {}, target); submit_queue->add(std::move(translated_message)); } else if (const auto *guild_message = std::get_if(&message)) {