Skip to content

Hello world

Maxim Sysoev edited this page Feb 20, 2017 · 2 revisions

Ваш первый бот

Тестирую бота в группе: https://t.me/telegaPiBotTest. Присоединяйтесь

Интро

  1. Устанавливаем TelegaPI
  2. Создаем новое приложение(FMX/VCL)
  3. Бросаете на форму TTelegramBot
  4. Указываете токен (TTelegramBot.Token), который можно получить у @BotFather
  5. В 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

Работаем с методами

getMe:TUser

Первое с чего начнем знакомится - так это получение данных о своем боте.

var
  LUser: TtgUser;
begin
  LUser := TelegramBot.getMe;
  mmo1.Lines.Add(Format('ID: %d, Username: %s ', [LUser.ID, LUser.Username]));
  LUser.Free; // !!!

Обратите внимание! Почти все функции возвращают объекты, и зачищать их придется вам. Возможно я когда-то и сделаю что-бы результатом функций были интерфейсы, но это совсем другая история.

sendMessage:TtgMessage

Метод служит для отправки сообщений. Есть следующие аргументы:

Clone this wiki locally