
Это компонент Delphi для взаимодействия с API Telegram Bot. Он предоставляет набор функций для выполнения различных действий, используя платформу Telegram Bot.
Чтобы использовать этот компонент в вашем проекте Delphi, выполните следующие действия:
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'); |
| SEDLOCATE | Отправить местоположение. | 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); |
| Недостаток | Отказ от члена чата. | UnBanned := TelegramBot.UnBanChatMember(ChatId, UserId); |
| CreateChatinViteLink | Создайте ссылку на приглашение в чате. | InviteLink := TelegramBot.CreateChatInviteLink(ChatId); |
| RevokeChatinViteLink | Отменить ссылку на приглашение в чате. | RevokedLink := TelegramBot.RevokeChatInviteLink(ChatId, 'your_invite_link'); |
| ExportChatinViteLink | Экспортируйте ссылку на приглашение в чате. | ExportedLink := TelegramBot.ExportChatInviteLink(ChatId); |
| ApproveChatjoinRequest | Утвердить запрос на присоединение к чату. | 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'); |
| Ливчат | Оставьте чат. | 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.
Не стесняйтесь вносить свой вклад, открыть проблемы или предоставлять обратную связь!