/// <inheritdoc/> public Task <Result> RespondAsync(IMessageReactionAdd gatewayEvent, CancellationToken ct = default) { if (!gatewayEvent.GuildID.HasValue) { return(Task.FromResult(Result.FromSuccess())); } if (!gatewayEvent.Member.HasValue) { return(Task.FromResult(Result.FromSuccess())); } var member = gatewayEvent.Member.Value; if (!member.User.HasValue) { return(Task.FromResult(Result.FromSuccess())); } var key = KeyHelpers.CreateGuildMemberKey(gatewayEvent.GuildID.Value, member.User.Value.ID); _cacheService.Cache(key, member); return(Task.FromResult(Result.FromSuccess())); }
/// <inheritdoc /> public async Task <Result> RespondAsync(IMessageReactionAdd gatewayEvent, CancellationToken ct = default) { if (!gatewayEvent.GuildID.IsDefined(out var guildID)) { return(Result.FromSuccess()); } var user = gatewayEvent.UserID; return(await UpdateTimestampAndRelevantAutorolesAsync(guildID, user, ct)); }