Facebook Messenger

Informace o tom, co se právě děje v HomeAssistant prostřednictvím nejrůznějších sociálních komunikátorů.
Odpovědět
Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

Facebook Messenger

Příspěvek od Lion® »

Facebook Messenger

facebookPlatforma oznámení umožňuje zasílání upozornění přes Facebook Messenger, poháněné Facebooku .

Chcete-li použít tuto platformu oznámení ve vaší instalaci, přidejte do svého configuration.yamlsouboru následující:

Kód: Vybrat vše

# Example configuration.yaml entry
notify:
  - name: NOTIFIER_NAME
    platform: facebook
    page_access_token: FACEBOOK_PAGE_ACCESS_TOKEN
YAMLkopírovatKONFIGURAČNÍ PROMĚNNÉ
řetězec page_access_token VYŽADUJE SE
Token přístupu pro vaši stránku na Facebooku. Pokladna Facebook Messenger Platform pro více informací.
Název string ( volitelné , výchozí:notify )
Nastavení volitelného parametru nameumožňuje vytvořit více oznamovatelů. Oznamovatel se připojí ke službě notify.NOTIFIER_NAME.
POUŽÍVÁNÍ

Díky službě upozornění na Facebooku můžete odesílat oznámení na svého Facebook Messenger pomocí vaší stránky na Facebooku. Pro tuto službu musíte vytvořit stránku na Facebooku a aplikaci . Můžete jej ovládat voláním oznamovací služby, jak je popsáno zde . Zašle zprávu o poslu uživateli zadaného cíle jménem své stránky. Další informace najdete ve stručném průvodci. Telefonní číslo použité v cíli by mělo být zaregistrováno u messengeru Facebook. Telefonní číslo příjemce by mělo být ve formátu +1(212)555-2368. Pokud vaše aplikace není schválena Facebookem, měl by její příjemce být administrátorem, vývojářem nebo testerem vaší aplikace na Facebooku. Více informací o telefonním čísle.

Kód: Vybrat vše

# Example automation notification entry
automation:
  - alias: Evening Greeting
    trigger:
      platform: sun
      event: sunset
    action:
      service: notify.facebook
      data:
        message: 'Good Evening'
        target:
          - '+919413017584'
          - '+919784516314'
YAMLkopírovat
Můžete také posílat zprávy uživatelům, kteří nemají uložené své telefonní číslo na Facebooku, ale to vyžaduje trochu více práce. Platforma Messenger používá ID konkrétních stránek místo globálního ID uživatele. Pro událost „messages“ ve vývojářské konzoli Facebooku budete muset povolit webhook. Jakmile uživatel napíše zprávu na stránku, webhook poté obdrží ID specifické pro stránku uživatele jako součást užitečného zatížení webhooku. Níže je uveden jednoduchý skript PHP, který reaguje na zprávu „get my id“ a odešle odpověď obsahující ID uživatele:

Kód: Vybrat vše

<?php

$access_token = "";
$verify_token = "";

if (isset($_REQUEST['hub_challenge])) {
    $challenge        = $_REQUEST['hub_challenge];
    $hub_verify_token = $_REQUEST['hub_verify_token];

    if ($hub_verify_token === $verify_token) {
        echo $challenge;
    }
}

$input   = json_decode(file_get_contents('php://input'), true);
$sender  = $input['entry][0]['messaging][0]['sender]['id];
$message = $input['entry][0]['messaging][0]['message]['text];

if (preg_match('/get my id/', strtolower($message))) {
    $url      = 'https://graph.facebook.com/v2.10/me/messages?access_token=' . $access_token;
    $ch       = curl_init($url);
    $jsonData = '{
        "recipient":{
            "id":"' . $sender . '"
        },
        "message":{
            "text":"Your ID: ' . $sender . '"
        }
      }';

    $jsonDataEncoded = $jsonData;
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json]);

    if (!empty($input['entry][0]['messaging][0]['message])) {
        $result = curl_exec($ch);
    }
}
PHPkopírovatBOHATÉ ZPRÁVY

Můžete také posílat bohaté zprávy (karty, tlačítka, obrázky, videa atd.). Informace o tom, jaké typy zpráv a jak je vytvářet.

Kód: Vybrat vše

# Example script with a notification entry with a rich message

script:
  test_fb_notification:
    sequence:
      - service: notify.facebook
        data:
          message: Some text before the quick replies
          target: 0034643123212
          data:
            quick_replies:
              - content_type: text
                title: Red
                payload: DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED
              - content_type: text
                title: Blue
                payload: DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_BLUE
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

Odpovědět

Zpět na „Notifikace“