TelegramBot Sample 만들기 - 3 ( C#프로젝트와 Bot 연결 )
안녕하세요. 데프홍입니다.
이번 포스팅에서는 C# 프로젝트와 Bot Token 을 이용해서 연결시킨 후,
Bot Name 을 가져오는 간단한 예제,
그리고 Bot 에서 메세지를 치면, 그대로 응답해주는
에코Bot(?) 을 구현해보도록 하겠습니다.
먼저 간단하게 구현순서를 나열하자면
다음 아래와 같습니다.
1. Token 을 이용한 TelegramBotClinet 을 설정.
2. TelegramBotClient 의 이름을 호출.
3. OnMessage 이벤트를 추가.
4. Receiving 을 실행하도록 셋팅.
5. 프로그램 실행
6. Bot 에 메세지 쳐보기.
자. 먼저.. 만들어둔 C# 프로젝트를 열어서 Form1.cs[Design] 의 폼 화면을 더블클릭하여
Form1_Load 함수로 들어갑니다.
다음 아래와 같이 코드를 쳐 주시면 되겠습니다.
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;
//Telegram using
using Telegram.Bot;
using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums;
using Telegram.Bot.Types.ReplyMarkups;
namespace telegramAPI_Example
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Telegram.Bot.TelegramBotClient Bot = new Telegram.Bot.TelegramBotClient("Token 키를 입력");
private void Form1_Load(object sender, EventArgs e)
{
telegramAPIAsync();
}
// init methods...
private async void telegramAPIAsync()
{
//Token Key 를 이용하여 봇을 가져온다.
var Bot = new Telegram.Bot.TelegramBotClient("321296965:AAHroKidfXSq7-UBWW5GVnDLEaROTYikAJs");
//Bot 에 대한 정보를 가져온다.
var me = await Bot.GetMeAsync();
//Bot 의 이름을 출력한다.
Console.WriteLine("Hello my name is {0}", me.FirstName);
}
}
}
저장 후, 실행을 시켜보시면, Bot 이름이 콘솔(Output) 창에 출력이 되신것을 확인 할 수 있습니다.
이제 그 다음으로는 Bot 에 OnMessage 이벤트를 추가해 줘야됩니다.
이벤트를 추가해 주지 않으면,
사용자가 메세지 친 것들에 대한 응답처리를 할 수가 없으므로..
꼭 추가를 해 주어야겠지요?
private void Form1_Load(object sender, EventArgs e)
{
...
setTelegramEvent(); //위에 만든 소스에 이어서 추가해주세요.
}
private void setTelegramEvent()
{
Bot.OnMessage += Bot_OnMessage; // 이벤트를 추가해줍니다.
Bot.StartReceiving(); // 이 함수가 실행이 되어야 사용자로부터 메세지를 받을 수 있습니다.
}
//Events...
// Telegram...
private async void Bot_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
{
var message = e.Message;
if (message == null || message.Type != MessageType.TextMessage) return;
await Bot.SendTextMessageAsync(message.Chat.Id, message.Text);
}
자 이걸로 준비는 끝났습니다.
프로젝트를 저장하고, Start 를 시켜주시면
프로그램이 실행되면서 창 하나가 나타날 것입니다.
이후에 텔레그램 봇으로 메세지를 한번 입력해 보세요..
그럼 봇이 입력한 메세지를 도로 출력해주게 된답니다.
Bot_OnMessage 에 여러분들이 원하는 기능을 로직으로 구현하여
나만의 멋진 봇을 만들어 보시기 바랍니다.
그외에 다른 기능들도 많이 있으니 TelegramAPI 로 한번 접속 해 보세요.
그럼 이걸로 포스팅을 마치겠습니다.