public static void AcceptFriendRequest(string notificationId) { if (!string.IsNullOrEmpty(notificationId)) { VRCApi.Request <ApiResponse>((response) => MainForm.Instance.OnAcceptFriendRequest(notificationId, response), $"auth/user/notifications/{notificationId}/accept", ApiMethod.PUT); } }
public static void DeclineFriendRequest(string notificationId) { if (!string.IsNullOrEmpty(notificationId)) { VRCApi.Request <ApiNotification>(MainForm.Instance.OnDeclineFriendRequest, $"auth/user/notifications/{notificationId}/hide", ApiMethod.PUT); } }
public static void CancelFriendRequest(string userId) { if (!string.IsNullOrEmpty(userId)) { VRCApi.Request <ApiResponse>((response) => MainForm.Instance.OnCancelFriendRequest(userId, response), $"user/{userId}/friendRequest", ApiMethod.DELETE); } }
// AddFriend public static void SendFriendRequest(string userId) { if (!string.IsNullOrEmpty(userId)) { VRCApi.Request <ApiNotification>((response) => MainForm.Instance.OnSendFriendRequest(userId, response), $"user/{userId}/friendRequest", ApiMethod.POST); } }
// LoadFriendStatus public static void CheckFriendStatus(string userId) { if (!string.IsNullOrEmpty(userId)) { VRCApi.Request <FriendStatus>((status) => MainForm.Instance.OnFriendStatus(userId, status), $"user/{userId}/friendStatus"); } }
// RemoveFriend public static void UnfriendUser(string userId) { if (!string.IsNullOrEmpty(userId)) { VRCApi.Request <ApiResponse>((response) => MainForm.Instance.OnUnfriendUser(userId, response), $"auth/user/friends/{userId}", ApiMethod.DELETE); } }
public static void Fetch(string id) { if (!string.IsNullOrEmpty(id)) { VRCApi.Request <ApiWorld>(MainForm.Instance.OnWorld, $"worlds/{id}"); } }
public static void FetchAllMine() { // VRCApi.Request<List<ApiPlayerModeration>>(MainForm.Instance.OnPlayerModerations, "auth/user/playermoderations"); VRCApi.Request <List <ApiPlayerModeration> >(MainForm.Instance.OnPlayerModerations, "auth/user/playermoderations?type=block"); VRCApi.Request <List <ApiPlayerModeration> >(MainForm.Instance.OnPlayerModerations, "auth/user/playermoderations?type=mute"); VRCApi.Request <List <ApiPlayerModeration> >(MainForm.Instance.OnPlayerModerations, "auth/user/playermoderations?type=hideAvatar"); }
public static void AssignToThisUser(string avatarId) { if (!string.IsNullOrEmpty(avatarId)) { VRCApi.Request <ApiUser>(MainForm.Instance.OnCurrentUser, $"avatars/{avatarId}/select", ApiMethod.PUT); } }
public static void Fetch(string id) { if (!string.IsNullOrEmpty(id)) { VRCApi.Request <ApiAvatar>(MainForm.Instance.OnAvatar, $"avatars/{id}"); } }
public static void Fetch(string id, object arg) { if (!string.IsNullOrEmpty(id)) { VRCApi.Request <ApiFile>((file) => MainForm.Instance.OnFile(arg, file), $"file/{id}"); } }
public static void RemoveFavorite(string objectId) { if (!string.IsNullOrEmpty(objectId)) { VRCApi.Request <ApiResponse>(MainForm.Instance.OnRemoveFavorite, $"favorites/{objectId}", ApiMethod.DELETE); } }
public static void SetStatus(string userId, string status, string statusDescription) { VRCApi.Request <ApiUser>(MainForm.Instance.OnSetStatus, $"users/{userId}", ApiMethod.PUT, new Dictionary <string, object>() { ["status"] = status, ["statusDescription"] = statusDescription }); }
public static void Fetch(string worldId, string instanceId) { if (!string.IsNullOrEmpty(worldId) && !string.IsNullOrEmpty(instanceId)) { VRCApi.Request <ApiWorldInstance>(MainForm.Instance.OnWorldInstance, $"worlds/{worldId}/{instanceId}"); } }
public static void FetchRecentList() { VRCApi.Request <List <ApiWorld> >(MainForm.Instance.OnWorlds, "worlds/recent", ApiMethod.GET, new Dictionary <string, object> { ["n"] = 100, ["offset"] = 0, ["releaseStatus"] = "all" }); }
public static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); LocalConfig.LoadConfig(); VRCApi.LoadCookie(); Application.Run(new MainForm()); VRCApi.SaveCookie(); LocalConfig.SaveConfig(); }
public static void SendModeration(string targetUserId, ModerationType type) { if (!string.IsNullOrEmpty(targetUserId)) { VRCApi.Request <ApiPlayerModeration>(MainForm.Instance.OnSendModeration, "auth/user/playermoderations", ApiMethod.POST, new Dictionary <string, object> { ["moderated"] = targetUserId, ["type"] = ModerationTypeToAPIString(type) }); } }
public static void DeleteModeration(string targetUserId, ModerationType type) { if (!string.IsNullOrEmpty(targetUserId)) { VRCApi.Request <ApiResponse>(MainForm.Instance.OnDeleteModeration, "auth/user/unplayermoderate", ApiMethod.PUT, new Dictionary <string, object> { ["moderated"] = targetUserId, ["type"] = ModerationTypeToAPIString(type) }); } }
public static void FetchMyList() { VRCApi.Request <List <ApiWorld> >(MainForm.Instance.OnWorlds, "worlds", ApiMethod.GET, new Dictionary <string, object> { ["n"] = 100, ["offset"] = 0, ["user"] = "******", ["sort"] = "updated", ["order"] = "descending", ["releaseStatus"] = "all" }); }
public static void FetchUsers(string search) { if (!string.IsNullOrEmpty(search)) { VRCApi.Request <List <ApiUser> >(MainForm.Instance.OnUsers, "users", ApiMethod.GET, new Dictionary <string, object> { ["n"] = 25, ["offset"] = 0, ["search"] = search }); } }
public static void SendMessage(string userId, string message) { if (!string.IsNullOrEmpty(userId) && !string.IsNullOrEmpty(message)) { // ApiNotification이긴한데 오류가 나길래 귀찮아서 걍 함 VRCApi.Request <ApiResponse>((response) => MainForm.Instance.OnSendMessage(userId, response), $"user/{userId}/message", ApiMethod.POST, new Dictionary <string, object> { ["type"] = "message", ["message"] = message }); } }
private void button_login_Click(object sender, EventArgs e) { if (Enabled) { var username = textbox_username.Text; var password = textbox_password.Text; if (!(string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))) { Enabled = false; VRCApi.Login(username, password); } } }
private static void FetchAll(Action <List <ApiNotification> > callback, Dictionary <string, object> param, int count = 100, int offset = 0) { param["n"] = count; param["offset"] = offset; VRCApi.Request <List <ApiNotification> >((list) => { if (list.Count == count) { FetchAll(callback, param, count, offset + count); } callback.Invoke(list); }, "auth/user/notifications", ApiMethod.GET, param); }
private static void FetchList(Action <List <ApiAvatar> > callback, Dictionary <string, object> param, int count = 100, int offset = 0) { param["n"] = count; param["offset"] = offset; VRCApi.Request <List <ApiAvatar> >((list) => { if (list.Count == count && offset + count < 500) { FetchList(callback, param, count, offset + count); } callback.Invoke(list); }, "avatars", ApiMethod.GET, param); }
public static void FetchList(FavoriteType type, string tags = null) { var param = new Dictionary <string, object> { ["n"] = 100, ["type"] = type.ToString().ToLower() }; if (!string.IsNullOrEmpty(tags)) { param["tags"] = tags; } VRCApi.Request <List <ApiFavorite> >((list) => MainForm.Instance.OnFavorites(type, list), "favorites", ApiMethod.GET, param); }
public static void FetchList(string search) { if (!string.IsNullOrEmpty(search)) { VRCApi.Request <List <ApiWorld> >(MainForm.Instance.OnWorlds, "worlds", ApiMethod.GET, new Dictionary <string, object> { ["n"] = 100, ["offset"] = 0, ["sort"] = "popularity", ["order"] = "descending", ["search"] = search, ["releaseStatus"] = "public" }); } }
public static void FetchListByUser(string userId) { if (!string.IsNullOrEmpty(userId)) { VRCApi.Request <List <ApiWorld> >(MainForm.Instance.OnWorlds, "worlds", ApiMethod.GET, new Dictionary <string, object> { ["n"] = 100, ["offset"] = 0, ["userId"] = userId, ["sort"] = "updated", ["order"] = "descending", ["releaseStatus"] = "public" }); } }
public static void AddFavorite(string objectId, FavoriteType type, string tags = null) { if (!string.IsNullOrEmpty(objectId)) { var param = new Dictionary <string, object>() { ["type"] = type.ToString().ToLower(), ["favoriteId"] = objectId }; if (!string.IsNullOrEmpty(tags)) { param["tags"] = tags; } VRCApi.Request <ApiFavorite>(MainForm.Instance.OnAddFavorite, "favorites", ApiMethod.POST, param); } }
private void button_login_with_steam_Click(object sender, EventArgs e) { if (Enabled) { if (VRChatRPC.Update()) { Enabled = false; VRCApi.ThridPartyLogin("steam", new Dictionary <string, object> { ["steamTicket"] = VRChatRPC.GetAuthSessionTicket() }); } else { MessageBox.Show("Login via Steam failed, It only works when VRChat is running.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public static void FetchAllAgainstMe() { VRCApi.Request <List <ApiPlayerModeration> >(MainForm.Instance.OnPlayerModerationsAgainstMe, "auth/user/playermoderated"); }