MyChat Scripts: mIntegrationTelegramGetUserIDByUIN, получить Telegram ID пользователя по UIN
Получить 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.