/// <inheritdoc />
    public async Task <Result> RespondAsync(IMessageDelete gatewayEvent, CancellationToken ct = default)
    {
        var messageKey = KeyHelpers.CreateMessageCacheKey(gatewayEvent.ChannelID, gatewayEvent.ID);

        if (!_cache.TryGetValue(messageKey, out IMessage message))
        {
            return(Result.FromSuccess());
        }

        if (!gatewayEvent.GuildID.IsDefined(out var guildID))
        {
            return(Result.FromSuccess());
        }

        return(await _channelLogging.NotifyMessageDeletedAsync(message, guildID));
    }