diff options
author | cynic <admin@cynic.moe> | 2023-09-13 22:24:02 -0500 |
---|---|---|
committer | lolcat <lolcat@no-reply@lolcat.ca> | 2023-09-13 22:24:02 -0500 |
commit | 8762d68466b825382f4708a0eebbd3074e32c5c5 (patch) | |
tree | 11cd604ee79c4b83769b56cc39bb0db137379e97 /oracles/base.php | |
parent | d312674df74affb9f22b2a02e54549006f26d056 (diff) |
add structure for `Oracles' (special answers depending on queries + a few implementations (#10)
incl. a calculator, a hash encoder + rot13 and b64!, and a "what time is it" with timezone selection
frontend injected in $payload["left"] in web.php
you can see this live [on my instance](https://4get.silly.computer/web?s=7%2B8(9%5E2)&scraper=brave&nsfw=yes) (there are some issues that aren't related to this PR. favicons, etc. I'll fix them later.)
Reviewed-on: https://git.lolcat.ca/lolcat/4get/pulls/10
Co-authored-by: cynic <admin@cynic.moe>
Co-committed-by: cynic <admin@cynic.moe>
Diffstat (limited to 'oracles/base.php')
-rw-r--r-- | oracles/base.php | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/oracles/base.php b/oracles/base.php new file mode 100644 index 0000000..45747fc --- /dev/null +++ b/oracles/base.php @@ -0,0 +1,24 @@ +<?php +abstract class oracle { + // some info to spit out alongside the result, so the user knows + // what exactly is giving out the answer. prevents confusion + // about what oracle is answering them for ambiguous queries. + public $info = [ + "name" => "some oracle" + ]; + // this function should take in a query string search from $_GET, + // and return a bool determining whether or not it is a question + // intended for the oracle. + public function check_query($q) { + return false; + } + // produce the correct answer for the query using the oracle. + // note: if it becomes apparent /during generation/ that the + // query is not in fact for the oracle, returning an empty + // string will kill the oracle pane. + // answer format: ["ans1 title" => "ans1", ...] + public function generate_response($q) { + return ""; + } +} +?>
\ No newline at end of file |