Programming/Telegram Bot

TelegramBot으로 주식 분석 프로그램으로 추천 된 종목 공유하기

subutie 2021. 2. 16. 14:39
728x90

주식 분석 프로그램을 최초로 만들고 의도 대로 돌아가지 않는 부분을 주말 동안 수정 후

오늘 (2021년도 01월 18일) 추천 종목으로 뜬건 2 종목이 있었습니다.

(분석 종목은 전체를 분석 하는 게 아니라 제가 관심있는 목록 중에서 분석 해서 추천 해주는 형식이라 추천 종목이 적습니다.)

아직 장이 마감 하지 않았지만 2 종목 모두 반등 기대 종목으로 분석 되었고

그중 하나는 정배열 하나는 역배열 이였습니다.

(정배열 역배열은 이평선의 짧은 기간 평균선이 가장위에 긴 기간 평균선이 가장 밑

이런 순서대로 배열 되면 정배열 그 반대가 역배열 입니다.)

반등 + 역배열인 종목이 당연 반등의 힘이 크기 때문에 역시 그 종목이 현 시점 6% 상승 하고 있었고

이를 이전 직장 동료들에게 자랑 했더니

텔레그램을 이용해서 공유해보라는 말을 했습다.

뭐.... 이게 주요 정보가 될 수는 없겠지만

혹시 이걸 믿고 투자해서 손해 볼까봐 우선 내 책임은 없다고 선을 긋고

텔레그램 채팅 공유 기능을 한번 경험 해 볼겸 기능을 넣어 봤습니다.

우선 참고한 사이트는

telegramBot을 등록하고 사용 설정 하는 부분은 아래를 참고 해주세요

https://drt0927.tistory.com/9

 

[C#]텔레그램 봇 만들기

작년에 클라이언트 프로그램에서 이슈가 발생했을 때 사용자에게 문자를 보내줘야하는 기능을 개발 해야했는데 SMS는 돈주고 사야하므로 유료이므로 난 그럴 능력이 없으므로 텔레그램 봇을

drt0927.tistory.com

 

또 Group Chat에 ChatID를 얻어 오는 부분은 아래 링크에 맨 마지막에 있습니다.

https://codingman.tistory.com/41

 

[C#] 텔레그램 API를 이용한 메세지 보내기

안녕하세요 코딩하는 남자 "코딩연습생"입니다 저번 시간에 윈도우 핸들러를 통해 카카오톡PC 버전에서 메세지 보내기를 게시했는데요 이번에는 텔레그램 API를 통해 C#에서 메세지를 보내는 방

codingman.tistory.com

 

저는 챗 봇을 적극 활용해서 응답처리를 하는 기능은 필요가 없습니다.

(그냥 제가 하루에 한번 분석 한걸 공유하는 게 목적이기 때문에....)

그래서 제 코드엔 OnMessage, OnMesageEdited, OnReceiveError 이벤트를 받는 부분을 등록하고 처리 하는 부분이 없습니다.

 

        private async void buttonShare_Click(object sender, EventArgs e)
        {
            if (listBoxAnalyzeRes.Items.Count == 0)
            {
                await SendMessage("오늘은 추천 주식이 없어요!");
            }
            else
            {
                StringBuilder builder = new StringBuilder();

                builder.AppendLine("오늘의 추천 종목은!");
                for (int i = 0; i < listBoxAnalyzeRes.Items.Count; ++i)
                    builder.AppendLine(listBoxAnalyzeRes.Items[i].ToString());
                builder.AppendLine(string.Format("이렇게 {0} 종목입니다.", listBoxAnalyzeRes.Items.Count));

                await SendMessage(builder.ToString());
            }
        }

        private async Task SendMessage(string message)
        {
            TelegramBotClient bot = FormMain.GET.TELEGRAM;
            await bot.SendTextMessageAsync([채팅ID], message);
        }

 

사실상 내 채팅 ID를 얻어온 후 SendTextMessageAsync 한줄만 있으면 되는 간단한 기능이였습니다.