Php 电报机器人-如何创建带有mypokerbot等图标的回复菜单?

Php 电报机器人-如何创建带有mypokerbot等图标的回复菜单?,php,telegram-bot,Php,Telegram Bot,我有一个通过电报机器人发送菜单的通用功能(如下所示),但我不知道如何在这些菜单上添加图标(就像我的扑克机器人那样,检查图像)。有什么提示吗 function SendGenericMenu ($chatid) { $lista=array("A", "B", "C"); $text="Choose:"; global $bottoken; $replyMarkup = array( 'keyboard' => $lista, ); $encodedMarkup = json_enc

我有一个通过电报机器人发送菜单的通用功能(如下所示),但我不知道如何在这些菜单上添加图标(就像我的扑克机器人那样,检查图像)。有什么提示吗

function SendGenericMenu ($chatid) {
$lista=array("A", "B", "C");
$text="Choose:";
global $bottoken;
$replyMarkup = array(
    'keyboard' => $lista,
);
$encodedMarkup = json_encode($replyMarkup);
$content = array(
    'chat_id' => $chatid,
    'reply_markup' => $encodedMarkup,
    'text' => "$text"
);

$ch = curl_init();
$url="https://api.telegram.org/bot$bottoken/SendMessage";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($content));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);
curl_close ($ch);
var_dump($server_output);

}

你应该使用表情符号,从这里开始:

单击
Unicode
列,可以获得不同编码的值

将表情符号字符串与消息连接起来,以生成键盘文本。
对于Java,它将是:

String s = new String(new byte[]{(byte) 0xF0, (byte) 0x9F, (byte) 0x98, (byte) 0x81}, "UTF-8");

对于PHP,我认为是这样的:

"\xF0\x9F\x98\x81" . "your super keyboard"

在MyPokerBot中,我们使用emojis的关联列表和命令。在检查“我们应该调用什么代码方法”的主循环中,它检查文本是否以该表情符号开头,并调用其命令

例如:

protected $shortCmds = [
    Emoji::CMD_MAIN_MENU      => '/start',
    Emoji::CMD_STOP           => '/stop',
];

您可以在Emoji类中以常量ihoru的形式存储所有Emoji,并将它们附加为pengrad。然而,您不必将emojis的unicode值存储在常量中。你可以复制粘贴表情符号作为字符串,比如说,在某些操作系统上的某些IDE中,这应该也能很好地工作。例如,Mac的表情符号实际上是以人类可以理解的形式表示的。

一个非常简单的方法是用你喜欢的表情符号在电报中写一条废弃消息(不要发送)。然后将该文本(包括表情符号)复制/粘贴到代码中。他们将完美地复制。 整个过程如图所示:

您创建了MyPokerBot?祝贺非常好的应用程序!
protected $shortCmds = [
    Emoji::CMD_MAIN_MENU      => '/start',
    Emoji::CMD_STOP           => '/stop',
];