Warning: session_start(): open(/var/lib/php/sessions/sess_eoj5obqu5a0u99tvh99gaspgpf, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
concept CLotteryResult {
S date;
L numbers;
S jackpot;
[stdToString]
}
standardBot1 LotteryBot {
init {
dbIndexing(CLotteryResult, 'date);
doEveryHourAndNow(r grabResults);
}
allServers {
S lotteryURL = "https://www.lotteryusa.com/missouri/show-me-cash/";
void grabResults enter {
LotteryResult r = scrapeLotteryResults(loadPage(lotteryURL));
if (r == null) ret with print("No lottery results!?");
CLotteryResult lr = uniq(CLotteryResult, date := r.date);
copyFields(r, lr);
print("Grabbed: " + lr);
}
S renderResult(CLotteryResult r) {
ret formatCSVLine(r.date, joinWithComma(r.numbers), r.jackpot);
}
}
processSimplified {
if "lottery results" {
optPar long channelID;
L l = sortedByFieldDesc date(list(CLotteryResult));
if (empty(l)) ret "No lottery results gathered yet";
S date1 = first(l).date;
S text = mapToLines_rtrim(l, lambda1 renderResult);
uploadFileInChannel(channelID,
toUtf8(text),
"lottery-" + date1 + ".txt", null, null);
null;
}
}
}