Added markov command ai

This commit is contained in:
MatMasIt 2021-10-05 20:42:19 +02:00
parent 20adfdf6cf
commit 16661c58c8
4 changed files with 958773 additions and 4 deletions

View File

@ -8,6 +8,7 @@ return [
"logChannelId" => (-11111111111),
"TOKEN" => "TOKEN",
"devId"=>11111111,
"markovdefault" => 25,
"modulesEnabled" => [
"boot" => true,
"log" => true,
@ -17,6 +18,7 @@ return [
"happyBirthday" => true,
"updateUsernameData" => true,
".s" => true,
".ai" => true,
".stats" => true,
".raBIO" => true,
".nr" => true,

View File

@ -294,7 +294,26 @@ if ($DATA["message"]["from"]["is_bot"]) {
$t = $DATA["message"]["text"];
$uid = $DATA["message"]["from"]["id"];
/*
Feed the markov generator
*/
file_put_contents("markovdata.txt",trim($t)."\n",FILE_APPEND);
/*
Is markov overweight? remove lines
*/
$file = new SplFileObject("markovdata.txt");
$i = 0;
while (!$file->eof()) {
$i++;
$file->next();
}
if($i>1000000){
$lines_to_strip=1000000-$i;
$new_file = new SplFileObject('tempmark.txt', 'w');
foreach (new LimitIterator(new SplFileObject('markovdata.txt'), $line_to_strip) as $line)
$new_file->fwrite($line);
}
rename("tempmark.txt","markovdata.txt");
beg:
switch ($DATA["message"]["chat"]["id"]) {
@ -422,6 +441,11 @@ switch ($DATA["message"]["chat"]["id"]) {
$url = $GLOBALS["config"]["lgbt"]["APIs"]["tpdne"] . "?v=" . time();
API("sendChatAction", ["chat_id" => $DATA["message"]["chat"]["id"], "action" => "upload_photo"]);
API("sendPhoto", ["chat_id" => $DATA["message"]["chat"]["id"], "photo" => $url, "reply_to_message_id" => $DATA["message"]["message_id"]]);
} elseif ($t==".ai" || explode(" ", $t)[0] == ".ai") {
if (!moduleOn(".ai", $DATA["message"]["chat"]["id"], $DATA, true)) break;
require("markov.php");
$n = (int) explode(" ", $t)[1];
API("sendMessage", ["chat_id" => $DATA["message"]["chat"]["id"], "text" => markovT($n?:$GLOBALS["config"]["lgbt"]["markovdefault"])]);
} elseif ($t == ".rave" || explode(" ", $t)[0] == ".rave") {
if (!moduleOn(".rave", $DATA["message"]["chat"]["id"], $DATA, true)) break;
$ms = explode("\n", $t, 3)[1] ?: explode(" ", $t, 2)[1];

View File

@ -104,11 +104,13 @@ function return_weighted_word($array) {
$rand -= $weight;
}
}
function markovT(){
function markovT($len){
$text = file_get_contents("markovdata.txt");
$length = 40;
$length = $len;
$order = 4;
$markov_table = generate_markov_table($text, $order);
$markov = generate_markov_text($length, $markov_table, $order);
return $markov;
return html_entity_decode($markov, ENT_QUOTES | ENT_XML1, 'UTF-8');
}
$len=100;
echo markovT($len);

958741
src/markovdata.txt Normal file

File diff suppressed because one or more lines are too long