Class: Legion::Extensions::MicrosoftTeams::Client
- Inherits:
-
Object
- Object
- Legion::Extensions::MicrosoftTeams::Client
- Includes:
- Helpers::Client, Runners::AdaptiveCards, Runners::Auth, Runners::Bot, Runners::CacheIngest, Runners::ChannelMessages, Runners::Channels, Runners::Chats, Runners::LocalCache, Runners::Loop, Runners::Meetings, Runners::Messages, Runners::Ownership, Runners::People, Runners::Presence, Runners::Subscriptions, Runners::Teams, Runners::Transcripts
- Defined in:
- lib/legion/extensions/microsoft_teams/client.rb
Constant Summary
Constants included from Runners::Ownership
Runners::Ownership::OWNERS_SELECT, Runners::Ownership::TEAMS_FILTER, Runners::Ownership::TEAMS_SELECT
Constants included from Runners::Transcripts
Runners::Transcripts::CONTENT_TYPES
Constants included from Helpers::TraceRetriever
Helpers::TraceRetriever::MAX_TRACES, Helpers::TraceRetriever::MAX_TRACE_TOKENS
Instance Attribute Summary collapse
-
#opts ⇒ Object
readonly
Returns the value of attribute opts.
Instance Method Summary collapse
- #authenticate! ⇒ Object
- #bot_connection(**override) ⇒ Object
- #graph_connection(**override) ⇒ Object
-
#initialize(tenant_id: nil, client_id: nil, client_secret: nil, token: nil, user_id: 'me', **extra) ⇒ Client
constructor
A new instance of Client.
- #oauth_connection(**override) ⇒ Object
Methods included from Runners::Loop
#create_loop_file, #loop_attachment, #post_loop_to_channel, #post_loop_to_chat
Methods included from Helpers::Client
Methods included from Runners::Ownership
#detect_orphans, #get_team_owners, #sync_owners
Methods included from Runners::People
Methods included from Runners::CacheIngest
Methods included from Runners::LocalCache
#extract_local_messages, #local_cache_available?, #local_cache_stats
Methods included from Runners::Transcripts
#get_transcript, #get_transcript_content, #list_transcripts
Methods included from Runners::Meetings
#create_meeting, #delete_meeting, #get_attendance_report, #get_meeting, #get_meeting_by_join_url, #list_attendance_reports, #list_meetings, #update_meeting
Methods included from Runners::Presence
Methods included from Runners::Bot
#create_conversation, #dispatch_message, #get_conversation_members, #handle_command, #handle_message, #observe_message, #reply_to_activity, #send_activity, #send_card, #send_text, #session_manager, #subscription_registry
Methods included from Helpers::TraceRetriever
Methods included from Helpers::PromptResolver
#resolve_llm_config, #resolve_prompt
Methods included from Runners::AdaptiveCards
#action_open_url, #action_submit, #build_card, #fact_set, #message_attachment, #text_block
Methods included from Runners::Subscriptions
#create_subscription, #delete_subscription, #get_subscription, #list_subscriptions, #renew_subscription, #subscribe_to_channel_messages, #subscribe_to_chat_messages
Methods included from Runners::ChannelMessages
#get_channel_message, #list_channel_message_replies, #list_channel_messages, #reply_to_channel_message, #send_channel_message
Methods included from Runners::Channels
#create_channel, #delete_channel, #get_channel, #list_channel_members, #list_channels, #update_channel
Methods included from Runners::Messages
#get_chat_message, #list_chat_messages, #list_message_replies, #reply_to_chat_message, #send_chat_message
Methods included from Runners::Chats
#add_chat_member, #create_chat, #get_chat, #list_chat_members, #list_chats
Methods included from Runners::Teams
#get_team, #list_joined_teams, #list_team_members
Methods included from Runners::Auth
#acquire_bot_token, #acquire_token, #auth_callback, #authorize_url, #exchange_code, #poll_device_code, #refresh_delegated_token, #request_device_code
Constructor Details
#initialize(tenant_id: nil, client_id: nil, client_secret: nil, token: nil, user_id: 'me', **extra) ⇒ Client
Returns a new instance of Client.
45 46 47 48 49 |
# File 'lib/legion/extensions/microsoft_teams/client.rb', line 45 def initialize(tenant_id: nil, client_id: nil, client_secret: nil, token: nil, user_id: 'me', **extra) @opts = { tenant_id: tenant_id, client_id: client_id, client_secret: client_secret, token: token, user_id: user_id, **extra } end |
Instance Attribute Details
#opts ⇒ Object (readonly)
Returns the value of attribute opts.
43 44 45 |
# File 'lib/legion/extensions/microsoft_teams/client.rb', line 43 def opts @opts end |
Instance Method Details
#authenticate! ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/legion/extensions/microsoft_teams/client.rb', line 63 def authenticate! result = acquire_token( tenant_id: @opts[:tenant_id], client_id: @opts[:client_id], client_secret: @opts[:client_secret] ) return result unless result&.dig(:result, 'access_token') @opts[:token] = result[:result]['access_token'] result end |
#bot_connection(**override) ⇒ Object
55 56 57 |
# File 'lib/legion/extensions/microsoft_teams/client.rb', line 55 def bot_connection(**override) super(**@opts.merge(override)) end |
#graph_connection(**override) ⇒ Object
51 52 53 |
# File 'lib/legion/extensions/microsoft_teams/client.rb', line 51 def graph_connection(**override) super(**@opts.merge(override)) end |
#oauth_connection(**override) ⇒ Object
59 60 61 |
# File 'lib/legion/extensions/microsoft_teams/client.rb', line 59 def oauth_connection(**override) super(**@opts.merge(override)) end |