왠 갑자기 sns중의 하나인 라인이 나오냐 싶겠지만...
저번달에 한 종목이 "한정"을 받고 관리종목 지정없이 바로 거래정지가 되면서
자동매매를 할 경우에 나는 거래정지가 된줄도 모르고 대처를 못할 것 같아.
거래정지가 되면 알림이 오도록 하는 기능이 필요했다.
키움 HTS 상에서는 이러한 알림이 오는 것이 불가능하다는 사실을 확인했고
메신저 API를 통해 이러한 기능을 구현하기로 했다.
우선 처음으로 생각한것은 카카오톡 API였지만 C#에서 구현하기 힘들다는 판단을 내렸고
두번째로 생각한것은 네이버의 라인인데 카톡API보다 훨씬 쉽게 이용할 수 있었다.
이런 점을 보면 역시 네이버가 대기업인 듯.
암튼 잡설은 치우고 구현하는 방법을 설명하겠다.
https://notify-bot.line.me/my/
LINE
닫기 계정 정보는 라인앱내 "설정 > 계정" 에서 확인할 수 있습니다.
access.line.me
우선 위 사이트로 들어가서 로그인을 하고(가입은 알아서)
generate token 을 누르고 토큰을 생성한다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.IO;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
lineNotify(textBox1.Text.ToString());
}
private void lineNotify(string msg)
{
string token = "생성한 토큰";
try
{
var request = (HttpWebRequest)WebRequest.Create("https://notify-api.line.me/api/notify");
var postData = string.Format("message={0}", msg);
var data = Encoding.UTF8.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
request.Headers.Add("Authorization", "Bearer " + token);
using (var stream = request.GetRequestStream()) stream.Write(data, 0, data.Length);
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
}
코드는 위와 같고 생성한 토큰 부분을 바꿔준다.
그리고 textbox1와 button1 을 만들어 주고 button1_Click() 와 연결시켜주면 끝.
이런식으로 내용을 적고 버튼을 누르면 알림이 온다.
간단!
나중에 활용할때는 lineNotify() 함수에 원하는 메시지만 전달해주면 된다
'주식 > 주식 시스템 트레이딩개발일지' 카테고리의 다른 글
5. 키움 open api 지원하지 않는 종목코드 에러 (0) | 2019.04.15 |
---|---|
4. 호가계산하기 (0) | 2019.04.14 |
2. 크레온 플러스 전략가져오기. (0) | 2019.03.24 |
1. 크레온플러스 개발환경 만들기 (0) | 2019.03.21 |
0. 어떤 프로그램을 만들것인가? (0) | 2019.03.21 |