-
-
Notifications
You must be signed in to change notification settings - Fork 36
Hello world
Maxim Sysoev edited this page Feb 20, 2017
·
2 revisions
Тестирую бота в группе: https://t.me/telegaPiBotTest. Присоединяйтесь
- Устанавливаем TelegaPI
- Создаем новое приложение(FMX/VCL)
- Бросаете на форму TTelegramBot
- Указываете токен (TTelegramBot.Token), который можно получить у @BotFather
- В TForm.OnCreate напишите
TelegramBot.IsReceiving := True;
что бы бот запрашивал информацию с сервера автоматически. Так же на форму положите TMemo, для наглядности, что бы видеть, что приходит от сервера. И панель с кнопками, по нажатию которых будем вызывать нужные методы компонента. У меня это выглядит так: Что бы сообщения попадали в TMemo я в событии OnUpdates написал такой простенький код:
procedure TForm1.TelegramBotUpdates(Sender: TObject; Updates: TArray<TelegAPI.Classes.TtgUpdate>);
var
I: Integer;
begin
for I := Low(Updates) to High(Updates) do
if Updates[I].Message <> nil then
begin
mmo1.Lines.Add(Updates[I].Message.text);
end;
end;
Теперь если написать нашему боту что-либо это отобразится в TMemo
Первое с чего начнем знакомится - так это получение данных о своем боте.
var
LUser: TtgUser;
begin
LUser := TelegramBot.getMe;
mmo1.Lines.Add(Format('ID: %d, Username: %s ', [LUser.ID, LUser.Username]));
LUser.Free; // !!!
Обратите внимание! Почти все функции возвращают объекты, и зачищать их придется вам. Возможно я когда-то и сделаю что-бы результатом функций были интерфейсы, но это совсем другая история.
Метод служит для отправки сообщений. Есть следующие аргументы: