2

I am creating a Telegram Bot using PHP. I have set the webhook to "https://example.com/bot.php". As you can see below, I used echo to run a script that creates HTML form. After being created, the form then is submitted automatically and I get variables using POST method.

echo "<script>
        document.write('<form method=\"post\" action=\"\" id=\"myForm\">');
        document.write('<textarea name=\"price\">' + 12345 + '</textarea><br>');
        document.write('<input type=\"submit\" value=\"submit\"></form>');
      </script>";

if (!isset($_POST['price']) ) {
  echo "<script>document.getElementById(\"myForm\").submit();</script>";
}

$price = $_POST['price'];

If I run "bot.php" manually (using the URL), the code works just fine. However, when I send the commands in a Telegram bot, $_POST['price'] returns empty. To check that I sent isset($_POST['price']) as a message to the bot, and I received 0.

GameO7er
  • 2,028
  • 1
  • 18
  • 33
Brian B
  • 80
  • 1
  • 9

1 Answers1

3

As you know the JS is client-side and that's why it works on your web browser and it doesn't work on Bot request because the bots can't run JavaScript.

GameO7er
  • 2,028
  • 1
  • 18
  • 33