private void OnChatInvite(SteamFriends.ChatInviteCallback callback) { // TODO: Is this needed? if (callback.InvitedID != kraxbot.SteamID) { return; } if (string.IsNullOrEmpty(callback.ChatRoomName)) { kraxbot.SendChatMessage(callback.FriendChatID, "Sorry, I can't (currently) join multi-user chats"); return; } var userID = callback.FriendChatID; var userName = kraxbot.GetFriendPersonaName(callback.FriendChatID); if (userID != kraxbot.KraxID && (callback.ChatRoomID == lastChatroom || userID == lastInviter)) { // Set as joining the chatroom joiningChatroom = callback.ChatRoomID; Kraxbot.Log($"Got invite to {callback.ChatRoomName} from {userName}"); kraxbot.JoinChatRoom(callback.ChatRoomID); lastInviter = userID; RegisterUserEvent(userID, UserEventType.Invite); RegisterGroupEvent(callback.ChatRoomID, GroupEventType.Invite); // Update names var settings = kraxbot.GetChatRoomSettings(callback.ChatRoomID); settings.InvitedID = callback.FriendChatID; if (kraxbot.TryGetFriendDetails(userID, out var friend)) { settings.InvitedName = friend.Name; } } else { Kraxbot.Log($"Got invited to recent chat from {userName}, declined"); kraxbot.SendChatMessage(userID, "Sorry, I can't enter this chat. This is either because I recently left it or because you are spamming invites to chats."); } }