private static void OpenActivityInviteCallbackImpl(IntPtr ptr, Result result)
        {
            GCHandle h = GCHandle.FromIntPtr(ptr);
            OpenActivityInviteHandler callback = (OpenActivityInviteHandler)h.Target;

            h.Free();
            callback(result);
        }
        /// <summary>
        ///     Opens the overlay modal for sending game invitations to users, channels, and servers. If you do not have a valid
        ///     activity with all the required fields, this call will error.
        ///     See
        ///     <a href="https://discord.com/developers/docs/game-sdk/activities#activity-action-field-requirements">
        ///         Activity Action Field Requirements
        ///     </a>
        ///     for the fields required to have join and spectate invites function properly.
        /// </summary>
        /// <param name="type"></param>
        /// <param name="callback"></param>
        public void OpenActivityInvite(ActivityActionType type, OpenActivityInviteHandler callback)
        {
            GCHandle wrapped = GCHandle.Alloc(callback);

            Methods.OpenActivityInvite(methodsPtr, type, GCHandle.ToIntPtr(wrapped), OpenActivityInviteCallbackImpl);
        }