@Zugusik
Разработчик электроники

Можно ли использовать Telegram в связке с приложением под Windows?

Здравствуйте.
Я разрабатываю электронные девайсы, для разных применение. Как правило, они передают данные от датчиков либо на персональный компьютер под Windows, либо в специализированное приложение на телефоне по блютус. Мне бы хотелось доработать приложение на компе, для того, чтобы оно эти данные отправляло еще и в телегу, при наличии интернета.
Если я правильно понял, копать мне нужно в сторону telegram bot api? Чтобы пользователь добавлял себе этого бота сам.
Но мне немного не ясно, если бот один, для всех пользователей. И пользователей несколько десятков. Как данные будут приходить именно к тем пользователям которым надо? Мне нужно, чтобы приложение на компе отправляло данные конкретному человеку. Или мне лучше посмотреть какой то другой мессенджер? Что посоветуете?
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
HemulGM
@HemulGM Куратор тега Delphi
Delphi Developer, сис. админ
Для этого достаточно написать одну строку.
TDownload.GetRequest('https://api.telegram.org/' + TG_BOT_TOKEN + '/sendMessage?chat_id=' + ChatId + '&text=' + TURLEncoding.URL.Encode(Text));

Где TDownload.GetRequest просто выполняет простой GET запрос без чтения ответа, а TG_BOT_TOKEN - это строка токена бота, которая будет выдана при создании бота в Телеграм
Пример токена бота "bot1234567899:GFGJDGSDJFHGJSD_sdFdfskjdfhskdf"

GetRequest можешь использовать такой, или интегрировать
uses System.Net.HTTPClient;
function GetRequest(URL: string): Boolean;
var
  HTTP: THTTPClient;
begin
  Result := False;
  if URL.IsEmpty then
    Exit;
  HTTP := THTTPClient.Create;
  HTTP.HandleRedirects := True;
  try
    try
      Result := HTTP.Get(URL).StatusCode = 200;
    finally
      HTTP.Free;
    end;
  except
    Result := False;
  end;
end;


TURLEncoding находится тут System.NetEncoding.

Самым сложным наверно будет получить ChatId чата, в который нужно будет писать. Если самому себе, то это Id юзера. Т.е. тебе нужно просто будет составить список ChatId (Id нужных пользователей) и выполнить запрос с каждым ChatId.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы