Чт июл 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 2025.3.1 (обновите страницу[…]
Он у вас и так есть, возьмите ту дату, когда была […]
Проекты в которых настроен доступ к "своим з[…]
Здравствуйте. Да. Справка, пошаговое руководство[…]
Окей, на скриншоте, что вы показываете — версия 20[…]
Добавили специальную проверку на сервер, если не с[…]
Ну мы не относимся к разряду всемогущих и всезнающ[…]
Всё ок, делайте тему, разберемся. Логи с клиентов […]
Ок, считаем пока ситуацию временной магией, не свя[…]