Sha256: 7de18cb4b282978c81f37e84f7917c10fb8dc8d565df280b169d85bd8687a65d

Contents?: true

Size: 1.93 KB

Versions: 11

Compression:

Stored size: 1.93 KB

Contents

class SlackSmartBot

  # helpadmin: ----------------------------------------------
  # helpadmin: `start routine NAME`
  # helpadmin:    It will start a paused routine
  # helpadmin:    You can use this command only if you are an admin user
  # helpadmin:    NAME: one word to identify the routine
  # helpadmin:    Examples:
  # helpadmin:      _start routine example_
  # helpadmin:    <https://github.com/MarioRuiz/slack-smart-bot#routines|more info>
  # helpadmin: command_id: :start_routine
  # helpadmin:

  def start_routine(dest, from, name)
    save_stats(__method__)
    if is_admin?
      if !config.on_master_bot and dest[0] == "D"
        respond "It's only possible to start routines from MASTER channel from a direct message with the bot.", dest
      elsif @routines.key?(@channel_id) and @routines[@channel_id].key?(name)
        @routines[@channel_id][name][:status] = :on
        if @routines[@channel_id][name][:at]!=''
          started = Time.now
          if started.strftime("%H:%M:%S") < @routines[@channel_id][name][:at]
            nt = @routines[@channel_id][name][:at].split(":")
            next_run = Time.new(started.year, started.month, started.day, nt[0], nt[1], nt[2])
          else
            next_run = started + (24 * 60 * 60) # one more day
            nt = @routines[@channel_id][name][:at].split(":")
            next_run = Time.new(next_run.year, next_run.month, next_run.day, nt[0], nt[1], nt[2])
          end
          @routines[@channel_id][name][:next_run] = next_run.to_s
          @routines[@channel_id][name][:sleeping] = (next_run - started).ceil
        end
        update_routines()
        respond "The routine *`#{name}`* has been started. The change will take effect in less than 30 secs.", dest
      else
        respond "There isn't a routine with that name: *`#{name}`*.\nCall `see routines` to see added routines", dest
      end
    else
      respond "Only admin users can use this command", dest
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
slack-smart-bot-1.12.9 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb
slack-smart-bot-1.12.8 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb
slack-smart-bot-1.12.7 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb
slack-smart-bot-1.12.6 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb
slack-smart-bot-1.12.5 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb
slack-smart-bot-1.12.4 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb
slack-smart-bot-1.12.3 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb
slack-smart-bot-1.12.2 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb
slack-smart-bot-1.12.1 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb
slack-smart-bot-1.12.0 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb
slack-smart-bot-1.11.0 lib/slack/smart-bot/commands/on_bot/admin/start_routine.rb