Overhauled MOTD functionality
This commit is contained in:
parent
3505bc4562
commit
51a2a9f211
@ -14,7 +14,7 @@ class Onequestionmark {
|
|||||||
static var botInfo:Dynamic;
|
static var botInfo:Dynamic;
|
||||||
static var iceRegex:EReg = ~/\bicc?ed?\b/i;
|
static var iceRegex:EReg = ~/\bicc?ed?\b/i;
|
||||||
static var hugDB:Array<String>;
|
static var hugDB:Array<String>;
|
||||||
static var motdDB:Dynamic;
|
static var motdDB:haxe.DynamicAccess<Dynamic> = {};
|
||||||
static var yesnoDB:Dynamic;
|
static var yesnoDB:Dynamic;
|
||||||
|
|
||||||
static function main() {
|
static function main() {
|
||||||
@ -43,7 +43,7 @@ class Onequestionmark {
|
|||||||
motdDB = Json.parse(File.getContent("motd-db.json"));
|
motdDB = Json.parse(File.getContent("motd-db.json"));
|
||||||
} else {
|
} else {
|
||||||
Sys.println('[${timestamp()}] Did not find motd-db.json, skipping');
|
Sys.println('[${timestamp()}] Did not find motd-db.json, skipping');
|
||||||
motdDB = {"sunday": [],"monday": [],"tuesday": [],"wednesday": [],"thursday": [],"friday": [],"saturday": []}; // Fallback
|
motdDB = Json.parse('{"sunday": [],"monday": [],"tuesday": [],"wednesday": [],"thursday": [],"friday": [],"saturday": []}'); // Fallback
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FileSystem.exists("yesno-db.json")) {
|
if (FileSystem.exists("yesno-db.json")) {
|
||||||
@ -160,6 +160,73 @@ class Onequestionmark {
|
|||||||
return '${StringTools.lpad(Std.string(Date.now().getMonth()+1), "0", 2)}-${StringTools.lpad(Std.string(Date.now().getDate()), "0", 2)}';
|
return '${StringTools.lpad(Std.string(Date.now().getMonth()+1), "0", 2)}-${StringTools.lpad(Std.string(Date.now().getDate()), "0", 2)}';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Clean print day of week
|
||||||
|
public static function checkDay() {
|
||||||
|
var day = "";
|
||||||
|
switch (Date.now().getDay()+1) {
|
||||||
|
case 1:
|
||||||
|
day = "sun";
|
||||||
|
case 2:
|
||||||
|
day = "mon";
|
||||||
|
case 3:
|
||||||
|
day = "tues";
|
||||||
|
case 4:
|
||||||
|
day = "wed";
|
||||||
|
case 5:
|
||||||
|
day = "thurs";
|
||||||
|
case 6:
|
||||||
|
day = "fri";
|
||||||
|
case 7:
|
||||||
|
day = "sat";
|
||||||
|
}
|
||||||
|
return day;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clean print month
|
||||||
|
public static function checkMonth() {
|
||||||
|
var month = "";
|
||||||
|
switch (Date.now().getMonth()+1) {
|
||||||
|
case 1:
|
||||||
|
month = "jan";
|
||||||
|
case 2:
|
||||||
|
month = "feb";
|
||||||
|
case 3:
|
||||||
|
month = "mar";
|
||||||
|
case 4:
|
||||||
|
month = "apr";
|
||||||
|
case 5:
|
||||||
|
month = "may";
|
||||||
|
case 6:
|
||||||
|
month = "jun";
|
||||||
|
case 7:
|
||||||
|
month = "jul";
|
||||||
|
case 8:
|
||||||
|
month = "aug";
|
||||||
|
case 9:
|
||||||
|
month = "sep";
|
||||||
|
case 10:
|
||||||
|
month = "oct";
|
||||||
|
case 11:
|
||||||
|
month = "nov";
|
||||||
|
case 12:
|
||||||
|
month = "dec";
|
||||||
|
}
|
||||||
|
return month;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get current day of month, padded
|
||||||
|
public static function checkDate() {
|
||||||
|
return StringTools.lpad(Std.string(Date.now().getDate()), "0", 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function monthdate() {
|
||||||
|
return '${checkMonth()}${checkDate()}';
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function weekdate() {
|
||||||
|
return '${checkDay()}${checkDate()}';
|
||||||
|
}
|
||||||
|
|
||||||
public static function motd() {
|
public static function motd() {
|
||||||
if (settings.motd.date != datestamp()) {
|
if (settings.motd.date != datestamp()) {
|
||||||
settings.motd.date = datestamp();
|
settings.motd.date = datestamp();
|
||||||
@ -172,22 +239,18 @@ class Onequestionmark {
|
|||||||
|
|
||||||
var msg = "";
|
var msg = "";
|
||||||
var day:Array<String> = [];
|
var day:Array<String> = [];
|
||||||
//events
|
|
||||||
switch (Date.now().getDay()) {
|
// Check for special date
|
||||||
case 0: // Sunday
|
if (motdDB.exists(monthdate())) {
|
||||||
day = motdDB.sunday;
|
day = motdDB.get(monthdate());
|
||||||
case 1: // Monday
|
}
|
||||||
day = motdDB.monday;
|
// Else, check for special day/date combo
|
||||||
case 2: // Tuesday
|
else if (motdDB.exists(weekdate())) {
|
||||||
day = motdDB.tuesday;
|
day = motdDB.get(weekdate());
|
||||||
case 3: // Wednesday
|
}
|
||||||
day = motdDB.wednesday;
|
// Otherwise, post daily meme
|
||||||
case 4: // Thursday
|
else if (motdDB.exists(checkDay())) {
|
||||||
day = motdDB.thursday;
|
day = motdDB.get(checkDay());
|
||||||
case 5: // Friday
|
|
||||||
day = motdDB.friday;
|
|
||||||
case 6: // Saturday
|
|
||||||
day = motdDB.saturday;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (day.length > 0) {msg = day[randInt(0, day.length-1)];}
|
if (day.length > 0) {msg = day[randInt(0, day.length-1)];}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user