Added new aliases
This commit is contained in:
parent
978f6bc932
commit
d3801b48e0
@ -1,6 +1,7 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## Release Version 1.2
|
## Release Version 1.2
|
||||||
|
- New aliases: `?fineart`, `?artishard`, `?indeed`, `?florida`, `?stop`
|
||||||
- Added YouTube search command
|
- Added YouTube search command
|
||||||
- Fixed reconnection starting duplicate timers
|
- Fixed reconnection starting duplicate timers
|
||||||
- Added system to prevent MOTD from chosing the same daily result consecutively
|
- Added system to prevent MOTD from chosing the same daily result consecutively
|
||||||
|
@ -10,7 +10,7 @@ import izzcomlib.IzzComLib.*;
|
|||||||
using StringTools;
|
using StringTools;
|
||||||
|
|
||||||
class Onequestionmark {
|
class Onequestionmark {
|
||||||
// Initialize vars
|
// Initialize vars
|
||||||
static var Bot:DiscordClient;
|
static var Bot:DiscordClient;
|
||||||
static var settings:Dynamic;
|
static var settings:Dynamic;
|
||||||
static var botInfo:Dynamic;
|
static var botInfo:Dynamic;
|
||||||
@ -27,7 +27,7 @@ class Onequestionmark {
|
|||||||
static var timerInit:Bool = false;
|
static var timerInit:Bool = false;
|
||||||
|
|
||||||
|
|
||||||
static function main() {
|
static function main() {
|
||||||
|
|
||||||
Sys.println('[${timestamp()}] Starting onequestionmark-chat');
|
Sys.println('[${timestamp()}] Starting onequestionmark-chat');
|
||||||
|
|
||||||
@ -78,17 +78,17 @@ class Onequestionmark {
|
|||||||
saveSystem();
|
saveSystem();
|
||||||
|
|
||||||
// Start the bot
|
// Start the bot
|
||||||
Bot = new DiscordClient(settings.token, [3276799], settings.debug);
|
Bot = new DiscordClient(settings.token, [3276799], settings.debug);
|
||||||
Bot.onReady = onReady;
|
Bot.onReady = onReady;
|
||||||
Bot.onMessageCreate = onMessageCreate;
|
Bot.onMessageCreate = onMessageCreate;
|
||||||
Bot.connect();
|
Bot.connect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The `onReady()` function is run upon a successful `Bot.connect()`
|
* The `onReady()` function is run upon a successful `Bot.connect()`
|
||||||
*/
|
*/
|
||||||
public static function onReady() {
|
public static function onReady() {
|
||||||
Sys.sleep(1);
|
Sys.sleep(1);
|
||||||
Sys.println('[${timestamp()}] Bot is online');
|
Sys.println('[${timestamp()}] Bot is online');
|
||||||
|
|
||||||
@ -103,16 +103,16 @@ class Onequestionmark {
|
|||||||
timerInit = true;
|
timerInit = true;
|
||||||
startMotd();
|
startMotd();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The `onMessageCreate()` event provides the bulk of onequestionmark's functionality.
|
* The `onMessageCreate()` event provides the bulk of onequestionmark's functionality.
|
||||||
* This is what triggers when a new Discord message is received, and contains the bot's command processor.
|
* This is what triggers when a new Discord message is received, and contains the bot's command processor.
|
||||||
*/
|
*/
|
||||||
public static function onMessageCreate(m:Message) {
|
public static function onMessageCreate(m:Message) {
|
||||||
// DevMode check
|
// DevMode check
|
||||||
if ((!settings.devmode) || (m.guild_id == settings.devserver)) {
|
if ((!settings.devmode) || (m.guild_id == settings.devserver)) {
|
||||||
var msg = m.content;
|
var msg = m.content;
|
||||||
var sender:String;
|
var sender:String;
|
||||||
if (m.getMember().nick == null) {sender = m.author.global_name;} else {sender = m.getMember().nick;}
|
if (m.getMember().nick == null) {sender = m.author.global_name;} else {sender = m.getMember().nick;}
|
||||||
@ -311,6 +311,16 @@ class Onequestionmark {
|
|||||||
m.reply({content:"https://cdn.discordapp.com/attachments/1071547517847732305/1147590229960691742/communism.gif"}, false);
|
m.reply({content:"https://cdn.discordapp.com/attachments/1071547517847732305/1147590229960691742/communism.gif"}, false);
|
||||||
case "opinions":
|
case "opinions":
|
||||||
m.reply({content:"https://cdn.discordapp.com/attachments/1071547517847732305/1147983375701921892/opinions.jpg"}, false);
|
m.reply({content:"https://cdn.discordapp.com/attachments/1071547517847732305/1147983375701921892/opinions.jpg"}, false);
|
||||||
|
case "fineart":
|
||||||
|
m.reply({content:"https://cdn.discordapp.com/attachments/270113422232911883/423323629116325898/unknown.png"}, false);
|
||||||
|
case "artishard":
|
||||||
|
m.reply({content:"https://cdn.discordapp.com/attachments/270113422232911883/356638565834424330/tumblr_nrxhzoF0KM1t75ioqo2_250.jpg"}, false);
|
||||||
|
case "indeed":
|
||||||
|
m.reply({content:"https://cdn.discordapp.com/attachments/1071547517847732305/1305252892491649145/indeed.gif"}, false);
|
||||||
|
case "florida":
|
||||||
|
m.reply({content:"https://cdn.discordapp.com/attachments/1071547517847732305/1305253566348529696/florida.gif"}, false);
|
||||||
|
case "stop":
|
||||||
|
m.reply({content:"https://cdn.discordapp.com/attachments/1071547517847732305/1305253985036275712/stop.jpg"}, false);
|
||||||
// Image database commands
|
// Image database commands
|
||||||
case "hug":
|
case "hug":
|
||||||
if (hugDB.length > 0) {
|
if (hugDB.length > 0) {
|
||||||
@ -369,7 +379,7 @@ class Onequestionmark {
|
|||||||
if ((iceRegex.match(msg)) && (m.author.id != botInfo.id)) {m.reply({content:"Did some carbon-based lifeform just say **I C E**?"});}
|
if ((iceRegex.match(msg)) && (m.author.id != botInfo.id)) {m.reply({content:"Did some carbon-based lifeform just say **I C E**?"});}
|
||||||
if ((m.mention_everyone == true) && (msg.charAt(0) != "?")) {m.reply({content:"https://cdn.discordapp.com/attachments/1071547517847732305/1147598637241741343/at_everyone.jpg"}, true);}
|
if ((m.mention_everyone == true) && (msg.charAt(0) != "?")) {m.reply({content:"https://cdn.discordapp.com/attachments/1071547517847732305/1147598637241741343/at_everyone.jpg"}, true);}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -398,7 +408,7 @@ class Onequestionmark {
|
|||||||
|
|
||||||
// Start the looped MOTD timer
|
// Start the looped MOTD timer
|
||||||
motdTimer = new Timer(86400000);
|
motdTimer = new Timer(86400000);
|
||||||
motdTimer.run = function() {
|
motdTimer.run = function() {
|
||||||
settings.motd.date = datestamp();
|
settings.motd.date = datestamp();
|
||||||
postMotd();
|
postMotd();
|
||||||
saveQueue.push("settings");
|
saveQueue.push("settings");
|
||||||
@ -472,16 +482,16 @@ class Onequestionmark {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function performs a YouTube search and replies with the first result.
|
* This function performs a YouTube search and replies with the first result.
|
||||||
* @param m The message data.
|
* @param m The message data.
|
||||||
* @param query The string to search.
|
* @param query The string to search.
|
||||||
*/
|
*/
|
||||||
public static function ytlookup(m:Message,query:String) {
|
public static function ytlookup(m:Message,query:String) {
|
||||||
var http = new haxe.Http('https://www.youtube.com/results?search_query=${query.urlEncode()}');
|
var http = new haxe.Http('https://www.youtube.com/results?search_query=${query.urlEncode()}');
|
||||||
Sys.println('[${timestamp()}] ytlookup: URL - https://www.youtube.com/results?search_query=${query.urlEncode()}');
|
Sys.println('[${timestamp()}] ytlookup: URL - https://www.youtube.com/results?search_query=${query.urlEncode()}');
|
||||||
|
|
||||||
http.onData = function (request) {
|
http.onData = function (request) {
|
||||||
File.saveContent("export/ytlookup_result.txt", request);
|
File.saveContent("export/ytlookup_result.txt", request);
|
||||||
var data = new HtmlDocument(request);
|
var data = new HtmlDocument(request);
|
||||||
var search = data.find("script"); // YouTube obfuscates everything into JS garbage so we have to check every <script>
|
var search = data.find("script"); // YouTube obfuscates everything into JS garbage so we have to check every <script>
|
||||||
|
|
||||||
@ -495,24 +505,24 @@ class Onequestionmark {
|
|||||||
// Top result is a Short
|
// Top result is a Short
|
||||||
result = "https://youtu.be/" + gotcha.substring(gotcha.indexOf("\"reelWatchEndpoint\":{\"videoId\":\"")+32, gotcha.indexOf("\"", gotcha.indexOf("\"reelWatchEndpoint\":{\"videoId\":\"")+32));
|
result = "https://youtu.be/" + gotcha.substring(gotcha.indexOf("\"reelWatchEndpoint\":{\"videoId\":\"")+32, gotcha.indexOf("\"", gotcha.indexOf("\"reelWatchEndpoint\":{\"videoId\":\"")+32));
|
||||||
|
|
||||||
Sys.println('[${timestamp()}] ytlookup: Result - $result (Short)');
|
Sys.println('[${timestamp()}] ytlookup: Result - $result (Short)');
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
// Top result is a normal video
|
// Top result is a normal video
|
||||||
result = "https://youtu.be/" + gotcha.substring(gotcha.indexOf("\"videoRenderer\":{\"videoId\":\"")+28, gotcha.indexOf("\"", gotcha.indexOf("\"videoRenderer\":{\"videoId\":\"")+28));
|
result = "https://youtu.be/" + gotcha.substring(gotcha.indexOf("\"videoRenderer\":{\"videoId\":\"")+28, gotcha.indexOf("\"", gotcha.indexOf("\"videoRenderer\":{\"videoId\":\"")+28));
|
||||||
|
|
||||||
Sys.println('[${timestamp()}] ytlookup: Result - $result (Normal)');
|
Sys.println('[${timestamp()}] ytlookup: Result - $result (Normal)');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m.reply({content:result}, false);
|
m.reply({content:result}, false);
|
||||||
m.reply({content:"-# YouTube Lookup is still in beta. If the result seems inaccurate, please use the command `?ytdebug` so the developer can review the data that was received."}, false);
|
m.reply({content:"-# YouTube Lookup is still in beta. If the result seems inaccurate, please use the command `?ytdebug` so the developer can review the data that was received."}, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
http.onError = function (error) {
|
http.onError = function (error) {
|
||||||
m.reply({content:'Error in YouTube Lookup: $error'}, false);
|
m.reply({content:'Error in YouTube Lookup: $error'}, false);
|
||||||
Sys.println('[${timestamp()}] ytlookup: Error - $error, request was $query');
|
Sys.println('[${timestamp()}] ytlookup: Error - $error, request was $query');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -528,7 +538,7 @@ class Onequestionmark {
|
|||||||
public static function saveSystem() {
|
public static function saveSystem() {
|
||||||
Timer.delay(function() {
|
Timer.delay(function() {
|
||||||
saveTimer = new Timer(60*1000);
|
saveTimer = new Timer(60*1000);
|
||||||
saveTimer.run = function() {
|
saveTimer.run = function() {
|
||||||
if (saveQueue.length > 0) { // See if there's anything in the queue
|
if (saveQueue.length > 0) { // See if there's anything in the queue
|
||||||
switch (saveQueue.shift()) {
|
switch (saveQueue.shift()) {
|
||||||
case "settings":
|
case "settings":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user