class BotPlatform::TurnContext
Attributes
_on_delete_activities[RW]
_on_send_activities[RW]
_on_update_activities[RW]
activity[R]
adpter[R]
buffered_reply_activities[RW]
channel_id[R]
from[R]
locale[RW]
responded[RW]
state[RW]
turn_state[RW]
Public Class Methods
dup_context(context, activity)
click to toggle source
# File lib/bot_platform/turn_context.rb, line 49 def self.dup_context(context, activity) ctx = TurnContext.new context.adapter, activity ctx.state = context.state ctx.responded = context.responded if context.is_a?(TurnContext) ctx.buffered_reply_activities = context.buffered_reply_activities # keep private middleware pipeline hooks. ctx._on_send_activities = context._on_send_activities ctx._on_update_activity = context._on_update_activity ctx._on_delete_activity = context._on_delete_activity end return ctx end
new(adapter, activity)
click to toggle source
# File lib/bot_platform/turn_context.rb, line 21 def initialize(adapter, activity) @adapter = adapter @activity = activity # incoming activity @from = activity.from @channel_id = activity.channel_id @responded = false @locale = "ja" @_on_send_activities = [] @_on_update_activities = [] @_on_delete_activities = [] end
Public Instance Methods
add_on_delete_activits(activity_handler)
click to toggle source
# File lib/bot_platform/turn_context.rb, line 44 def add_on_delete_activits(activity_handler) @_on_delete_activities << activity_handler self end
add_on_send_activities(activity_handler)
click to toggle source
# File lib/bot_platform/turn_context.rb, line 34 def add_on_send_activities(activity_handler) @_on_send_activities << activity_handler self end
add_on_update_activities(activity_handler)
click to toggle source
# File lib/bot_platform/turn_context.rb, line 39 def add_on_update_activities(activity_handler) @_on_update_activities << activity_handler self end
send_activities(activities)
click to toggle source
Sends a set of activities to the sender of the incoming activity.
# File lib/bot_platform/turn_context.rb, line 96 def send_activities(activities) assert_activity_is_not_null activities assert_activity_is_not_null activities[0] @adapter.send_activities(self, activities) end
send_activity(activity)
click to toggle source
# File lib/bot_platform/turn_context.rb, line 90 def send_activity(activity) activity.to = @activity.from send_activities([activity]) end
send_confirm(text,prefix="")
click to toggle source
# File lib/bot_platform/turn_context.rb, line 68 def send_confirm(text,prefix="") activity_to_send = Activity.new(Activity::TYPES[:confirm], {text: text, prefix: prefix}) send_activity(activity_to_send) end
send_content(content)
click to toggle source
# File lib/bot_platform/turn_context.rb, line 83 def send_content(content) activity_to_send = Activity.new(Activity::TYPES[:carousel], { content: content, to: @activity.from }) send_activity(activity_to_send) end
send_image(preview_url, resource_url)
click to toggle source
# File lib/bot_platform/turn_context.rb, line 78 def send_image(preview_url, resource_url) activity_to_send = Activity.new(Activity::TYPES[:image], {resource_url: resource_url, preview_url: preview_url}) send_activity(activity_to_send) end
send_message(text)
click to toggle source
# File lib/bot_platform/turn_context.rb, line 63 def send_message(text) activity_to_send = Activity.new(Activity::TYPES[:message], {text: text}) send_activity(activity_to_send) end
send_options(caption, prefix, options)
click to toggle source
# File lib/bot_platform/turn_context.rb, line 73 def send_options(caption, prefix, options) activity_to_send = Activity.new(Activity::TYPES[:options], {text: caption, options: options, prefix: prefix}) send_activity(activity_to_send) end