AD

잡 담 헤븐님 선물이에용!

캐니_
2020-02-03 23:53:01 179 1 4

using System.Collections;

using System.Collections.Generic;

using System.IO;


public class EngNickConvertChecker

{

    string lastCheckedNickname = null;

    private System.Threading.Thread proc;

    public bool stopThreads = false;


    public EngNickConvertChecker()

    {

        proc = new System.Threading.Thread(() => EngNickCheck());

        proc.Start();

    }


    public static bool IsExistJongseong(int targetChar, bool isEunReun = false)

    {

        if ((targetChar == '않' && isEunReun) || targetChar == '없')

            return false;


        if (targetChar > 44000)

        {

            targetChar -= 44032;

            if (targetChar % 28 == 0)

            {

                return false;

            }

            else

            {

                return true;

            }

        }


        char toLower = char.ToLower((char)targetChar);

        if (toLower >= 'a' && toLower <= 'z')

        {

            return false;

        }

        else

        {

            char[] existJongseongNumber = { '1', '3', '6', '7', '8', '9', '0' };

            return existJongseongNumber.Contains(toLower);

        }

    }


    public static bool IsEnglishNickname(string nickname)

    {

        for (int i = 0; i < nickname.Length; ++i)

        {

            if ((int)nickname[i] > 256)

                return false;

        }

        return true;

    }


    void EngNickCheck()

    {

        while (!stopThreads)

        {

            List userNames = new List();


            if (!Program.isBroadcastOn)

            {

                Program.AddChatText("전체 계정 순회 시작");

                TwitchChatExample.instance.CreateCacheDirectory();


                DirectoryInfo directory = new System.IO.DirectoryInfo("NickNameCache\\IdToNick");


                foreach (var item in directory.GetFiles())

                {

                    if (Program.isBroadcastOn)

                    {

                        Program.AddChatText("방송 시작으로 인한 계정 순회 중단");

                        break;

                    }


                    userNames.Add(item.Name);


                    if (userNames.Count >= 100)

                    {

                        while (Twitch.instance.rateRemain < 50)

                            System.Threading.Thread.Sleep(1);


                        var userInfos = Twitch.instance.GetUserInfo(userNames.ToArray());

                        System.Diagnostics.Debug.WriteLine(userInfos.Length);

                        userNames.Clear();


                        if (userInfos != null)

                        {

                            foreach (var user in userInfos)

                            {

                                Program.WriteFile("NickNameCache\\NickToId\\" + user.displayName, user.userID);


                                string prevNickNames = Program.ReadFile("NickNameCache\\IdToNick\\" + user.userID);

                                string prevNickName = null;

                                if (!string.IsNullOrWhiteSpace(prevNickNames))

                                {

                                    prevNickName = prevNickNames.Split('\n')[0].Trim();

                                }


                                if (prevNickName != user.displayName)

                                {

                                    Program.WriteFile("NickNameCache\\IdToNick\\" + user.userID, $"{user.displayName}\n{prevNickNames}");

                                }

                            }

                        }

                    }

                }

                Program.AddChatText("전체 계정 순회 완료");

            }

                

            if (userNames.Count > 0)

            {

                while (Twitch.instance.rateRemain < 50)

                    System.Threading.Thread.Sleep(1);


                var userInfos = Twitch.instance.GetUserInfo(userNames.ToArray());

                userNames.Clear();


                if (userInfos != null)

                {

                    foreach (var user in userInfos)

                    {

                        Program.WriteFile("NickNameCache\\NickToId\\" + user.displayName, user.userID);


                        string prevNickNames = Program.ReadFile("NickNameCache\\IdToNick\\" + user.userID);

                        string prevNickName = null;

                        if (!string.IsNullOrWhiteSpace(prevNickNames))

                        {

                            prevNickName = prevNickNames.Split('\n')[0].Trim();

                        }


                        if (prevNickName != user.displayName)

                        {

                            Program.WriteFile("NickNameCache\\IdToNick\\" + user.userID, $"{user.displayName}\n{prevNickNames}");

                        }

                    }

                }

            }


            System.Threading.Thread.Sleep(3600000);

        }

    }

}

후원댓글 4
댓글 4개  
이전 댓글 더 보기
이 글에 댓글을 달 권한이 없습니다. 로그인해 보세요.
▲윗글 빵떡이 추가했어요~! 헤븐님_
▼아랫글 2월 3일 방송 공지 헤븐님_
[공 지]잡 담유머게임추천&정보팬 아 트핫클립인증건 의 사 항
5
[공 지]
2월 15일 방송 공지 [4]
Broadcaster 헤븐님_
02-15
4
[공 지]
2월 14일 방송 공지 [15]
Broadcaster 헤븐님_
02-14
3
[공 지]
2월 12일 방송 공지 [1]
Broadcaster 헤븐님_
02-12
2
잡 담
아마두 가사 모집합니당 [3]
사건조사
02-11
2
[공 지]
2월 10일 방송 공지 [4]
Broadcaster 헤븐님_
02-10
4
[공 지]
2월 9일 휴뱅 공지 [4]
Broadcaster 헤븐님_
02-09
2
[공 지]
2월 8일 방송 공지 [3]
Broadcaster 헤븐님_
02-08
3
잡 담
닉값하는 너구리 [2]
작곡하는너구리
02-08
1
[공 지]
2월 7일 방송 공지 [5]
Broadcaster 헤븐님_
02-07
4
잡 담
기메븐 아침 근황 [12]
Broadcaster 헤븐님_
02-07
2
잡 담
오늘도 역시 앤딩은 [3]
트썹종시루빵
02-06
1
[공 지]
2월 6일 낮뱅공지!
Broadcaster 헤븐님_
02-06
2
잡 담
모바일트게더 [2]
작곡하는너구리
02-05
4
잡 담
긴급속보 [2]
___시아
02-05
4
[공 지]
2월 5일 방송 공지 [2]
Broadcaster 헤븐님_
02-05
3
잡 담
발렌타이데이때 [3]
작곡하는너구리
02-05
1
잡 담
야 트수! 왜 울고있는거야? [2]
작곡하는너구리
02-04
1
잡 담
헤븐님 저 너무 힘들어요... [2]
작곡하는너구리
02-04
3
잡 담
빵떡이 추가했어요~! [1]
Broadcaster 헤븐님_
02-04
»
잡 담
헤븐님 선물이에용! [4]
캐니_
02-03
3
[공 지]
2월 3일 방송 공지 [4]
Broadcaster 헤븐님_
02-03
1
잡 담
심심하니깐 [5]
작곡하는너구리
02-03
2
잡 담
심심해서 [4]
작곡하는너구리
02-03
2
02-02
2
잡 담
영창 대사...인것 [1]
___시아
02-02
1
[공 지]
2월 2일 방송 공지(수정) [2]
Broadcaster 헤븐님_
02-02
인기글 글 쓰기