public async Task <IMessage> GetIntroduction(IGuild guild, IUser user) { var dbIntroKey = Keys.UserIntroduction(guild, user); var id = await _database.GetValue <ulong>(dbIntroKey); if (!id.HasValue) { return(null); } var channel = await GetChannel(guild); if (channel == null) { return(null); } var message = await channel.GetMessageAsync(id.Value); if (message == null) { await _database.RemoveKey(dbIntroKey); } return(message); }