Wie sende ich Emoji mit der Telegram Bot API?

Lesezeit: 4 Minuten

Benutzer-Avatar
Vlmake

Ich muss Nachrichten mit Emojis mit meinem Telegram Bot senden.

Also kopiere ich den Emoji-Code und füge ihn ein :nine: zum Beispiel in meinen Nachrichtentext und sende ihn an einen Benutzer, ABER Emoji hat nicht funktioniert.

Dies ist mein Beispielcode und meine Funktion:

function tel_send($key, $t, $c)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://api.telegram.org/bot" . $key . "/sendMessage");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "cache=" . (time() / rand(1, time() - 100)) . "&text=" . $t . "&chat_id=" . $c);
    $ss = curl_exec($ch);
    curl_close($ch);
    return $ss;
}
tel_send($key, "My number - :nine:", $val['message']['chat']['id']);

Meine Frage lautet also: Wie kann ich Emojis per Telegram-Bot senden?

Ich hatte vor ein paar Tagen das gleiche Problem. Die Lösung besteht darin, die Bytes-Notation (UTF-8) aus dieser Tabelle zu verwenden:
http://apps.timwhitlock.info/emoji/tables/unicode

Beispiele:

😁 \xF0\x9F\x98\x81 GRINNES GESICHT MIT LÄCHELNDEN AUGEN

😉 \xF0\x9F\x98\x89 BLINKENDES GESICHT

  • Dies wurde erfolgreich mit einem PHP-Bot verwendet. +1 für die Bereitstellung eines so hervorragenden Links zu Emojis-Codes in diesem Format.

    Benutzer2930576

    7. Februar 2016 um 3:25 Uhr

  • Denken Sie in PHP daran, es innerhalb einer Zeichenfolge in doppelten Anführungszeichen zu verwenden.

    – MTVS

    18. Februar 2016 um 12:01 Uhr

  • Dies ist die einzige Möglichkeit, Emojis zum Laufen zu bringen, wenn die API-URL direkt aufgerufen wird.

    – NVO

    13. Februar 2018 um 15:58 Uhr

  • Genial, sollte die akzeptierte Antwort sein. Dies ist der aktualisierte Link: unicode.org/emoji/charts/full-emoji-list.html

    – Dennis Golomazov

    25. September 2019 um 21:32 Uhr


Benutzer-Avatar
Mussafa

Sie müssen den Unicode-Wert von Emoji angeben.

überprüfe hier

Diese werden von einer Funktion als Emoji-Wert wie u’\U000026C4′ zurückgegeben, was Schneemann ist. Obwohl es in Python ist, können Sie es für PHP anwenden.

  • Denken Sie in PHP daran, Bytecodes in doppelten Anführungszeichen zu verwenden

    – MTVS

    18. Februar 2016 um 12:02 Uhr


  • Nicht alle Emojis in deinem Link. ZB gibt es keine index finger up Emoji, :point_up: Kurzwahl.

    – Grün

    4. Oktober 2016 um 15:27 Uhr

  • Sie können eine vollständige Liste der Emoji finden hier

    – Shanraisshan

    13. Februar 2017 um 6:17 Uhr

Benutzer-Avatar
Mylad Rahimi

Siehe Emojis und ihre UTF-8-Codes hier:
http://apps.timwhitlock.info/emoji/tables/unicode

Dann müssen Sie UTF-8-Codes mit dem folgenden Code in Telegram-fähigen Antworttext konvertieren:

<?php

function telegram_emoji($utf8emoji) {
    preg_replace_callback(
        '@\\\x([0-9a-fA-F]{2})@x',
        function ($captures) {
            return chr(hexdec($captures[1]));
        },
        $utf8emoji
    );

    return $utf8emoji;
}

$utf8emoji = '\xF0\x9F\x98\x81';

$telegramReadyResponse="Hi user " . telegram_emoji($utf8emoji);

Ich verwende diesen Code beim Linux-Bash- und Curl-Befehl für ein grinsendes Gesicht

curl -X POST "https://api.telegram.org/botTOKEN/sendMessage" -d "chat_id=ID&text=%F0%9F%98%80&parse_modwarninge=Markdown"

Benutzer-Avatar
Salion

Sie können Emojis einfach aus dem Telegramm kopieren und Text einfügen, um sie wie 🏠 zu senden

$bot_url    = "https://api.telegram.org/bot$apiToken/";
$url        = $bot_url . "sendPhoto?chat_id=@Your chanel user";

$post_fields = array(
    'chat_id'   => $chat_id,
    'caption'   => 'Test caption 🏠',
    'photo'     => new CURLFile(realpath("logo.jpg"))
);

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type:multipart/form-data"
));
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); 
$output = curl_exec($ch);

Auf andere Weise können Sie den Namen von shap verwenden, z. B. für Zuhause, das Sie verwenden können :house:
Beispiel:

:phone:
:white_check_mark:
:factory:
:page_with_curl:

  • Alles genial ist einfach ) Ich habe viel Zeit verbracht, bevor ich Ihre Antwort gesehen habe ) Dies ist die einzige Lösung, die für mich funktioniert hat

    – Anar Salimchanow

    20. Juli 2020 um 22:22 Uhr

  • Alles genial ist einfach ) Ich habe viel Zeit verbracht, bevor ich Ihre Antwort gesehen habe ) Dies ist die einzige Lösung, die für mich funktioniert hat

    – Anar Salimchanow

    20. Juli 2020 um 22:22 Uhr

Benutzer-Avatar
Dima Stefanzow

Echte Lösung ist zu verwenden https://github.com/spatie/emoji (composer require spatie/emoji) für Emoji-Codes. Jetzt sieht Ihr Code so aus

Emoji::CHARACTER_EYES

oder

Emoji::eyes()

Das ist etwas, was Sie wirklich gebrauchen könnten. Im Gegensatz dazu, alle Codes manuell zu schreiben und es schwer zu haben, auf den ersten Blick zu verstehen, was es ist.

  • Alles genial ist einfach ) Ich habe viel Zeit verbracht, bevor ich Ihre Antwort gesehen habe ) Dies ist die einzige Lösung, die für mich funktioniert hat

    – Anar Salimchanow

    20. Juli 2020 um 22:22 Uhr

  • Alles genial ist einfach ) Ich habe viel Zeit verbracht, bevor ich Ihre Antwort gesehen habe ) Dies ist die einzige Lösung, die für mich funktioniert hat

    – Anar Salimchanow

    20. Juli 2020 um 22:22 Uhr

Benutzer-Avatar
Ebrahim Bashirpour

> PHP7

Sie müssen nur die verwenden \u und das Unicode-Literal wie folgt:

😀

$emojie = "\u{1F600}";

Ressource: https://stackoverflow.com/a/33548423/8760592

1257290cookie-checkWie sende ich Emoji mit der Telegram Bot API?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy