internal Task InternalSetPresenceAsync(DiscordClientGateway gateway, UserStatus?status = default, Optional <LocalActivity> activity = default) { ThrowIfDisposed(); if (!status.HasValue && !activity.HasValue) { return(Task.CompletedTask); } if (status.HasValue) { gateway.SetStatus(status.Value); } if (activity.HasValue) { gateway.SetActivity(activity.Value); } return(gateway.SendPresenceAsync()); }