RustTip

OnPlayerOfflineChat

OxideCarbonPlayer

Called when a player offline chats.

void OnPlayerOfflineChat(ulong playerid, string username, string message, ConVar.Chat.ChatChannel channel)

Parameters

playerid
ulong
username
string
message
string
channel
ConVar.Chat.ChatChannel

Return value

voidBehaviour is not described.

Example

private void OnPlayerOfflineChat(ulong playerid, string username, string message, ConVar.Chat.ChatChannel channel)
{
    Puts("OnPlayerOfflineChat");
}

Works in both Oxide and Carbon: Carbon loads Oxide plugins as is.

Where it is called

Oxide core (Oxide.Rust)
RustCore::IOnPlayerChat(ulong playerId, string playerName, string message, Chat.ChatChannel channel, BasePlayer basePlayer)

Oxide core code — the hook is called from here

// …
    }

    message = message.EscapeRichText();

    // Check if using Rust+ app
    if (basePlayer == null || !basePlayer.IsConnected)
    {
        // Call offline chat hook
        return Interface.CallHook("OnPlayerOfflineChat", playerId, playerName, message, channel);
    }

    // Call hooks for plugins
    object chatSpecific = Interface.CallHook("OnPlayerChat", basePlayer, message, channel);
    object chatCovalence = Interface.CallHook("OnUserChat", basePlayer.IPlayer, message);
    return chatSpecific is null ? chatCovalence : chatSpecific;
}

Injection point

Carbon
Carbon.Core.CorePlugin.OnPlayerOfflineChat
Inside CarbonCarbon.Common

Sources: Rust.opj from OxideMod/Oxide.Rust (MIT) and hook metadata of the Carbon documentation (MIT). Method code is decompiled from this branch's server.