首页 > 解决方案 > 如何将数组的第一个值发送到 php telegram bot 中的 sendmessage 方法?

问题描述

我想从电报机器人中的用户那里获取消息,并将他们的部分文本作为正则表达式指定的回复返回:

preg_match('/\b(?:[a-z]+\d|\d+[a-z])[a-z\d]*\b/i', $text, $matches); message($chat_id,$matches,$message_id);-> 显示数组message($chat_id,$matches[0],$message_id);-> 什么也不显示

消息功能是:

function bot($data)
{
    return json_decode(file_get_contents("https://api.telegram.org  /bot".API_TOKEN."/".$data),true);
}

function message($chat_id,$msg,$msg_id)
{
    bot("sendMessage?chat_id=".$chat_id."&text=".$msg."&reply_to_message_id=".$msg_id);
}

$chat_id=$update['message']['chat']['id'];
$message_id=$update['message']['message_id'];
$text=$update['message']['text'];

编辑:

我将代码更改为message($chat_id,v$matches[0][0],$message_id),它只返回单词的第一个字符(例如,而不是ac64fc,它只返回字母amessage($chat_id,$matches[0][0].$matches[0][1],$message_id)=ac 在上面的例子中

标签: phptelegram-bot

解决方案


推荐阅读