Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool ChatMessageCallback(AShooterPlayerController* _AShooterPlayerController, FString* Message, EChatSendMode::Type Mode, bool spam_check, bool command_executed)
- {
- try {
- if (spam_check || command_executed)
- return false;
- // process the message and relay
- long double lastChatMessageTime = 0;
- std::wstring msg;
- if (_AShooterPlayerController && Message && Mode == EChatSendMode::Type::GlobalTribeChat)
- {
- lastChatMessageTime = _AShooterPlayerController->LastChatMessageTimeField();
- msg = std::wstring(ArkApi::Tools::ConvertToWideStr(Message->ToString()));
- auto steamId = static_cast<int64>(ArkApi::GetApiUtils().GetSteamIdFromController(_AShooterPlayerController));
- auto playerName = GetPlayerName(_AShooterPlayerController);
- auto characterName = GetPlayerCharacterName(_AShooterPlayerController);
- auto tribeName = GetTribeName(_AShooterPlayerController);
- FString map;
- ArkApi::GetApiUtils().GetWorld()->GetMapName(&map);
- const std::wstring log = fmt::format(TEXT("{} - {}[{}]: {}"), map.ToString(), playerName, tribeName, msg);
- PostToDiscord(L"{{\"content\":\"```stylus\\n{}```\",\"username\":\"{}\",\"avatar_url\":null}}", log, discord_sender_name);
- }
- if (_AShooterPlayerController && Message && Mode == EChatSendMode::Type::AllianceChat)
- {
- lastChatMessageTime = _AShooterPlayerController->LastChatMessageTimeField();
- msg = std::wstring(ArkApi::Tools::ConvertToWideStr(Message->ToString()));
- auto steamId = static_cast<int64>(ArkApi::GetApiUtils().GetSteamIdFromController(_AShooterPlayerController));
- auto playerName = GetPlayerName(_AShooterPlayerController);
- auto characterName = GetPlayerCharacterName(_AShooterPlayerController);
- auto tribeName = GetTribeName(_AShooterPlayerController);
- FChatMessage chat_message = FChatMessage();
- chat_message.SenderName = *FString(playerName);
- chat_message.Message = *Message;
- FString map;
- ArkApi::GetApiUtils().GetWorld()->GetMapName(&map);
- const std::wstring log = fmt::format(TEXT("{} - {}[{}]: {}"), map.ToString(), playerName, tribeName, msg);
- PostToDiscord(L"{{\"content\":\"```stylus\\n{}```\",\"username\":\"{}\",\"avatar_url\":null}}", log, discord_sender_name_new);
- }
- }
- catch (const std::exception& error)
- {
- Log::GetLog()->error(error.what());
- throw;
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment