internal virtual GetMetricWidgetImageResponse GetMetricWidgetImage(GetMetricWidgetImageRequest request)
        {
            var marshaller   = GetMetricWidgetImageRequestMarshaller.Instance;
            var unmarshaller = GetMetricWidgetImageResponseUnmarshaller.Instance;

            return(Invoke <GetMetricWidgetImageRequest, GetMetricWidgetImageResponse>(request, marshaller, unmarshaller));
        }
        /// <summary>
        /// Initiates the asynchronous execution of the GetMetricWidgetImage operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the GetMetricWidgetImage operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricWidgetImage">REST API Reference for GetMetricWidgetImage Operation</seealso>
        public virtual Task <GetMetricWidgetImageResponse> GetMetricWidgetImageAsync(GetMetricWidgetImageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = GetMetricWidgetImageRequestMarshaller.Instance;
            var unmarshaller = GetMetricWidgetImageResponseUnmarshaller.Instance;

            return(InvokeAsync <GetMetricWidgetImageRequest, GetMetricWidgetImageResponse>(request, marshaller,
                                                                                           unmarshaller, cancellationToken));
        }
Esempio n. 3
0
        internal virtual GetMetricWidgetImageResponse GetMetricWidgetImage(GetMetricWidgetImageRequest request)
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = GetMetricWidgetImageRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetMetricWidgetImageResponseUnmarshaller.Instance;

            return(Invoke <GetMetricWidgetImageResponse>(request, options));
        }
Esempio n. 4
0
    protected override async Task <bool> HandleMessage(DiscordMessage discordMessage)
    {
        GetMetricWidgetImageRequest request = new GetMetricWidgetImageRequest();

        request.OutputFormat = "png";
        request.MetricWidget = @"
            {
                ""metrics"": [
                    [ ""CutieBot"", ""Discord.SentimentScore.Positive"", { ""label"": ""[avg: ${AVG}] Discord.SentimentScore.Positive"", ""color"": ""#2ca02c"" } ],
                    [ ""."", ""Discord.SentimentScore.Neutral"", { ""label"": ""[avg: ${AVG}] Discord.SentimentScore.Neutral"", ""color"": ""#f4f116"" } ],
                    [ ""."", ""Discord.SentimentScore.Negative"", { ""label"": ""[avg: ${AVG}] Discord.SentimentScore.Negative"", ""color"": ""#d62728"" } ],
                    [ ""."", ""Discord.SentimentScore.Mixed"", { ""label"": ""[avg: ${AVG}] Discord.SentimentScore.Mixed"", ""color"": ""#1f77b4"" } ]
                ],
                ""view"": ""pie"",
                ""stacked"": false,
                ""stat"": ""Average"",
                ""period"": 300,
                ""setPeriodToTimeRange"": true,
                ""width"": 500,
                ""height"": 500,
                ""start"": ""-P1D"",
                ""end"": ""P0D""
            }
        ";
        GetMetricWidgetImageResponse getMetricWidgetImageResponse = await CloudWatchClient.GetMetricWidgetImageAsync(request);

        if (getMetricWidgetImageResponse.HttpStatusCode != System.Net.HttpStatusCode.OK)
        {
            return(false);
        }

        await discordMessage.Channel.SendFileAsync(
            content : $"Here's the sentiment of the {discordMessage.Channel.Name} channel",
            file_data : getMetricWidgetImageResponse.MetricWidgetImage,
            file_name : "MetricWidget.png"
            );

        return(true);
    }