2015-07-15 10 views
17

मुझे अपने टेलीग्राम बॉट के साथ इमोजी युक्त संदेश भेजने की आवश्यकता है।टेलीग्राम बॉट एपीआई के साथ इमोजी कैसे भेजें?

इसलिए मैं इमोजी कोड :nine: कॉपी/पेस्ट करता हूं उदाहरण के लिए, मेरे संदेश टेक्स्ट में और इसे किसी उपयोगकर्ता को भेजता हूं, लेकिन इमोजी काम नहीं करता है।

यह मेरा नमूना कोड और समारोह:

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']); 

तो, मेरे सवाल है: मैं कैसे टेलीग्राम बॉट द्वारा इमोजी भेज सकते हैं?

उत्तर

11

आपको इमोजी के यूनिकोड मान को निर्दिष्ट करने की आवश्यकता है।

check here

इन इमोजी मूल्य के रूप में एक समारोह से वापस लौटे तरह यू '\ U000026C4' जो स्नोमैन है कर रहे हैं। हालांकि यह अजगर में है, आप इसे php के लिए लागू कर सकते हैं।

+0

PHP में, डबल उद्धृत तारों के अंदर बाइट कोड का उपयोग करना याद रखें – MTVS

+0

आपके लिंक में सभी इमोजी नहीं। जैसे कोई 'इंडेक्स उंगली अप' emogi नहीं है, ': point_up:' शोर्ट। – Green

+0

आप इमोजी [यहां] (https://github.com/shanraisshan/EmojiCodeSheet) की पूरी सूची पा सकते हैं – shanraisshan

20

मैं एक ही मुद्दे का सामना करना पड़ा .. समाधान इस तालिका से बाइट्स (UTF-8) संकेतन का उपयोग करने के लिए है कुछ दिन पहले: http://apps.timwhitlock.info/emoji/tables/unicode

उदाहरण:

\ xF0 \ x9F \ X98 आनंदित आंखों

\ xF0 \ x9F \ X98 \ x89 चेहरा

+0

सुसंगत रूप से इसका उपयोग PHP बॉट के साथ किया जाता है। उस प्रारूप emojis कोड के साथ इतना उत्कृष्ट लिंक प्रदान करने के लिए +1। –

+4

PHP में, इसे डबल कोटेड स्ट्रिंग के अंदर उपयोग करना याद रखें। – MTVS

+0

एपीआई यूआरएल को कॉल करते समय इमोजी के काम को पाने का यह एकमात्र तरीका है। – NVO

1

इस जवाब https://stackoverflow.com/a/31431810/1114926 में नया आंख मारता के साथ \ x81 मुस्कुराती चेहरा।

प्रदान किया गया लिंक Mustafa प्रदान करता है जो सभी इमोजी का प्रतिनिधित्व नहीं करता है। यह स्रोत बेहतर है http://emojipedia.org/ ☝️। इसमें प्रमुख संकेत के अलावा इमोजी की विविधताएं हैं।

1

वास्तविक समाधान इमोजी कोड के लिए https://github.com/spatie/emoji (composer require spatie/emoji) का उपयोग करना है। अब आप अपने कोड की तरह

Emoji::CHARACTER_EYES 

या

Emoji::eyes() 

दिखेगा यह कुछ तुम सच में इस्तेमाल कर सकते हैं है। सभी कोड मैन्युअल रूप से लिखने के विपरीत और पहली बार समझने में कठिन समय लग रहा है।

5

आप इसे utf8 बाइट्स से बना सकते हैं।

इमोजी सूची और उनके UTF8 कोड यहाँ देखें: http://apps.timwhitlock.info/emoji/tables/unicode

Convert UTF8 कोड टेलीग्राम के लिए तैयार निम्न कोड के साथ प्रतिक्रिया पाठ करने के लिए:

<?php 

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

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

$telegramResponseText = "Hey user " . $emoji; 

$ इमोजी तार बॉट प्रतिक्रिया ग्रंथों में इस्तेमाल किया जा सकता ।

0

मैं लंबे समय से इसके लिए उत्तर खोज रहा हूं, लेकिन यह काम नहीं कर सका। मेरे पटकथा कौशल खराब हैं और बाश के जवाब में php उत्तरों को परिवर्तित करना एक चुनौती साबित हुआ।

लेकिन फिर भी, मैंने इसे सबसे सरल समाधान के साथ काम किया: मैं टेलीग्राम डेस्कटॉप मैसेंजर में गया, वहां मैं आवश्यक इमोजी() भेजता हूं।

से मैं एक चर बनाया: बस = ""

अब मैं के रूप में कर्ल में चर का उपयोग कर सकते हैं: "पाठ = कुछ पाठ $ बस"

यह लिनक्स पर पार्टी का उपयोग कर अच्छा काम करता है, मैं मान लीजिए यह PHP में भी काम कर सकता है।

संबंधित मुद्दे