All tutorials
Unity, Photon, PlayFabIntermediate5 - 10 mins
Unity to Discord Photon Player Lobby Logger
Learn how to track photon players through discord webhooks and Playfab CloudScripts.
Published
Step 1: Create empty in unity and rename to what you like.
Step 2: Create new script and copy "Player Tracker" unity and put on the empty object
Step 3: ensure you have a playfablogin script. if not replace playfablogin with what you have your playfab logic as.
Step 4: Save and goto PlayFab revisions.
Step 5: Paste Revision Script into revisions.
Step 6: Enter your webhook url into the revisions.
Step 7: Save and Deploy.
Player Tracker Script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using PlayFab;
using PlayFab.ClientModels;
public class PlayerTracker : MonoBehaviour
{
public bool CanSend = true;
private Playfablogin playfablogin;
private string ID;
public void Start()
{
playfablogin = GetComponent<Playfablogin>();
}
void Update()
{
if (PhotonNetwork.CurrentRoom != null && CanSend)
{
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest()
{
FunctionName = "TrackPlayer",
FunctionParameter = new
{
PhotonName = PhotonNetwork.NickName,
RoomCode = PhotonNetwork.CurrentRoom.Name
}
}, ExecuteSuccess, ExecuteFail);
CanSend = false;
}
}
void ExecuteSuccess(ExecuteCloudScriptResult request)
{
Debug.Log(request.FunctionResult);
}
void ExecuteFail(PlayFabError error)
{
Debug.LogError(error);
}
public void OnPlayerLeftRoom()
{
CanSend = true;
}
}Revision Script:
handlers.TrackPlayer = function(args) {
var PhotonName = args.PhotonName;
var RoomCode = args.RoomCode;
var contentBody = {
"content": "```" + "A Player Has Joined a Room" + "\n" +
"PlayerName: " + PhotonName + "\n" +
"PlayerID: " + currentPlayerId + "\n" +
"RoomCode: "+ RoomCode + "```"
};
var url = "PUT DISCORD WEBHOOK HERE";
var method = "post";
var contentType = "application/json";
var headers = {};
var responseString = http.request(url,method,JSON.stringify(contentBody),contentType,headers);
}