Получить Telegram ID пользователя по его MyChat UIN.

 

Синтаксис

function mIntegrationTelegramGetUserIDByUIN(iUIN: integer): string;

 

Параметры и возвращаемые значения

Параметр

Тип

Значение

iUIN

integer

уникальный идентификатор пользователя MyChat.

 

Результат функции

"-1"

пользователь с таким UIN не найден в таблице связей пользователей Telegram-MyChat;

"-2"

пользователь с таким UIN отключен и не может отправлять сообщения в Telegram;

другое значение

текстовый идентификатор Telegram-пользователя, соответствующий указанному UIN пользователя MyChat.

 

Пример

Скрипт дублирует приватное сообщение Telegram-пользователю, если UIN получателя в MyChat в данный момент находится офлайн. Скрипт привязан к событию OnPrivateMessage.


function OnPrivateMessage(iCID, iUIN, iUINTo, iMsgType: integer; sMsg: string): boolean;
var
  sID, sOutMsg, sNameFrom: string;
begin
  result := true;
    
    if not mIsUINOnline(iUINTo) then begin
      // get sender's Telegram ID
      sID := mIntegrationTelegramGetUserIDByUIN(iUINTo);
      
        if sID[1] <> '-' then begin // no errors
          // get MyChat sender's display name
          sNameFrom := mGetUserFullNameByPreset(iUIN, 0);
          
          // convert MyChat message to plaint text
          sOutMsg := mConvertMsgToPlainText(sMsg, iMsgType);
          
          // add WEB support link and user display name to message
          sOutMsg := ''
                     sNameFrom + 
                     ':'
                     CRLF + 
                     CRLF + 
                     sOutMsg;
                     
          // send message to Telegram
          mIntegrationTelegramSendMessage(sID, sOutMsg);
        end;  
    end;
end;
begin
end.


 

Отправка сообщения для офлайн-пользователя из MyChat в Telegram

Ещё посмотреть

CRLF

IntToStr

mConvertMsgToPlainText

mGetUserFullNameByPreset

mGetServerExternalAddress

mIntegrationTelegramSendMessage

mIsUINOnline