39 lines
676 B
Ruby
39 lines
676 B
Ruby
#frozen_string_literal: true
|
|
|
|
module DiscourseAi::AiBot::Commands
|
|
class TimeCommand < Command
|
|
class << self
|
|
def name
|
|
"time"
|
|
end
|
|
|
|
def desc
|
|
"!time RUBY_COMPATIBLE_TIMEZONE - will generate the time in a timezone"
|
|
end
|
|
end
|
|
|
|
def result_name
|
|
"time"
|
|
end
|
|
|
|
def description_args
|
|
{ timezone: @last_timezone, time: @last_time }
|
|
end
|
|
|
|
def process(timezone)
|
|
time =
|
|
begin
|
|
Time.now.in_time_zone(timezone)
|
|
rescue StandardError
|
|
nil
|
|
end
|
|
time = Time.now if !time
|
|
|
|
@last_timezone = timezone
|
|
@last_time = time.to_s
|
|
|
|
time.to_s
|
|
end
|
|
end
|
|
end
|