private async Task OnGuildCreate(DiscordGuildPacket guild) { var managedGuild = new DiscordGuild(guild, client); guildCreate.OnNext(managedGuild); if (!await cacheHandler.HasGuildAsync(guild.Id) && !(guild.Unavailable ?? true)) { guildJoin.OnNext(managedGuild); } else { guildAvailable.OnNext(managedGuild); } }