안녕하세요.
이번에는 C#으로 텔레그램 API를 연동시켜 보도록 하겠습니다.
1. 기본 설정
일단 간단하게 윈도우 폼에서 버튼 1개를 만들어 주겠습니다.
프로젝트에서 NuGet 패키지 관리
클릭합니다.
Telegram.Bot
을 다운받아 주도록 합니다.
2. 코드 추가
텔레그램 봇을 사용하기 위해서는 아래의 코드를 추가해야 합니다
1
2
3
4
5
|
//telegram
using Telegram.Bot;
using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums;
using Telegram.Bot.Types.ReplyMarkups;
|
cs |
저는 버튼을 클릭하면 이벤트가 실행되게 해봤습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
Telegram.Bot.TelegramBotClient Bot = new Telegram.Bot.TelegramBotClient("발급받은 API키 입력");
public Form1()
{
InitializeComponent();
}
private void setTelegramEvent()
{
Bot.OnMessage += Bot_OnMessage; // 이벤트를 추가해줍니다.
Bot.StartReceiving(); // 이 함수가 실행이 되어야 사용자로부터 메세지를 받을 수 있습니다.
}
private async void Bot_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
{
var message = e.Message;
if (message == null || message.Type != MessageType.Text)
return;
await Bot_SendMessage(message.Chat.Id, message.Text);
}
private async Task Bot_SendMessage(long chatId, string message)
{
await Bot.SendTextMessageAsync(chatId, message);
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("실행되었습니다.");
setTelegramEvent();
}
|
cs |
설명
1. 버튼을 클릭하게 되면, 30줄에 있는 setTelegramEven
함수가 실행이 됩니다.
2. setTelegramEven
함수에서는 Bot_OnMessage
에 대한 이벤트를 추가하고 Bot.StartReceiving
을 통해서 봇을 실행 시킵니다.
3. 메세지를 보내기 위해서는 ChatId
가 필요합니다.
현재 ChatId
는 message.Chat.Id
로 자동으로 입력이 됩니다.
실제로 확인하고 싶으신 분들은 아래의 링크를 통해서 확인하실 수 있습니다.
https://api.telegram.org/bot(본인 텔레그램 API)/getUpdates
매세지를 한번 보내고 새로고침 하시면 확인하실 수 있습니다.
매세지 보내기 전
매세지 보낸 후
4. 이제 최종적으로 버튼을 누르게 된다면, 텔레그램은 거울 체팅을 하게 됩니다.
프로젝트 파일
'텔레그램 봇' 카테고리의 다른 글
텔레그램 봇 (4) : (C#) 현재 날씨 받아오기 (0) | 2020.03.23 |
---|---|
텔레그램 봇 (3) : (C#) 사용자 등록 (0) | 2020.03.22 |
텔레그램 봇 (1) : 봇 만들기 (0) | 2020.03.22 |
댓글