如何接收电报机器人方法的 return 参数 (API)

How to receive return parameters of a telegram bot method (API)

我通过此页面 JSP, and I can sendMessage or sendPhoto to a telegram user by the telegram robot API 有一个本地网页。但是从我的页面提交此请求后,URL 重定向到另一个页面,该页面显示了电报 Bot API 方法的 return 值。我想在我的本地页面上获取这些参数和 return 值,我不想去那个 URL.

例如:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head></head>

    <body>
        <form action="https://api.telegram.org/bot<token>/sendMessage" method="POST">
            <input type="text" name="chat_id" id="chat_id"value="myChatId">
            <input type="text" name="text" id="text" value="hello">
            <input type="submit" value="submit">
        </form>
    </body>
</html>

当我点击提交时出现这个页面:

https://api.telegram.org/bot<Token>/sendMessage 并向我显示请求结果,并通过 myChatId 的 Id 向用户发送问候。所以,我希望这个页面不显示,我会在我当前的本地页面上,但是我可以在我的本地页面上接收和看到通过这种方法发送消息的结果和return参数。

您可以使用本地页面的 ajax 请求通过 post 方法向 api url 发送电报并阻止页面重新加载:

Run in jsfiddle

$('form').submit(function(e) {
  e.preventDefault();
  $.ajax({
    url: 'https://api.telegram.org/bot' + $('#token').val() + '/sendMessage',
    method: 'POST',
    data: {
      chat_id: $('#chat_id').val(),
      text: $('#text').val()
    },
    success: function() {
      alert('your message has been sent!');
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form>
  <input type="text" name='token' id="token" placeholder="your bot token">
  <input type="text" name="chat_id" id="chat_id" value="myChatId">
  <input type="text" name="text" id="text" value="hello">
  <input type="submit" value="submit">
</form>