Обновить

Комментарии 42

Пример интересный. Смущает разнообразие правок на случай ошибок. Это код не протестирован или в max так часто API меняется, что нужно постоянно запрос подстраивать?

И , по моему мнению, регистрация ботов только для юрлиц и обязательная модерация - убивают всю пользу от самого механизма ботов.

Код протестирован, но Макс постоянно что то правит по этому и столько правок

У нас юр лицо, и бот можно сказать наш но от части, он нашего учредителя

Только для юридических лиц и организаций

За статью спасибо, на этом месте физлица понимают, что эта история не про них.

У меня весь колхоз-мониторинг через Telegram работает. Надо еще почту прикрутить для алертов, надеюсь до нее доберутся не скоро. /s

http://ntfy.sh и не нужен Мах

При белых списках вы эти уведомления не увидите

Простите, но есть xmpp, email, позвонить, зачем вообще встраивать никамуне нужное поделие. Я лучше смс перейду чем буду иметь дело с max

А смс еще разрешены?

ахах, даа, ну вроде их читать может даже ленивый, поэтому пока работают, правда нужно gsm шлюз делать или kannel настраивать

Вот так вот и сдают страну

Ага, согласен((

моим путём вы бота не получите по этому я не буду тут рассказывать как я его раздобыл.

Всё равно ж интересно, что за способ

Записался как разработчик или тестировщик, ну или на гуглил, сейчас через публичные диалоги с ИИ что только не утекает...

Не работает

В коде ни чего править не нужно, все настройки задайте так

Он не может найти такой чат, это точно чат с ботом ?

Это Число после / (в примере 123456) — это и есть Chat ID.

Созданный на моем личном телефоне

  1. Нужно запустить бота

  2. Нужно добавить бота в нужный чат.

    Тогда все должно получиться.

Спасибо ЧЕЛОВЕК!, все заработало

Я правда не тестировал его с групповыми чатами, но попозже проверю

Попробуй так (работает на старой 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;
}

Достаточно небольшой список для рассмотрения альтернатив. Не смотрели в сторону yandex messenger? Позиционируют они себя как решение для бизнеса. API есть. Ну и как бы кто не смотрел на яндекс, кажется это будет постабильнее непонятной поделки. Главный критерий - время, а значит доступность и понятность документации в приоритете. А про него вроде где-то видел регулярно гоняют рекламу, так что какая-то известность вероятно есть.

Если честно я о нем даже не подумал, посмотрю по позже его апи

Нужна подписка на Яндекс 360, причем не самая дешёвая. Самая дешёвая ботов не поддерживает

> как заменить в zabbix транспорт уведомлений с telegram на max
>> никак, токен не дадут смертному

Тут я с вами согласен, дело не очень простое

а с учётом того что макс ещё умудряется пуши не все показывать - ещё и безполезное
нафиг нужен канал уведомлений который может не показать уведомление..

Vk worspace не подошёл по тому, что надо согласовывать, а макс подшёл потому, что его так просто не дадут и не скажу где взял. А вдруг и юрикам долго согласовывать?

В моем случае у меня было быстрее и проще получить доступ к максу

Я так и не понял нахрена , если вам для локальной работы, зачем что-то ставить глобальное?

Чел работает в скаме и пиарит сервис. Да я лучше дохлыми голубями уведомления буду слать...

Полный бойкот насильно насаждаемым псевдогосударственным костылям

Telegram заблокирован, уведомления из Zabbix не доходят. Пошаговый гайд: как интегрировать мессенджер Max 

Можно, но зачем, если есть gotify, ntfy? Бесплатно, self-hosted, никто не отключит по велению ркн.

Но токен можно получить официально:

- Только для юридических лиц и организаций

Это основная претензия к максу. Ради уведомлений от датчиков воды надо ИП регать. Ну зашибись. Хочешь сделать два канала - один для уведомлений о заказах, второй для dev - лососни тунца.

Меня не интересует "как?", меня интересует "зачем?".

Написал выше уже про https://ntfy.sh

Ну и на apprise рекомендую взглянуть.

Спасибо, только собрался сам мучить ГПТ на тему ЯваСкрипта, а тут уже есть решение. Учредитель сразу получил токен, алармы идут.

Задача стояла "получать оперативно алармы", задача выполнена. самому не нравится макс, но оперативные данные сейчас важнее.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации