{"message"}->{"text"}); if ($command_list[0] == $command || $command_list[0] == $command . "@" . $bot_name) { return True; } else { return False; } } // Send html back to the sender. function send_html($post_message, $reply=false) { global $decoded; global $bot_api; global $chat_id; $url = 'https://api.telegram.org/bot' . $bot_api . '/sendMessage'; $post_msg = array('chat_id' => $chat_id, 'text' =>$post_message, 'parse_mode' => 'html'); if ($reply != false) { if ($reply === true){ $post_msg['reply_to_message_id'] = $decoded->{'message'}->{'message_id'}; } else { $post_msg['reply_to_message_id'] = $reply; } } $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($post_msg) ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); } // Edits existing pinned message function edit_html($post_message, $reply=false) { global $decoded; global $bot_api; global $chat_id; $message_id = require("message.php"); $url = 'https://api.telegram.org/bot' . $bot_api . '/editMessageText'; $post_msg = array('chat_id' => $chat_id, 'text' =>$post_message, 'message_id' => $message_id, 'parse_mode' => 'html'); if ($reply != false) { if ($reply === true){ $post_msg['reply_to_message_id'] = $decoded->{'message'}->{'message_id'}; } else { $post_msg['reply_to_message_id'] = $reply; } } $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($post_msg) ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); } function add_requirement() { global $command_list; $item_id = $command_list[1]; $item_name = ""; for ($i = 2; $i < count($command_list) - 1; $i++){ $item_name .= $command_list[$i]; if ($i != count($command_list) - 2){ $item_name .= " "; } } $quantity = $command_list[count(command_list) - 1]; $mysql = require('mysql_credentials.php'); $conn = new mysqli($mysql['servername'], $mysql['username'], $mysql['password'], $mysql['database']); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $stmt = $conn->prepare("DELETE FROM req where id = ?;"); $stmt->bind('s', $item_id); $stmt->execute(); $stmt = $conn->prepare("INSERT INTO req (id, name, quantity) VALUES (?,?,?);"); $stmt->bind('ssi', $item_id, $item_name, $quantity); $stmt->execute(); $conn->close(); send_html("Added to requirements"); } function deposit(){ global $command_list; $item_id = $command_list[1]; $quantity = $command_list[2]; $mysql = require('mysql_credentials.php'); $conn = new mysqli($mysql['servername'], $mysql['username'], $mysql['password'], $mysql['database']); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $stmt = $conn->prepare("UPDATE req set quantity = quantity - ? where id = ?;"); $stmt->bind('is', $item_id, $quantity); $stmt->execute(); $conn->close(); send_html("Deposited!"); } function get_updated_req() { $mysql = require('mysql_credentials.php'); $conn = new mysqli($mysql['servername'], $mysql['username'], $mysql['password'], $mysql['database']); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT name, quantity FROM req WHERE quantity > 0;"; $result = $conn->query($sql); if ($result->num_rows > 0) { $text = ""; while($row = $result->fetch_assoc()) { $text .= $row["id"] . " " . $row["quantity"] . "\n"; } return $text; } else { return "Everything is complete"; } edit_html($text); } // Get JSON from post, store it and decode it. $var = file_get_contents('php://input'); $decoded = json_decode($var); // Store the chat ID $chat_id = $decoded->{"message"}->{"chat"}->{"id"}; $modules = array( array( "command" => "/deposit", "function" => "deposit();" ), array( "command" => "/add", "function" => "add_requirement();" ) ); $command_list = explode(" ", $decoded->{"message"}->{"text"}); foreach ($modules as $module ) { if (check_command($module["command"])) { eval($module["function"]); exit(); } } ?>