Обновить
0

Пользователь

Отправить сообщение

Попробуй так (работает на старой curlhttpRequest)

var MaxMessenger = {
apiUrl: null,
token: null,
to: null,
message: null,
subject: null,
proxy: null,
isUser: false,

sendMessage: function () {
    var param = MaxMessenger.isUser ? 'user_id' : 'chat_id';
    var url = MaxMessenger.apiUrl + '/messages?' + param + '=' + encodeURIComponent(MaxMessenger.to);

    var payload = {
        text: (MaxMessenger.subject ? MaxMessenger.subject + '\n' : '') + MaxMessenger.message
    };

    // Используем CurlHttpRequest
    var request = new CurlHttpRequest();
    var data = JSON.stringify(payload);

    // В CurlHttpRequest методы пишутся с Большой буквы
    if (MaxMessenger.proxy) {
        request.SetProxy(MaxMessenger.proxy);
    }

    // Явно добавляем заголовки
    request.AddHeader('Content-Type: application/json');
    request.AddHeader('Authorization: ' + MaxMessenger.token);

    Zabbix.Log(4, '[Max] Sending POST to: ' + url);

    // Выполнение запроса
    var response = request.Post(url, data);
    var status = request.Status();
    
    Zabbix.Log(4, '[Max] HTTP Status: ' + status + '. Response: ' + response);

    if (status < 200 || status >= 300) {
        throw 'HTTP ' + status + ': ' + response;
    }

    return response;
}

};

try {
// value — это стандартная входящая переменная в Zabbix
var params = JSON.parse(value);

['ApiUrl', 'Token', 'To', 'Subject', 'Message'].forEach(function(p) {
    if (!params[p]) throw 'Parameter "' + p + '" is missing';
});

MaxMessenger.apiUrl = params.ApiUrl;
MaxMessenger.token = params.Token;
MaxMessenger.to = params.To;
MaxMessenger.subject = params.Subject;
MaxMessenger.message = params.Message;
MaxMessenger.proxy = params.HTTPProxy; // Добавлена поддержка прокси из параметров

if (params.IsUser && params.IsUser.toLowerCase() === 'true') {
    MaxMessenger.isUser = true;
}

MaxMessenger.sendMessage();
return 'OK';

}
catch (error) {
Zabbix.Log(3, '[Max ERROR] ' + error); // Уровень 3 — это Warning в логах Zabbix
throw 'Sending failed: ' + error;
}

Заметил странность, очень часто в комментах пишут что то типа "ты для этого зарегистрировался пару дней назад\сегодня, что бы оставить тут комментарий".

Начинаю проверять, а профиль к которому адресован данный коммент зареган то в 22 то в 19 итд (давно в общем).

Причем пишут это, скажем так, обе стороны баррикад.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Системный администратор
Ведущий