首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电报机器人--我如何用像mypokerbot这样的图标创建回复菜单?

电报机器人--我如何用像mypokerbot这样的图标创建回复菜单?
EN

Stack Overflow用户
提问于 2015-12-07 13:27:39
回答 4查看 16.1K关注 0票数 2

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

代码语言:javascript
复制
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);

}

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-12-08 19:25:36

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

http://apps.timwhitlock.info/emoji/tables/unicode

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

将表情符号字符串与您的消息连接起来,以生成键盘文本。

对于Java来说,它将是:

代码语言:javascript
复制
String s = new String(new byte[]{(byte) 0xF0, (byte) 0x9F, (byte) 0x98, (byte) 0x81}, "UTF-8");

代码语言:javascript
复制
String s = "\uD83D\uDE4C" + "myKeyboardTest";

对于PHP,我认为如下所示:

代码语言:javascript
复制
"\xF0\x9F\x98\x81" . "your super keyboard"
票数 7
EN

Stack Overflow用户

发布于 2015-12-09 01:18:04

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

示例:

代码语言:javascript
复制
protected $shortCmds = [
    Emoji::CMD_MAIN_MENU      => '/start',
    Emoji::CMD_STOP           => '/stop',
];
票数 2
EN

Stack Overflow用户

发布于 2015-12-09 08:34:58

您可以将所有表情符号以常量形式存储在Emoji类中,如ihoru 拟议数,并将它们作为pengrad 建议附加。然而,您不必将emojis的unicode值存储在常量中。您可以将粘贴表情符号复制为字符串,例如从http://emojipedia.org/中复制,并且在某些操作系统上的某些IDE中也应该可以很好地使用+,例如Macs实际上将以人类可以理解的形式表示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34134719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档