Чт июл 30, 2020 11:28 pm Чт июл 30, 2020 11:28 pm
Чт июл 30, 2020 11:28 pm Чт июл 30, 2020 11:28 pm
function OnRequestByREST(sBody, sParams, sHeaders, sURL, sIPv4, sIPv6: string; iType: integer): string;
var
  sFirstName, sLastName, sNickName, sTelegramID, sText: string;
begin
  sFirstName  := '';
  sLastName   := '';
  sNickName   := '';
  sTelegramID := '';
  sText       := '';
  
  JSONGetString(sBody, 'message.from.id', sTelegramID);
  JSONGetString(sBody, 'message.from.first_name', sFirstName);
  JSONGetString(sBody, 'message.from.last_name', sLastName);
  JSONGetString(sBody, 'message.from.username', sNickName);
  JSONGetString(sBody, 'message.text', sText);
  
    if LowerCase(sText) = '/start' then 
      mIntegrationTelegramAddUser(sTelegramID, sFirstName, sLastName, sNickName);
end;
begin
end.// -----------------------------------------------------------------------------------
// ver 2.0 / Aug 10, 2017, (c) Alexey Pikurov, [email protected]
// -----------------------------------------------------------------------------------
function OnRequestByREST(sBody, sParams, sHeaders, sURL, sIPv4, sIPv6: string; iType: integer): string;
var
  sFirstName, sLastName, sNickName, sTelegramID, sText, sData: string;
  iResult, x, iUIN, iUINFrom: integer;
begin
  sFirstName  := '';
  sLastName   := '';
  sNickName   := '';
  sTelegramID := '';
  sText       := '';
  // get request data
  JSONGetString(sBody, 'message.from.id', sTelegramID);
  JSONGetString(sBody, 'message.from.first_name', sFirstName);
  JSONGetString(sBody, 'message.from.last_name', sLastName);
  JSONGetString(sBody, 'message.from.username', sNickName);
  JSONGetString(sBody, 'message.text', sText);
    // if user is connecting to the Telegram bot for the first time
    if LowerCase(sText) = '/start' then mIntegrationTelegramAddUser(sTelegramID, sFirstName, sLastName, sNickName)
      else begin // maybe user send reply message to the bot
        iResult := JSONGetString(sBody, 'message.reply_to_message.entities[0].url', sData);
        
          if iResult = 0 then begin
            // get receiver's UIN
            x := pos('?uin=', sData) + 5;
            iUIN := StrToIntDef(copy(sData, x, pos('&', sData) - x), -1);
            
            // get sender's UIN by user Telegram ID
            iUINFrom := mIntegrationTelegramGetMyChatUINByTelegramID(sTelegramID);
              // if sender and receiver are exists
              if (iUIN <> -1) and (iUINFrom > 0) then begin
                // multi-line text
                sData := '[Telegram] ' + ReplaceString(sText, #10, CRLF, true, false); 
                // send private message into MyChat
                mSendPrivateMessage(iUINFrom, iUIN, sData, 1, true);
              end;  
          end;
      
      end;
      
  result := '{}';
end;
begin
end.Я отделил ваши сообщения от первоначальной темы. Пожалуйста, отделяйте любой свой вопрос в отдельную тему.
Пользуйтесь тегом code для выделения исходных текстов, чтобы их можно было нормально читать.
Скрипт неполный. Вы используете версию 8.0.3 ?Здравствуйте. Уберите последний параметр true из функции mSendPrivateMessage, сохраните и включите скрипт.
MyChat Client [-] (03.11.2025) (android) на […]
Да, есть. Технически упоминания уже почти работают[…]
Добрый день Но ведь в любом случае, если импорт и[…]
Я решил пойти по тому же пути, что и со службой се[…]
Дополняю скриншотами
перепроверил - такое поведение было в EDGE Верси[…]
На одном из подопытных Android всё заработало посл[…]
Сейчас история загружается с сервера автоматически[…]
Реализована функция полной очистки истории, версия[…]
Реализовано в версии 2025.4, переношу тему в разде[…]
MyChat 2025.4 — полное удаление истории в конфере[…]
Уже всё работает. Кроме того, можно удалять полно[…]