Module: Legion::Extensions::MicrosoftTeams::Runners::ChannelMessages
- Includes:
- Helpers::Lex, Helpers::Client
- Included in:
- Client
- Defined in:
- lib/legion/extensions/microsoft_teams/runners/channel_messages.rb
Class Method Summary
collapse
Instance Method Summary
collapse
-
#edit_channel_message(team_id:, channel_id:, message_id:, content:, content_type: 'text') ⇒ Object
-
#get_channel_message(team_id:, channel_id:, message_id:) ⇒ Object
-
#list_channel_message_replies(team_id:, channel_id:, message_id:, top: 50) ⇒ Object
-
#list_channel_messages(team_id:, channel_id:, top: 50) ⇒ Object
-
#reply_to_channel_message(team_id:, channel_id:, message_id:, content:, content_type: 'text') ⇒ Object
-
#send_channel_message(team_id:, channel_id:, content:, content_type: 'text', attachments: []) ⇒ Object
#bot_connection, #graph_connection, #oauth_connection, #user_path
Class Method Details
.trigger_words ⇒ Object
12
13
14
|
# File 'lib/legion/extensions/microsoft_teams/runners/channel_messages.rb', line 12
def self.trigger_words
%w[post posts feed thread reply]
end
|
Instance Method Details
#edit_channel_message(team_id:, channel_id:, message_id:, content:, content_type: 'text') ⇒ Object
123
124
125
126
127
128
129
|
# File 'lib/legion/extensions/microsoft_teams/runners/channel_messages.rb', line 123
def edit_channel_message(team_id:, channel_id:, message_id:, content:, content_type: 'text', **)
payload = { body: { contentType: content_type, content: content } }
response = graph_connection(**).patch(
"teams/#{team_id}/channels/#{channel_id}/messages/#{message_id}", payload
)
{ result: response.body }
end
|
#get_channel_message(team_id:, channel_id:, message_id:) ⇒ Object
45
46
47
48
|
# File 'lib/legion/extensions/microsoft_teams/runners/channel_messages.rb', line 45
def get_channel_message(team_id:, channel_id:, message_id:, **)
response = graph_connection(**).get("teams/#{team_id}/channels/#{channel_id}/messages/#{message_id}")
{ result: response.body }
end
|
#list_channel_message_replies(team_id:, channel_id:, message_id:, top: 50) ⇒ Object
102
103
104
105
106
107
108
|
# File 'lib/legion/extensions/microsoft_teams/runners/channel_messages.rb', line 102
def list_channel_message_replies(team_id:, channel_id:, message_id:, top: 50, **)
params = { '$top' => top }
response = graph_connection(**).get(
"teams/#{team_id}/channels/#{channel_id}/messages/#{message_id}/replies", params
)
{ result: response.body }
end
|
#list_channel_messages(team_id:, channel_id:, top: 50) ⇒ Object
27
28
29
30
31
|
# File 'lib/legion/extensions/microsoft_teams/runners/channel_messages.rb', line 27
def list_channel_messages(team_id:, channel_id:, top: 50, **)
params = { '$top' => top }
response = graph_connection(**).get("teams/#{team_id}/channels/#{channel_id}/messages", params)
{ result: response.body }
end
|
#reply_to_channel_message(team_id:, channel_id:, message_id:, content:, content_type: 'text') ⇒ Object
82
83
84
85
86
87
88
|
# File 'lib/legion/extensions/microsoft_teams/runners/channel_messages.rb', line 82
def reply_to_channel_message(team_id:, channel_id:, message_id:, content:, content_type: 'text', **)
payload = { body: { contentType: content_type, content: content } }
response = graph_connection(**).post(
"teams/#{team_id}/channels/#{channel_id}/messages/#{message_id}/replies", payload
)
{ result: response.body }
end
|
#send_channel_message(team_id:, channel_id:, content:, content_type: 'text', attachments: []) ⇒ Object
62
63
64
65
66
67
|
# File 'lib/legion/extensions/microsoft_teams/runners/channel_messages.rb', line 62
def send_channel_message(team_id:, channel_id:, content:, content_type: 'text', attachments: [], **)
payload = { body: { contentType: content_type, content: content } }
payload[:attachments] = attachments unless attachments.empty?
response = graph_connection(**).post("teams/#{team_id}/channels/#{channel_id}/messages", payload)
{ result: response.body }
end
|