Utilisation de Telegram avec un bloc code

Bonjour à tous,

J’ai essayé plusieurs méthodes, mais malheureusement je n’arrive pas à envoyer de message Telegram via un bloc code. En revanche, cela fonctionne très bien avec un bloc action.
Si certains ont un exemple de code fonctionnel, cela me serait très utile.

Merci d’avance pour votre aide.

Bonjour,

Un exemple ici :

1 « J'aime »

Un grand merci pour ton exemple :+1:Ca m’a permis de faire fonctionner mon bloc code

J’ajoute mon code ici, si ça peut être utile à quelqu’un

/**************************************************
 * SCÉNARIO DE NOTIFICATION TELEGRAM PRIORITÉS
 * Priorité 0 = Normal
 * Priorité 1 = Alerte
 * Priorité 2 = Critique (urgent, avec son forcé)
 **************************************************/

// Commande Telegram fixe
$cmd_path = '#Nom du device Telegram#';

// Récupération des tags
$receivedTags = $scenario->getTags();
$scenario->setLog('[INFO] Tags reçus : ' . json_encode($receivedTags));

// Extraction des valeurs
$message = isset($receivedTags['#message#']) ? $receivedTags['#message#'] : '';
$title   = isset($receivedTags['#title#'])   ? $receivedTags['#title#']   : 'empty=1';
$prio    = isset($receivedTags['#prio#'])    ? intval($receivedTags['#prio#']) : 0;

if ($message === '') {
    $scenario->setLog('[ERREUR] Tag #message# absent ou vide');
    return;
}

// Préparation notification
$disable_notification = true; // par défaut : silencieux

// PRIORITÉ 2 : CRITIQUE
if ($prio === 2) {
    $marker = '⛔';          // U+26D4
    $title  = 'ALERTE CRITIQUE';
    $disable_notification = false; // SON FORCÉ

    $message =
        "$marker CRITIQUE $marker\n\n" .
        $message .
        "\n\n$marker CRITIQUE $marker";

    $scenario->setLog('[INFO] Message traité comme CRITIQUE (priorité 2)');

// PRIORITÉ 1 : ALERTE
} elseif ($prio === 1) {
    $marker = '⚠️';         // U+26A0 (+ variation)
    $title  = 'ALERTE PRIORITAIRE';
    $disable_notification = false; // SON NORMAL

    $message =
        "$marker PRIORITÉ 1 $marker\n\n" .
        $message .
        "\n\n$marker PRIORITÉ 1 $marker";

    $scenario->setLog('[INFO] Message traité comme ALERTE (priorité 1)');

// PRIORITÉ 0 : NORMAL
} else {
    $scenario->setLog('[INFO] Message traité comme NORMAL (priorité 0)');
}

// Récupération de la commande Telegram
$cmd = cmd::byString($cmd_path);

if (!is_object($cmd)) {
    $scenario->setLog('[ERREUR] Commande introuvable : ' . $cmd_path);
    return;
}

// Envoi Telegram
try {
    $cmd->execCmd(
        array(
            'title'                => $title,
            'message'              => $message,
            'disable_notification' => $disable_notification
        ),
        0
    );

    $scenario->setLog('[OK] Message envoyé via : ' . $cmd->getHumanName());

} catch (Exception $e) {
    $scenario->setLog('[ERREUR] execCmd : ' . $e->getMessage());
}

2 « J'aime »

Salut

À choisir comme post solution alors ?

Antoine

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.