[์ฑ๋ด/.NET] C#์์ ์๋๋ก์ง Chat์ ์ฑ๋ด ๋ฉ์์ง ๋ณด๋ด๊ธฐ(์์ ํฌํจ)
์๋๋ก์ง Chat ๋ฉ์ ์
์๋๋ก์ง์๋ Chat์ด๋ผ๋ ๋ฉ์ ์ ๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ด๋ ํจํค์ง ์ผํฐ์์ ์ค์น๊ฐ ๊ฐ๋ฅํ๋ฐ์. ์ฃผ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฌด๋ฃ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ฉ์์ง ๊ณ ์ (๊ณต์ง ์ฌํญ), ๋ถ๋งํฌ, ํด์ํ๊ทธ, ์ฌ์ฉ์ ๋ฉ์ , ๊ฒ์ ๊ธฐ๋ฅ
- ์ค๋ฌธ์กฐ์ฌ, ์ ๋ฌ, ์๋ฆผ, ๋ฉ์์ง ์์ฝ, ํ์ผ ์ ์ก ๊ธฐ๋ฅ
- ๊ณต๊ฐ, ๋น๊ณต๊ฐ ๋ํ๋ฐฉ
- ํ์ผ ์ ์ก
- ์๋์ฐ, ๋ชจ๋ฐ์ผ ์ฑ ์ง์
- ์ค๋งํธ ํฐ์์ ํ์ผ ๊ณต์ ๊ฐ๋ฅ
- ์ง๋ ๋ํ ๊ธฐ๋ก ์ ์ฅ
์ฆ, ์นด์นด์คํก๊ณผ ๊ฐ์ ๋ฉ์ ์ ๋ผ๊ณ ๋ณด๋ฉด ๋๊ฒ ์ต๋๋ค. ๋ฌผ๋ก , ๋ชจ๋๊ฐ Chat์ ์ฌ์ฉํ์ง๋ ์๊ฒ ์ฃ . ๊ทธ๋์ ์ ์ ๊ฒฝ์ฐ์๋ ์ฌ๋ด ๋ฉ์ ์ (์ ๋ฌด์ฉ)๋ก ํ์ฉํ๊ณ ์์ต๋๋ค.
์๋๋ก์ง Chat Webhook ๊ธฐ๋ฅ
์๋๋ก์ง ์ฑ์ ์์ , ๋ฐ์ Webhook์ด๋ผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
์์ Webhook
์์ Webhook์ ์ธ๋ถ์์ Chat์ผ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค. ์ฆ, ์ธ๋ถ ์ธํฐ๋ท์์ ์๋๋ก์ง Chat์ผ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์๋ค๋ ์๋ฏธ์ฃ . ๋ฉ์์ง์๋ ํ ์คํธ์ ๋งํฌ ๊ทธ๋ฆฌ๊ณ ํ์ผ ์ ๋ก๋๋ ๊ฐ๋ฅํฉ๋๋ค. ํ์ผ ์ ๋ก๋์ ๊ฒฝ์ฐ ์ต๋ ํฌ๊ธฐ๋ 32MB์ ๋๋ค.
๋ฐ์ Webhook
๋ฐ์ Webhook์ Chat ๋ฉ์์ง๋ฅผ ํธ๋ฆฌ๊ฑฐ ๋จ์ด๋ก ์์ ๋๊ธฐํฉ๋๋ค. ์ฆ, ์ฑ์ ํน์ ๋จ์ด๋ฅผ ์ ๋ ฅํ๋ฉด ํธ๋ฆฌ๊ฑฐ ์ ํธ๋ก ์ธ์ํ์ฌ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ URL๋ก ๋ณด๋ด๋ ๊ฒ์ ๋๋ค.
์ข ๋ ์์ธํ ์ฌ์ฉ ๋ช ์ธ๋ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
https://kb.synology.com/ko-kr/DSM/help/Chat/chat_integration?version=6
Webhook ์ค์ ๋ฐฉ๋ฒ
์ฑ ์คํ ํ๋ฉด์์ ์ฐ์ธก ์๋จ์ ํ๋กํ ์ฌ์ง์ ํด๋ฆญํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํตํฉ ๋ฉ๋ด๋ฅผ ํด๋ฆญํฉ๋๋ค.
์๋์ ๋ฉ๋ด์์ ๋ค์ด์ค๋ Webhooks๋ฅผ ์ ํํฉ๋๋ค. ๋ณธ๋ฌธ์์๋ ๋๊ฐ๋ Webhooks์ผ๋ก ํ ์คํธํ ์กฐ๊ฑด์ด ์๋๊ธฐ ๋๋ฌธ์ ๋ค์ด์ค๋ Webhooks๋ง ๋ค๋ฃน๋๋ค.
๋ค์ด์ค๋ Webhooks ํ๋ฉด์์ ์์ฑ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
ํ๋กํ ์ฌ์ง, ์ด๋ฆ, ์ฑ๋์ ์ ํํ๊ณ Webhook URL์ ๋ณต์ฌํด ๋ก๋๋ค.
C#์์ ์์ Webhook์ผ๋ก ๋ฉ์์ง ๋ณด๋ด๊ธฐ
ExamChatWebhook ์ด๋ฆ์ผ๋ก Windows Forms ์ฑ ํ๋ก์ ํธ๋ฅผ ์์ฑํฉ๋๋ค.
UI์ ๋ฒํผ์ ํ๋ ๋ฐฐ์นํ๊ณ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํฉ๋๋ค.
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 ExamChatWebhook
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonSendMessage_Click(object sender, EventArgs e)
{
//์์ Webhook url
string webhookUrl = "";
string payload = "&payload={\"text\": \"LuckyGg์ ๋ฉ์์ง, https://luckygg.tistory.com\"}";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(webhookUrl + payload);
request.Method = "GET";
using (var response = request.GetResponse())
{
using (Stream dataStream = response.GetResponseStream())
{
using (var reader = new StreamReader(dataStream))
{
string requestResult = reader.ReadToEnd();
}
}
}
}
}
}
์ฝ๋๊ฐ ๋๋ฌด ๊ฐ๋จํ์ฃ ? ์ฝ๋๋ฅผ ์คํํ๋ฉด ์ฑ์ผ๋ก ๋ฉ์์ง๊ฐ ๋ฐ๋ก ์ ์ก๋ฉ๋๋ค.
์ฝ๋์ ์์ธํ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์๋ ์ฒจ๋ถ๋ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ธ์.
'Programming > ChatBot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[์ฑ๋ด] ์ฝ๋ฉ์์ด ์นด์นด์คํก ์ฑ๋ด ๋ง๋ค๊ธฐ - ๋ฐ๋ก์ฐ๊ฒฐ ๋ฒํผ
[์ฑ๋ด] ์ฝ๋ฉ์์ด ์นด์นด์คํก ์ฑ๋ด ๋ง๋ค๊ธฐ - ๋ฐ๋ก์ฐ๊ฒฐ ๋ฒํผ
2021.05.07 -
[์ฑ๋ด] ์ฝ๋ฉ์์ด ์นด์นด์คํก ์ฑ๋ด ๋ง๋ค๊ธฐ - ์ ๋ค๋ฆญ ๋ฉ๋ด ์ค์
[์ฑ๋ด] ์ฝ๋ฉ์์ด ์นด์นด์คํก ์ฑ๋ด ๋ง๋ค๊ธฐ - ์ ๋ค๋ฆญ ๋ฉ๋ด ์ค์
2021.05.04 -
[์ฑ๋ด/ASP.NET] C#์ผ๋ก Microsoft Azure ์๋ฒ์ ์นด์นด์คํก ์์ ์คํฌ ์๋ฒ ๊ตฌ์ถํ๊ธฐ
[์ฑ๋ด/ASP.NET] C#์ผ๋ก Microsoft Azure ์๋ฒ์ ์นด์นด์คํก ์์ ์คํฌ ์๋ฒ ๊ตฌ์ถํ๊ธฐ
2021.02.20 -
[์ฑ๋ด] ์๋์ฐ์์ ์นด์นด์คํก ์ฑ๋ด์ ์ํ ์์ ์คํฌ ์๋ฒ ๊ตฌ์ถํ๊ธฐ
[์ฑ๋ด] ์๋์ฐ์์ ์นด์นด์คํก ์ฑ๋ด์ ์ํ ์์ ์คํฌ ์๋ฒ ๊ตฌ์ถํ๊ธฐ
2021.02.16