private async Task SetExtinct(Species species, string reason) { // Ensure that the user has necessary privileges to use this command. if (!await BotUtils.ReplyHasPrivilegeOrOwnershipAsync(Context, PrivilegeLevel.ServerModerator, species)) { return; } await SpeciesUtils.SetExtinctionInfoAsync(species, new ExtinctionInfo { IsExtinct = true, Reason = reason, Timestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds() }); await BotUtils.ReplyAsync_Success(Context, string.Format( species.IsExtinct ? "Updated extinction details for **{0}**." : "The last **{0}** has perished, and the species is now extinct.", species.ShortName)); }
public async Task MinusExtinct(string genus, string species) { Species sp = await BotUtils.ReplyFindSpeciesAsync(Context, genus, species); if (sp is null) { return; } // If the species is not extinct, don't do anything. if (!sp.IsExtinct) { await BotUtils.ReplyAsync_Warning(Context, string.Format("**{0}** is not extinct.", sp.ShortName)); return; } // Delete the extinction from the database. await SpeciesUtils.SetExtinctionInfoAsync(sp, new ExtinctionInfo { IsExtinct = false }); await BotUtils.ReplyAsync_Success(Context, string.Format("A population of **{0}** has been discovered! The species is no longer considered extinct.", sp.ShortName)); }