
이것은 Telegram Bot API와 상호 작용하기위한 델파이 구성 요소입니다. Telegram BOT 플랫폼을 사용하여 다양한 작업을 수행 할 수있는 기능 세트를 제공합니다.
델파이 프로젝트 에서이 구성 요소를 사용하려면 다음을 수행하십시오.
DTelegram.dproj 파일을 엽니 다.DTelegram.bpl 컴파일하고 설치하십시오. 이 단계에는 프로젝트 파일을 마우스 오른쪽 버튼으로 클릭하고 "컴파일"을 선택한 다음 "설치"가 포함될 수 있습니다. | 기능 | 설명 | 예제 사용 |
|---|---|---|
| getme | 봇에 대한 정보를 얻으십시오. | BotInfo := TelegramBot.GetMe; |
| 로그 아웃 | 봇에서 로그 아웃하십시오. | LoggedOut := TelegramBot.LogOut; |
| 닫다 | 봇 연결을 닫으십시오. | Closed := TelegramBot.Close; |
| SendMessage | 문자 메시지를 보내십시오. | Message := TelegramBot.SendMessage(ChatId, 'Hello, Telegram!'); |
| ForwardMessage | 메시지를 전달하십시오. | ForwardedMessage := TelegramBot.ForwardMessage(TargetChatId, SourceChatId, MessageId); |
| copymessage | 메시지를 복사하십시오. | CopiedMessageId := TelegramBot.CopyMessage(TargetChatId, SourceChatId, MessageId); |
| SendPhoto | 사진을 보내십시오. | PhotoMessage := TelegramBot.SendPhoto(ChatId, 'path/to/photo.jpg', 'Check this out!'); |
| Sendaudio | 오디오 파일을 보내십시오. | AudioMessage := TelegramBot.SendAudio(ChatId, 'path/to/audio.mp3', 'Listen to this!'); |
| SendDocument | 문서를 보내십시오. | DocumentMessage := TelegramBot.SendDocument(ChatId, 'path/to/document.pdf'); |
| SendVideo | 비디오를 보내십시오. | VideoMessage := TelegramBot.SendVideo(ChatId, 'path/to/video.mp4'); |
| sendanimation | 애니메이션 (GIF)을 보내십시오. | AnimationMessage := TelegramBot.SendAnimation(ChatId, 'path/to/animation.gif'); |
| SendVoice | 음성 메시지를 보내십시오. | VoiceMessage := TelegramBot.SendVoice(ChatId, 'path/to/voice.ogg'); |
| SendVideOnote | 비디오 노트를 보내십시오. | VideoNoteMessage := TelegramBot.SendVideoNote(ChatId, 'path/to/videonote.mp4'); |
| SendLocation | 위치를 보내십시오. | LocationMessage := TelegramBot.SendLocation(ChatId, Latitude, Longitude); |
| Sendvenue | 장소를 보내십시오. | VenueMessage := TelegramBot.SendVenue(ChatId, Latitude, Longitude, 'Venue Title', 'Venue Address'); |
| SendContact | 연락처를 보내십시오. | ContactMessage := TelegramBot.SendContact(ChatId, '123456789', 'John Doe'); |
| sendpoll | 설문 조사를 보내십시오. | PollMessage := TelegramBot.SendPoll(ChatId, 'Which is your favorite color?', ['Red', 'Green', 'Blue']); |
| Senddice | 주사위를 보내십시오. | DiceMessage := TelegramBot.SendDice(ChatId, '?'); |
| getupdates | 서버에서 업데이트를받습니다. | Updates := TelegramBot.GetUpdates(100, -1, 0); |
| getfile | 파일에 대한 정보를 얻습니다. | FileInfo := TelegramBot.GetFile(FileId); |
| Banchatmember | 채팅 회원을 금지하십시오. | Banned := TelegramBot.BanChatMember(ChatId, UserId); |
| undanchatmember | 채팅 멤버를 해제하십시오. | UnBanned := TelegramBot.UnBanChatMember(ChatId, UserId); |
| CreateChatinVitelink | 채팅 초대 링크를 만듭니다. | InviteLink := TelegramBot.CreateChatInviteLink(ChatId); |
| Revokechatinvitelink | 채팅 초대 링크를 취소하십시오. | RevokedLink := TelegramBot.RevokeChatInviteLink(ChatId, 'your_invite_link'); |
| ExportChatinVitelink | 채팅 초대 링크를 내보내십시오. | ExportedLink := TelegramBot.ExportChatInviteLink(ChatId); |
| ApproveCheChatJoinRequest | 채팅 조인 요청을 승인합니다. | Approved := TelegramBot.ApproveChatJoinRequest(ChatId, UserId); |
| declinechatjoinrequest | 채팅 조인 요청을 거부합니다. | Declined := TelegramBot.DeclineChatJoinRequest(ChatId, UserId); |
| Deletechatphoto | 채팅 사진을 삭제하십시오. | PhotoDeleted := TelegramBot.DeleteChatPhoto(ChatId); |
| SetChattitle | 채팅 제목을 설정하십시오. | TitleSet := TelegramBot.SetChatTitle(ChatId, 'New Title'); |
| setchatdescription | 채팅 설명을 설정하십시오. | DescriptionSet := TelegramBot.SetChatDescription(ChatId, 'New Description'); |
| LeaveChat | 채팅을 떠나십시오. | LeftChat := TelegramBot.LeaveChat(ChatId); |
| getchat | 채팅에 대한 정보를 얻으십시오. | ChatInfo := TelegramBot.GetChat(ChatId); |
| setMyname | 봇 이름을 설정하십시오. | NameSet := TelegramBot.SetMyName('New Bot Name'); |
| getmyname | 봇 이름을 얻으십시오. | BotName := TelegramBot.GetMyName(); |
| setmydescription | 봇의 설명을 설정하십시오. | DescriptionSet := TelegramBot.SetMyDescription('New Bot Description'); |
| getmydescription | 봇의 설명을 얻으십시오. | BotDescription := TelegramBot.GetMyDescription(); |
| geninlinekeyboard | 회신 키보드 | Response := TelegramBot.GenInlineKeyBoard(AButtonList,NumberOfButtonPerRow); |
이 구성 요소를 사용하기 전에 봇을 만들어야합니다.
공개 채널의 경우 chatid를 찾기가 매우 쉽습니다.
Ex : https://t.me/abcdefg - > ChatId := @abcdefg;봇에 대한 정보를 얻으십시오.
var BotInfo := TelegramBot.GetMe;봇에서 로그 아웃하십시오.
var LoggedOut := TelegramBot.LogOut;봇 연결을 닫으십시오.
var Closed := TelegramBot.Close;문자 메시지를 보내십시오.
var Message := TelegramBot.SendMessage(ChatId, ' Hello, Telegram! ' );메시지를 전달하십시오.
var ForwardedMessage := TelegramBot.ForwardMessage(TargetChatId, SourceChatId, MessageId);메시지를 복사하십시오.
var CopiedMessageId := TelegramBot.CopyMessage(TargetChatId, SourceChatId, MessageId);사진을 보내십시오.
// How use AOptions
var AOption : TTelegramDic; // TDictionary<string,string>;
AOption := TTelegramDic.Create;
AOption.Add( ' protect_content ' , ' 1 ' ); // Example
var PhotoMessage := TelegramBot.SendPhoto(ChatId, ' path/to/photo.jpg ' , ' Check this out! ' ,AOption);오디오 파일을 보내십시오.
var AudioMessage := TelegramBot.SendAudio(ChatId, ' path/to/audio.mp3 ' , ' Listen to this! ' );문서를 보내십시오.
var DocumentMessage := TelegramBot.SendDocument(ChatId, ' path/to/document.pdf ' );비디오를 보내십시오.
var VideoMessage := TelegramBot.SendVideo(ChatId, ' path/to/video.mp4 ' );애니메이션 (GIF)을 보내십시오.
var AnimationMessage := TelegramBot.SendAnimation(ChatId, ' path/to/animation.gif ' );음성 메시지를 보내십시오.
var VoiceMessage := TelegramBot.SendVoice(ChatId, ' path/to/voice.ogg ' );비디오 노트를 보내십시오.
var VideoNoteMessage := TelegramBot.SendVideoNote(ChatId, ' path/to/videonote.mp4 ' );위치를 보내십시오.
var LocationMessage := TelegramBot.SendLocation(ChatId, Latitude, Longitude);장소를 보내십시오.
var VenueMessage := TelegramBot.SendVenue(ChatId, Latitude, Longitude, ' Venue Title ' , ' Venue Address ' );연락처를 보내십시오.
var ContactMessage := TelegramBot.SendContact(ChatId, ' 123456789 ' , ' John Doe ' );설문 조사를 보내십시오.
var ListAnswers := TStringList.Create;
ListAnswers.Add( ' Red ' );
ListAnswers.Add( ' Green ' );
ListAnswers.Add( ' Blue ' );
// How use Option Argument
var Option := TStringList.Create;
Option.Add( ' allows_multiple_answers=1 ' );
Option.Add( ' protect_content=true ' );
var PollMessage := TelegramBot.SendPoll(ChatId, ' Which is your favorite color? ' , ListAnswers,Option);주사위를 보내십시오.
MyEmoji := TEmojiDice.Basketball;
var DiceMessage := TelegramBot.SendDice(ChatId, MyEmoji);서버에서 업데이트를받습니다.
// By Default : Limit = 100; OffSet = -1; TimeOut = 0
var Updates := TelegramBot.GetUpdates(limit,AOffSet,ATimeOut);
파일에 대한 정보를 얻습니다.
var FileInfo := TelegramBot.GetFile(FileId);채팅 회원을 금지하십시오.
var Banned := TelegramBot.BanChatMember(ChatId, UserId);채팅 멤버를 해제하십시오.
var UnBanned := TelegramBot.UnBanChatMember(ChatId, UserId);채팅 초대 링크를 만듭니다.
var InviteLink := TelegramBot.CreateChatInviteLink(ChatId);채팅 초대 링크를 취소하십시오.
var RevokedLink := TelegramBot.RevokeChatInviteLink(ChatId, ' your_invite_link ' );채팅 초대 링크를 내보내십시오.
var ExportedLink := TelegramBot.ExportChatInviteLink(ChatId);채팅 조인 요청을 승인합니다.
var Approved := TelegramBot.ApproveChatJoinRequest(ChatId, UserId);채팅 조인 요청을 거부합니다.
var Declined := TelegramBot.DeclineChatJoinRequest(ChatId, UserId);채팅 사진을 삭제하십시오.
var PhotoDeleted := TelegramBot.DeleteChatPhoto(ChatId);채팅 제목을 설정하십시오.
var TitleSet := TelegramBot.SetChatTitle(ChatId, ' New Title ' );채팅 설명을 설정하십시오.
var DescriptionSet := TelegramBot.SetChatDescription(ChatId, ' New Description ' );채팅을 떠나십시오.
var LeftChat := TelegramBot.LeaveChat(ChatId);채팅에 대한 정보를 얻으십시오.
var ChatInfo := TelegramBot.GetChat(ChatId);봇 이름을 설정하십시오.
var NameSet := TelegramBot.SetMyName( ' New Bot Name ' );봇 이름을 얻으십시오.
var BotName := TelegramBot.GetMyName();봇의 설명을 설정하십시오.
var DescriptionSet := TelegramBot.SetMyDescription( ' New Bot Description ' );봇의 설명을 얻으십시오.
var BotDescription := TelegramBot.GetMyDescription();대화식 동작을위한 인라인 키보드를 활성화하십시오. 인라인 키보드는 무대 뒤에서 작동하거나 URL 버튼을 포함하여 다른 인터페이스를 열 수있는 버튼을 지원합니다.
Temojiconstants를 사용하려면 세 번째 부분 https://github.com/aso14/delphi-unicode-emoji가 필요합니다
// Example usage of Inline Keyboards
var
LButtonList : TList <TTelegramInlineKeyBoardButton>;
begin
LButtonList := TList<TTelegramInlineKeyBoardButton>.Create;
// Create Button without Emoji
var LButton1 := TTelegramInlineKeyBoardButton.Create;
LButton1.text := ' Delphi Telegram ' ;
LButton1.url := ' https://github.com/aso14/DTelegram ' ;
// Create Button with Emoji
var LButton2 := TTelegramInlineKeyBoardButton.Create;
LButton2.text := ' Delphi UI ' + TEmojiConstants.UpsideDownFace;
LButton2.url := ' https://t.me/delphui ' ;
var LButton3 := TTelegramInlineKeyBoardButton.Create;
LButton3.text := ' Youtube ' +TEmojiConstants.WinkingFace;
LButton3.url := ' https://www.youtube.com/@uidelphi ' ;
LButtonList.Add(LButton1);
LButtonList.Add(LButton2);
LButtonList.Add(LButton3);
// If ALimitValue = 3, the maximun number of Button per row will be 3
var Response := TelegramBot.GenInlineKeyBoard(LButtonList, 3 );
var Option := TStringList.Create;
Option.Add( ' reply_markup= ' +Response);
TelegramBot.SendMessage( ' @chatId ' , ' Text ' ,Option);
end ;이 라이브러리는 MIT 라이센스에 따라 릴리스됩니다.
자유롭게 기여하거나 문제를 열거 나 피드백을 제공하십시오!