예제 #1
0
        private async Task GetHASSIOVersion()
        {
            HassIOVersion beta   = GetHassIOVersion(HassioRelease.Beta);
            HassIOVersion stable = GetHassIOVersion(HassioRelease.Stable);

            var embed = new EmbedBuilder();

            embed.WithTitle("Estas são as versões mais recentes do Hassio.\n");
            embed.WithColor(Helper.GetRandomColor());

            if (null != stable)
            {
                embed.AddInlineField("Stable", stable.HassOS);
                embed.AddInlineField("Stable Supervisor", stable.Supervisor);
                embed.AddInlineField("Stable Home Assistant", stable.HomeAssistant);
            }

            if (null != beta)
            {
                embed.AddInlineField("Beta", beta.HassOS);
                embed.AddInlineField("Beta Supervisor", beta.Supervisor);
                embed.AddInlineField("Beta Home Assistant", beta.HomeAssistant);
            }

            // mention users if any
            string mentionedUsers = base.MentionedUsers();

            if (string.Empty != mentionedUsers)
            {
                embed.AddInlineField("FYI", mentionedUsers);
            }

            await ReplyAsync(string.Empty, false, embed);
        }
예제 #2
0
        private async Task GetHASSIOVersion()
        {
            HassIOVersion beta   = GetHassIOVersion(HassioRelease.Beta);
            HassIOVersion stable = GetHassIOVersion(HassioRelease.Stable);

            string emoji  = Constants.EMOJI_HOMEASSISTANT;
            string title  = "Here are the current HASSIO software versions.";
            string body   = null;
            var    inline = new List <Tuple <string, string> >();

            if (null != stable)
            {
                inline.Add(new Tuple <string, string>("Stable Supervisor", stable.HassOS));
                inline.Add(new Tuple <string, string>("Stable HassOS", stable.Supervisor));
                inline.Add(new Tuple <string, string>("Stable Home Assistant", stable.HomeAssistant));
            }

            if (null != beta)
            {
                inline.Add(new Tuple <string, string>("Beta Supervisor", beta.HassOS));
                inline.Add(new Tuple <string, string>("Beta HassOS", beta.Supervisor));
                inline.Add(new Tuple <string, string>("Beta Home Assistant", beta.HomeAssistant));
            }

            // mention users if any
            string mentionedUsers = base.MentionedUsers();

            if (string.Empty != mentionedUsers)
            {
                body = string.Format("FYI {0} \n", mentionedUsers) + body;
            }

            // Send response
            await Helper.CreateEmbed(Context, emoji, title, body, inline, true);
        }
예제 #3
0
        public static HassIOVersion GetHassIOVersion(HassioRelease release)
        {
            string url = (release == HassioRelease.Beta) ? HASSIO_BETA : HASSIO_STABLE;

            string json = HassBotUtils.Utils.DownloadURLString(url);

            if (json == string.Empty)
            {
                logger.Error("Erro de comunicação com " + url);
                return(null);
            }

            HassIOVersion version = new HassIOVersion();

            try {
                dynamic entries = JsonConvert.DeserializeObject(json);
                version.HomeAssistant = entries.homeassistant["default"];
                version.HassOS        = entries.supervisor;
                version.Supervisor    = entries.hassos.rpi3;
            }
            catch (Exception e) {
                logger.Error(e);
            }
            return(version);
        }
예제 #4
0
        private async Task GetHASSIOVersion()
        {
            HassIOVersion beta   = GetHassIOVersion(HassioRelease.Beta);
            HassIOVersion stable = GetHassIOVersion(HassioRelease.Stable);

            string emoji  = Constants.EMOJI_HOMEASSISTANT;
            string title  = "Here are the current HASSIO software versions.";
            string body   = null;
            var    inline = new List <Tuple <string, string> >();

            if (null != stable)
            {
                inline.Add(new Tuple <string, string>("Stable Supervisor", stable.HassOS));
                inline.Add(new Tuple <string, string>("Stable HassOS", stable.Supervisor));
                inline.Add(new Tuple <string, string>("Stable Home Assistant", stable.HomeAssistant));
            }

            if (null != beta)
            {
                inline.Add(new Tuple <string, string>("Beta Supervisor", beta.HassOS));
                inline.Add(new Tuple <string, string>("Beta HassOS", beta.Supervisor));
                inline.Add(new Tuple <string, string>("Beta Home Assistant", beta.HomeAssistant));
            }

            // Send response
            await CreateEmbed(Context, emoji, title, body, inline, true);
        }