본문 바로가기
텔레그램 봇

텔레그램 봇 (2) : (C#) API 연동

by Half-Dev 2020. 3. 22.

안녕하세요.

이번에는 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가 필요합니다.

현재 ChatIdmessage.Chat.Id로 자동으로 입력이 됩니다.

실제로 확인하고 싶으신 분들은 아래의 링크를 통해서 확인하실 수 있습니다.

https://api.telegram.org/bot(본인 텔레그램 API)/getUpdates

 

매세지를 한번 보내고 새로고침 하시면 확인하실 수 있습니다.

 

매세지 보내기 전

 

매세지 보낸 후

 

4. 이제 최종적으로 버튼을 누르게 된다면, 텔레그램은 거울 체팅을 하게 됩니다.

 


프로젝트 파

텔레그램_API연동.zip
6.22MB

댓글