【问题标题】:Problem how to get the information of a message sent by Telegram问题如何获取 Telegram 发送的消息的信息
【发布时间】:2019-12-03 19:22:48
【问题描述】:

我举了一个简单的例子来更好地理解我的问题。

我有这些代码,您可以输入名称和文本,然后使用 Get 获取值。

收到值后,程序将发送一个由我创建的带有sendMessage 的电报机器人。

$chat_id = 到我创建的电报机器人的聊天 ID。

<?php
if(isset($_GET['name'])  && isset($_GET['message'])){
define ('url',"https://api.telegram.org/botTOKEN/");
$name = $_GET['name'];
$message = $_GET['message'];
$chat_id = 'TEST';
function invia($chat_id,$message = ''){
    $url=  url."sendMessage?chat_id=$chat_id&parse_mode=HTML&text=".$message;
    file_get_contents($url);
}




$message = urlencode("Hello $name this is the message :  $message");

invia($chat_id, $message);

}

?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>">
  Name:<br>
  <input type="text" name="name" placeholder="Your Name">
  <br>
  Message:<br>
  <textarea name="message" placeholder="Your Message Here" rows="6" cols="33"></textarea>
  <br><br>
  <input type="submit" value="Submit">
</form>

让我们写例如 Name:“Lorenzo Poggi”和 Message:“嗨,这是一个测试”。

发送后,我会直接在电报机器人的聊天中收到消息。

现在的问题是这样的,但是如果在 example.php 页面中,由于setWebhook,我有相关电报机器人的所有更新,我想从之前使用sendMessage 发送的消息文本,我该怎么做?

【问题讨论】:

  • “有没有办法提取你的机器人发送的消息?”,这是你的问题吗?或以更清晰的方式解释您的问题
  • 是的,我想从发送到我的机器人电报的消息中提取单词“是一个测试”。

标签: telegram telegram-bot php-telegram-bot


【解决方案1】:

Telegram 响应的结果应该是这样的:

{
  "update_id": 901816057,
  "message": {
    "message_id": 36089,
    "from": {
      "id": 223110107,
      "first_name": "Ğąme",
      "last_name": "Ǿver!",
      "username": "GameO7er"
    },
    "chat": {
      "id": 223110107,
      "first_name": "Ğąme",
      "last_name": "Ǿver!",
      "username": "GameO7er",
      "type": "private"
    },
    "date": 1490493909,
    "text": "Hi, this is a test"
  }
}

您可以记录响应并尝试通过此website 对其进行解码 然后,如果您想获取/打印用户的消息,您应该使用这种方式:

function invia(){
    $url=  url."sendMessage?chat_id=$chat_id&parse_mode=HTML&text=".$message;
    $TelegramResult = file_get_contents($url);
    $UserText = $TelegramResult['message']['text']; // Hi, this is a test
}

如您所见,$UserText 包含您的用户发送给机器人的文本。

如果您有任何问题,请告诉我。我的 Telegram id 也显示在上述来源中,因此请随时与我联系。

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 2017-12-08
    • 2014-12-28
    • 2015-05-14
    • 2021-03-07
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多