CertAlert bot This bot sends an alert when a certificate matching a certain rule is logged in the Certificate Trasparency.
/list
To list the current rules.
/delete <id>
To delete a rule.
/add <in/start/end> <string>
To add a rule. in mtaches the given substring in any postition, start at the beginning and end at the end For special characters use the IDNA encoding. "; function reply($chatid, $reply) { return file_get_contents(API_URL."sendmessage?chat_id=".$chatid."&text=".urlencode($reply)."&parse_mode=HTML"); } $content = file_get_contents("php://input"); //error_log($content); $update = json_decode($content, true); $chatid = $update["message"]["chat"]["id"]; $fromid = $update["message"]["from"]["id"]; $fromusername = $update["message"]["from"]["username"]; $command = explode(" ", $update['message']['text'])[0]; switch($command) { case '/start': $reply = $help; break; case '/list': $stmt = $db->prepare("SELECT id, type, value FROM rules where userid = ? ORDER BY timestamp ASC"); $stmt->execute(array($fromid)); $rules = $stmt->fetchAll(PDO::FETCH_ASSOC); if (!empty($rules)) { $reply = "ID\tType\tValue\n"; foreach ($rules as $rule) { switch($rule['type']) { case 0: $type = "in"; break; case 1: $type = "start"; break; case 2: $type = "end"; break; } $reply .= $rule['id']."\t".$type."\t".htmlentities($rule['value'])."\n"; } } else { $reply = "There are no rules yet"; } break; break; case '/add': $exp = explode(" ", $update['message']['text']); $type = $exp[1]; $value = $exp[2]; switch($type) { case 'in': $type = 0; break; case 'start': $type = 1; break; case 'end': $type = 2; break; default: $type = -1; break; } if ($type > -1) { $stmt = $db->prepare("INSERT INTO rules (userid, chatid, type, value, timestamp) VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP())"); $stmt->execute(array($fromid, $chatid, $type, $value)); $reply = "Rule added, check with /list"; } else { $reply = "Invalid rule type."; } break; case '/delete': $exp = explode(" ", $update['message']['text']); $id = $exp[1]; $stmt = $db->prepare("DELETE FROM rules WHERE id = ? AND userid = ?"); $stmt->execute(array($id, $fromid)); $reply = "Rule ".$id." deleted"; break; default: $reply = "Unknown command"; break; } reply($chatid, $reply); ?>