← Вернуться к списку тем

Возможно ли использовать премиум смайлики в интерфейсе бота?

 Возможно ли использовать премиум смайлики в интерфейсе бота?

Авторизуйтесь через Telegram, чтобы оставить комментарий.
Откройте по ссылке или QR бот @iMakeBot, нажмите кнопку Старт/Start.
Следуйте инструкциям бота.

  • iMakeBots [1 год назад]

    Были такие мысли. Сам не проверял, но думаю если аккаунт хозяина бота на момент отправки ботом сверхразумных смайликов будет иметь премиум статус - то возможно это сработает.

  • S.К [1 год назад → iMakeBots]

    Только как их отправить не понятно 

  • iMakeBots [1 год назад → S.К]

    Отправляете их себе в избранное, копируете и вставляете в код бота

  • ᴏɴᴇ ᴍᴇᴅɪᴀ [1 год назад → iMakeBots]
    $update: Array
    (
        [update_id] => 938984166
        [message] => Array
            (
                [message_id] => 3323
                [from] => Array
                    (
                        [id] => 348140282
                        [is_bot] => 
                        [first_name] => S.К
                        [username] => said
                        [language_code] => ru
                        [is_premium] => 1
                    )
    
                [chat] => Array
                    (
                        [id] => 348140282
                        [first_name] => S.К
                        [username] => said
                        [type] => private
                    )
    
                [date] => 1666169555
                [text] => ✈️
                [entities] => Array
                    (
                        [0] => Array
                            (
                                [offset] => 0
                                [length] => 2
                                [type] => custom_emoji
                                [custom_emoji_id] => 5780683340810030158
                            )
    
                    )
    
            )

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

  • iMakeBots [1 год назад → ᴏɴᴇ ᴍᴇᴅɪᴀ]

    Согласен, получается, что просто скопировать и вставить в скрипт не имеет смысла - потому что эти смайлики уникальные для Телеграм, но не для других приложений в том числе и редакторов кода.  Обидно блин))

    Хотя может быть какой-нибудь уникальный юникод для них есть - и понимает его только Телеграм. 

    Кстати в методе sendMessage() в Bot API есть необязательный объект entities, вы можете протестировать указав данные, которые у вас уже есть:

    [entities] => Array
        (
            [0] => Array
                (
                    [offset] => 0
                    [length] => 2
                    [type] => custom_emoji
                    [custom_emoji_id] => 5780683340810030158
                )
        )
  • iMakeBots [1 год назад → ᴏɴᴇ ᴍᴇᴅɪᴀ]

    Попробовал )))

    <?php
    $bot_token = "BOT_TOKEN";
    
    $data = [
        "chat_id" => YOUR_ID_CHAT,
        "text" => "✈️ ttt",
        "entities" => json_encode([
            [
                "offset" => 0,
                "length" => 2,
                "type" => "custom_emoji",
                "custom_emoji_id" => 5780683340810030158
            ],
            [
                "offset" => 3,
                "length" => 3,
                "type" => "bold",
            ]
        ])
    ];
    
    $query = function ($method, $fields = []) use ($bot_token) {
        $ch = curl_init("https://api.telegram.org/bot" . $bot_token . "/" . $method);
        curl_setopt_array($ch, [
            CURLOPT_POST => count($fields),
            CURLOPT_POSTFIELDS => http_build_query($fields),
            CURLOPT_SSL_VERIFYPEER => 0,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_TIMEOUT => 10
        ]);
        $result = json_decode(curl_exec($ch), true);
        curl_close($ch);
        return $result;
    };
    
    var_dump($query("sendMessage", $data));

    Пришло сообщение ✈️ ttt

    Array
    (
        [ok] => 1
        [result] => Array
            (
                [message_id] => 1
                [from] => Array
                    (
                        [id] => 1000001
                        [is_bot] => 1
                        [first_name] => Test Bot
                        [username] => TestBot
                    )
    
                [chat] => Array
                    (
                        [id] => 1011110
                        [first_name] => —
                        [last_name] => —
                        [type] => private
                    )
    
                [date] => 1666172593
                [text] => ✈️ ttt
                [entities] => Array
                    (
                        [0] => Array
                            (
                                [offset] => 3
                                [length] => 3
                                [type] => bold
                            )
                    )
            )
    )

    То есть отработало форматирование на выделение текста "ttt" в полужирный тип, а вот эмодзи не обработал. Возможно из-за того, что у меня нет статуса премиум на аккаунте.