Ejemplo n.º 1
0
        public static FollowerO GetChannelFollowers(int offset, ChannelO channel)
        {
            FollowerO      followers        = new FollowerO();
            string         channelOauth     = ConfigurationManager.AppSettings["channelOauth"];
            string         readChannelOauth = ConfigurationManager.AppSettings["channelReadToken"];
            string         url        = "https://api.twitch.tv/kraken/channels/" + channel._id + "/follows?offset=" + offset;
            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);

            if (webRequest != null)
            {
                webRequest.Method      = "GET";
                webRequest.Timeout     = 12000;
                webRequest.ContentType = "application/json";
                webRequest.Accept      = "Accept: application/vnd.twitchtv.v5+json";
                webRequest.Headers.Add("Client-ID", channelOauth);
                webRequest.Headers.Add("Authorization: " + readChannelOauth);
            }

            try
            {
                using (Stream s = webRequest.GetResponse().GetResponseStream())
                {
                    using (StreamReader sr = new StreamReader(s))
                    {
                        var jsonResponse = sr.ReadToEnd();
                        followers = JsonConvert.DeserializeObject <FollowerO>(jsonResponse);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(followers);
        }
Ejemplo n.º 2
0
        public static void InsertFollowers(ChannelO channel)
        {
            int           offset     = 0;
            List <Follow> followers  = new List <Follow>();
            FollowerO     followersO = ChannelD.GetChannelFollowers(offset, channel);
            int           total      = followersO._total;



            while (offset < total)
            {
                foreach (Follow follow in followersO.follows)
                {
                    followers.Add(follow);
                    offset += 1;
                }
                followersO = ChannelD.GetChannelFollowers(offset, channel);
            }


            try
            {
                string connectionString = ConfigurationManager.ConnectionStrings["MysqlMoonBotDataBase"].ConnectionString;
                using (MySqlConnection mySqlConnection = new MySqlConnection(connectionString))
                {
                    mySqlConnection.Open();

                    using (MySqlCommand cmdUpdateUser = new MySqlCommand())
                    {
                        cmdUpdateUser.CommandText = "UpdateUser";
                        cmdUpdateUser.Connection  = mySqlConnection;
                        cmdUpdateUser.CommandType = CommandType.StoredProcedure;
                        foreach (Follow follow in followers)
                        {
                            if (cmdUpdateUser.Parameters.Contains("twitchId"))
                            {
                                cmdUpdateUser.Parameters["twitchId"].Value = follow.user._id;
                            }
                            else
                            {
                                cmdUpdateUser.Parameters.AddWithValue("twitchId", follow.user._id);
                            }

                            if (cmdUpdateUser.Parameters.Contains("displayName"))
                            {
                                cmdUpdateUser.Parameters["displayName"].Value = follow.user.display_name;
                            }
                            else
                            {
                                cmdUpdateUser.Parameters.AddWithValue("displayName", follow.user.display_name);
                            }

                            if (cmdUpdateUser.Parameters.Contains("name"))
                            {
                                cmdUpdateUser.Parameters["name"].Value = follow.user.name;
                            }
                            else
                            {
                                cmdUpdateUser.Parameters.AddWithValue("name", follow.user.name);
                            }

                            MySqlDataReader result = cmdUpdateUser.ExecuteReader();
                            result.Close();
                        }
                    }

                    using (MySqlCommand cmd = new MySqlCommand())
                    {
                        cmd.CommandText = "InsertFollower";
                        cmd.Connection  = mySqlConnection;
                        cmd.CommandType = CommandType.StoredProcedure;
                        foreach (Follow follow in followers)
                        {
                            if (cmd.Parameters.Contains("createdAt"))
                            {
                                cmd.Parameters["createdAt"].Value = follow.created_at;
                            }
                            else
                            {
                                cmd.Parameters.AddWithValue("createdAt", follow.created_at);
                            }

                            if (cmd.Parameters.Contains("twitchId"))
                            {
                                cmd.Parameters["twitchId"].Value = follow.user._id;
                            }
                            else
                            {
                                cmd.Parameters.AddWithValue("twitchId", follow.user._id);
                            }

                            MySqlDataReader result = cmd.ExecuteReader();
                            result.Close();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }