コード例 #1
0
        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;
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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()
                );
        }