Overhauled MOTD functionality
This commit is contained in:
parent
3505bc4562
commit
51a2a9f211
@ -14,7 +14,7 @@ class Onequestionmark {
|
||||
static var botInfo:Dynamic;
|
||||
static var iceRegex:EReg = ~/\bicc?ed?\b/i;
|
||||
static var hugDB:Array<String>;
|
||||
static var motdDB:Dynamic;
|
||||
static var motdDB:haxe.DynamicAccess<Dynamic> = {};
|
||||
static var yesnoDB:Dynamic;
|
||||
|
||||
static function main() {
|
||||
@ -43,7 +43,7 @@ class Onequestionmark {
|
||||
motdDB = Json.parse(File.getContent("motd-db.json"));
|
||||
} else {
|
||||
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")) {
|
||||
@ -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)}';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
if (settings.motd.date != datestamp()) {
|
||||
settings.motd.date = datestamp();
|
||||
@ -172,22 +239,18 @@ class Onequestionmark {
|
||||
|
||||
var msg = "";
|
||||
var day:Array<String> = [];
|
||||
//events
|
||||
switch (Date.now().getDay()) {
|
||||
case 0: // Sunday
|
||||
day = motdDB.sunday;
|
||||
case 1: // Monday
|
||||
day = motdDB.monday;
|
||||
case 2: // Tuesday
|
||||
day = motdDB.tuesday;
|
||||
case 3: // Wednesday
|
||||
day = motdDB.wednesday;
|
||||
case 4: // Thursday
|
||||
day = motdDB.thursday;
|
||||
case 5: // Friday
|
||||
day = motdDB.friday;
|
||||
case 6: // Saturday
|
||||
day = motdDB.saturday;
|
||||
|
||||
// Check for special date
|
||||
if (motdDB.exists(monthdate())) {
|
||||
day = motdDB.get(monthdate());
|
||||
}
|
||||
// Else, check for special day/date combo
|
||||
else if (motdDB.exists(weekdate())) {
|
||||
day = motdDB.get(weekdate());
|
||||
}
|
||||
// Otherwise, post daily meme
|
||||
else if (motdDB.exists(checkDay())) {
|
||||
day = motdDB.get(checkDay());
|
||||
}
|
||||
|
||||
if (day.length > 0) {msg = day[randInt(0, day.length-1)];}
|
||||
|
Loading…
x
Reference in New Issue
Block a user