1

我已经构建了一个 Telegram 机器人,并希望回复发送给我的机器人的任何消息。我使用了 getUpdates 方法并收到了一个 JSON 对象。现在我想从中提取任何 chat_id 并使用 sendMessage 方法向它发送消息。请帮助我如何为此使用foreach。下面是我的 JSON 对象:

{"ok":true,"result":[{"update_id":709393586, "message":{"message_id":60,"from":{"id":123456789,"first_name":"Ameer","last_name":"Mousavi","username":"ameer_mousavi"},"chat":{"id":123456789,"first_name":"Ameer","last_name":"Mousavi","username":"ameer_mousavi"},"date":1436038917,"text":"hi"}}]}'

对不起初学者的问题;)我对编程很陌生。

4

2 回答 2

2

我找到了解决方案。这是代码:

`$obj = json_decode($result, true);
foreach ($obj["result"] as $key => $value) {
    $temp_chat_id =  $value["message"]["chat"]["id"];
    sendMessage($temp_chat_id, "Hi");
}`
于 2015-07-04T20:24:34.160 回答
1
<?php
$response = json_decode(data(), true);
if ( !$response['ok'] ) {
    die('not ok');
}
else {
    foreach($response['result'] as $result) {
        echo $result['update_id'], ' ', $result['message']['chat']['id'], "\r\n";
    }
}


function data() {
    return '{"ok":true,"result":[{"update_id":709393586,
"message":{"message_id":60,"from":{"id":123456789,"first_name":"Ameer","last_name":"Mousavi","username":"ameer_mousavi"},"chat":{"id":123456789,"first_name":"Ameer","last_name":"Mousavi","username":"ameer_mousavi"},"date":1436038917,"text":"hi"}}]}';
}

印刷

709393586 123456789

即 update_id 和聊天元素的 id。

于 2015-07-04T20:22:48.607 回答