public async Task SetUserTimezone(CommandContext context, string timezoneName) { var timezone = TimezoneHelper.Find(timezoneName); if (timezone != null) { var now = Instant.FromDateTimeUtc(DateTime.UtcNow); this._repository.SetUserTimezone(context.User.Id, timezone); await context.RespondAsync($"Saved {timezone.Id}: {timezone.GetUtcOffset(now).ToTimeSpan()}"); } else { await context.RespondAsync("Use a timezone from this list: <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>"); } return; }
public async Task ConvertTime( CommandContext context, [Description("Name of the timezone")] string timezoneName ) { var timezone = TimezoneHelper.Find(timezoneName); if (timezone == null) { return; } var zonedDateTime = Instant.FromDateTimeUtc(DateTime.UtcNow).InZone(timezone); var embed = new DiscordEmbedBuilder() .WithColor(DiscordColor.None) .WithFooter($"Current time: {zonedDateTime:yyyy-MM-dd HH:mm} {timezone.Id}") .WithTimestamp(zonedDateTime.ToDateTimeUtc()) .Build(); await context.RespondAsync(embed : embed); }
public async Task ConvertTime(CommandContext context, [Description("Time (or date and time) you want to convert.")] DateTime datetime, [Description("Name of the timezone.")] string timezoneName ) { var timezone = TimezoneHelper.Find(timezoneName); if (timezone == null) { return; } var zonedDateTime = datetime.InTimeZone(timezone); await context.RespondAsync( embed : new DiscordEmbedBuilder() .WithColor(DiscordColor.None) .WithFooter($"{zonedDateTime:yyyy-MM-dd HH:mm} {timezone.Id} in your local time:") .WithTimestamp(zonedDateTime.ToDateTimeUtc()) .Build() ); }