using System.Text; using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.Networking; [InitializeOnLoad] public static class DiscordSceneNotifier { private const string WebhookUrl = "https://discord.com/api/webhooks/1486718530765328424/42mP_zYNTEwwBbc_lcuasPbpZppXoC4U14-Pde1YatdxatT5s9vml8lgQXTwAmm0PNe5"; static DiscordSceneNotifier() { EditorSceneManager.sceneOpened += OnSceneOpened; } private static void OnSceneOpened(UnityEngine.SceneManagement.Scene scene, UnityEditor.SceneManagement.OpenSceneMode mode) { string userName = System.Environment.UserName; string message = $"🚧 **Scene Locked**\n" + $"👤 User: **{userName}**\n" + $"🎮 Scene: **{scene.name}**"; SendDiscordMessage(message); } private static async void SendDiscordMessage(string content) { string json = JsonUtility.ToJson(new DiscordMessage { content = content }); using var request = new UnityWebRequest(WebhookUrl, "POST"); byte[] bodyRaw = Encoding.UTF8.GetBytes(json); request.uploadHandler = new UploadHandlerRaw(bodyRaw); request.downloadHandler = new DownloadHandlerBuffer(); request.SetRequestHeader("Content-Type", "application/json"); await request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) Debug.LogWarning("Discord webhook failed: " + request.error); } [System.Serializable] private class DiscordMessage { public string content; } }