mirror of
https://github.com/reality/dbot.git
synced 2024-12-25 04:02:39 +01:00
reload
This commit is contained in:
commit
ffec54ffe2
@ -5,8 +5,8 @@
|
|||||||
var _ = require('underscore')._;
|
var _ = require('underscore')._;
|
||||||
|
|
||||||
var api = function(dbot) {
|
var api = function(dbot) {
|
||||||
this.pages = {
|
this.onLoad = function() {
|
||||||
'/api': function(req, res) {
|
dbot.modules.web.app.get('/api', function(req, res) {
|
||||||
var externalApi = {};
|
var externalApi = {};
|
||||||
_.each(dbot.api, function(moduleApi, moduleName) {
|
_.each(dbot.api, function(moduleApi, moduleName) {
|
||||||
externalApi[moduleName] = {};
|
externalApi[moduleName] = {};
|
||||||
@ -17,11 +17,9 @@ var api = function(dbot) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
res.render('api', { 'name': dbot.config.name, 'api': externalApi });
|
res.render('api/api', { 'name': dbot.config.name, 'api': externalApi });
|
||||||
}
|
});
|
||||||
};
|
|
||||||
|
|
||||||
this.onLoad = function() {
|
|
||||||
dbot.modules.web.app.get('/api/:module/:method', function(req, res) {
|
dbot.modules.web.app.get('/api/:module/:method', function(req, res) {
|
||||||
var module = req.params.module,
|
var module = req.params.module,
|
||||||
method = req.params.method,
|
method = req.params.method,
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var _ = require('underscore')._,
|
var _ = require('underscore')._,
|
||||||
request = require('request');
|
request = require('request'),
|
||||||
|
crypto = require('crypto');
|
||||||
|
|
||||||
var imgur = function(dbot) {
|
var imgur = function(dbot) {
|
||||||
this.internalAPI = {
|
this.internalAPI = {
|
||||||
@ -49,7 +50,8 @@ var imgur = function(dbot) {
|
|||||||
// 492 is body.length of a removed image
|
// 492 is body.length of a removed image
|
||||||
if(!error && response.statusCode == 200 && body.length != 492) {
|
if(!error && response.statusCode == 200 && body.length != 492) {
|
||||||
dbot.db.imgur.totalImages += 1;
|
dbot.db.imgur.totalImages += 1;
|
||||||
callback(testUrl, testSlug);
|
var hash = crypto.createHash('md5').update(body).digest("hex");
|
||||||
|
callback(testUrl, testSlug,hash);
|
||||||
} else {
|
} else {
|
||||||
this.api.getRandomImage(callback);
|
this.api.getRandomImage(callback);
|
||||||
}
|
}
|
||||||
|
12
modules/udp/README.md
Normal file
12
modules/udp/README.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# UDP
|
||||||
|
Prints UDP packets; designed for a [MediaWiki installation](https://www.mediawiki.org/wiki/Manual:$wgRC2UDPAddress).
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
## server
|
||||||
|
The server name, as configured in the main ``config.json``, that depressionbot will announce packets on.
|
||||||
|
## channel
|
||||||
|
The channel name, that depressionbot will announce packets on.
|
||||||
|
## port
|
||||||
|
The port depressionbot will listen for UDP packets on.
|
||||||
|
## address
|
||||||
|
The address depressionbot will allow UDP packets from. UDP packets sent from a different address will be ignored.
|
6
modules/udp/config.json
Normal file
6
modules/udp/config.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"port":14628,
|
||||||
|
"address": "127.0.0.1",
|
||||||
|
"server": "freenode",
|
||||||
|
"channel": "#oaosidl"
|
||||||
|
}
|
22
modules/udp/udp.js
Normal file
22
modules/udp/udp.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/**
|
||||||
|
* Module Name: UDP
|
||||||
|
* Description: Relays UDP packets, intended for
|
||||||
|
* a feed of RecentChanges on a MediaWiki install.
|
||||||
|
*/
|
||||||
|
var dgram = require('dgram');
|
||||||
|
|
||||||
|
var udp = function(dbot) {
|
||||||
|
var server = dgram.createSocket("udp4");
|
||||||
|
server.on("message", function(msg, msginfo) {
|
||||||
|
var message = msg.toString();
|
||||||
|
console.log(message);
|
||||||
|
if (msginfo.address == dbot.config.udp.address) {
|
||||||
|
dbot.say(dbot.config.udp.server, dbot.config.udp.channel, message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
server.bind(dbot.config.udp.port);
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.fetch = function(dbot) {
|
||||||
|
return new udp(dbot);
|
||||||
|
};
|
@ -106,3 +106,15 @@ html,body {
|
|||||||
overflow:auto;
|
overflow:auto;
|
||||||
padding:0;
|
padding:0;
|
||||||
}
|
}
|
||||||
|
#count2 {
|
||||||
|
bottom:25px;
|
||||||
|
position:absolute;
|
||||||
|
border-radius:5px;
|
||||||
|
display:none;
|
||||||
|
margin;5px;
|
||||||
|
padding:5px;
|
||||||
|
right:25px;
|
||||||
|
background-color:#3b5998;
|
||||||
|
color:white;
|
||||||
|
font-family:'Freight Sans Bold','Lucida Grande',verdana,arial,sans-serif;
|
||||||
|
}
|
||||||
|
76
public/imgurr.js
Normal file
76
public/imgurr.js
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
function giveMessage(msg) {
|
||||||
|
$('<li>'+msg+'</li>').prependTo('#history').hide().slideDown();
|
||||||
|
}
|
||||||
|
|
||||||
|
var lock = false;
|
||||||
|
var highscore = 10 + 1;
|
||||||
|
var score = highscore;
|
||||||
|
var count = 0;
|
||||||
|
var count2 = 0;
|
||||||
|
|
||||||
|
$('#count').text(score);
|
||||||
|
|
||||||
|
function getNewImage() {
|
||||||
|
count += 1;
|
||||||
|
lock = true;
|
||||||
|
$('#loading').fadeIn();
|
||||||
|
$('#loading').text('Loading image ' + count + '...');
|
||||||
|
document.title = 'random imgur (' + count + ')';
|
||||||
|
$('#loading').fadeIn();
|
||||||
|
$('#image').load(function(){});
|
||||||
|
$.get("/api/imgur/getRandomImage", function(d) {
|
||||||
|
$('#image').attr('src', d.data[0]);
|
||||||
|
lock = false;
|
||||||
|
score -= 1;
|
||||||
|
$('#count').text(score);
|
||||||
|
$('#details').text("Fetching info...");
|
||||||
|
giveMessage('<a href="' + d.data[0] + '">' + d.data[0] + '</a>');
|
||||||
|
$.get("/api/imgur/getImageInfoString", { 'slug': d.data[1] }, function(info) {
|
||||||
|
if(info.data[0].indexOf('undefined') == -1) {
|
||||||
|
$("#details").text(count + ': ' + info.data[0]);
|
||||||
|
$('#details').show();
|
||||||
|
} else {
|
||||||
|
$("#details").hide();
|
||||||
|
}
|
||||||
|
$('#loading').fadeOut();
|
||||||
|
}, "json");
|
||||||
|
console.log(d.data[2]);
|
||||||
|
if(d.data[2] == "e49e686582ce3f60cb51d00c10924861") { // 3Tt6N fb guy
|
||||||
|
count2 += 1;
|
||||||
|
if (count2 == 1){
|
||||||
|
$('#count2').text("+ " + count2 + " Facebook Monopoly Man");
|
||||||
|
} else {
|
||||||
|
$('#count2').text("+ " + count2 + " Facebook Monopoly Men");
|
||||||
|
}
|
||||||
|
$('#count2').fadeIn();
|
||||||
|
}
|
||||||
|
}, "json");
|
||||||
|
}
|
||||||
|
|
||||||
|
$(getNewImage());
|
||||||
|
|
||||||
|
$(document).on('keydown', function(e){
|
||||||
|
switch(e.which){
|
||||||
|
case 82: // r
|
||||||
|
score = highscore;
|
||||||
|
$('#count').text(highscore);
|
||||||
|
giveMessage("Score reset.");
|
||||||
|
case 13: // enter
|
||||||
|
case 32: // space
|
||||||
|
if (lock) {
|
||||||
|
$('#loading').text(function(index, text){
|
||||||
|
return text.replace(/.(?=[^.]*$)/, "!");
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
getNewImage();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 67:
|
||||||
|
$('#count').fadeToggle();
|
||||||
|
$('#count2').fadeToggle();
|
||||||
|
break;
|
||||||
|
case 83: // s
|
||||||
|
$('body').toggleClass('crop');
|
||||||
|
giveMessage("Toggled scrollbars.")
|
||||||
|
};
|
||||||
|
});
|
@ -3,73 +3,17 @@ html(lang='en')
|
|||||||
head
|
head
|
||||||
meta(charset='utf-8')
|
meta(charset='utf-8')
|
||||||
script(type="text/javascript", src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js")
|
script(type="text/javascript", src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js")
|
||||||
|
script(type="text/javascript", src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/md5.js")
|
||||||
|
script(type="text/javascript", src="/imgurr.js")
|
||||||
link(rel="stylesheet", href="/imgurr.css")
|
link(rel="stylesheet", href="/imgurr.css")
|
||||||
title random imgur
|
title random imgur
|
||||||
script
|
|
||||||
var count = 0;
|
|
||||||
function giveMessage(msg) {
|
|
||||||
$('<li>'+msg+'</li>').prependTo('#history').hide().slideDown();
|
|
||||||
}
|
|
||||||
var lock = false
|
|
||||||
var highscore = #{highscore} + 1;
|
|
||||||
var score = highscore;
|
|
||||||
$('#count').text(score);
|
|
||||||
function getNewImage() {
|
|
||||||
count += 1;
|
|
||||||
lock = true;
|
|
||||||
$('#loading').fadeIn();
|
|
||||||
$('#loading').text('Loading image ' + count + '...');
|
|
||||||
document.title = 'random imgur (' + count + ')';
|
|
||||||
$('#loading').fadeIn();
|
|
||||||
$('#image').load(function(){});
|
|
||||||
$.get("/api/imgur/getRandomImage", function(d) {
|
|
||||||
$('#image').attr('src', d.data[0]);
|
|
||||||
lock = false;
|
|
||||||
score -= 1;
|
|
||||||
$('#count').text(score);
|
|
||||||
$('#details').text("Fetching info...");
|
|
||||||
giveMessage('<a href="' + d.data[0] + '">' + d.data[0] + '</a>');
|
|
||||||
$.get("/api/imgur/getImageInfoString", { 'slug': d.data[1] }, function(info) {
|
|
||||||
if(info.data[0].indexOf('undefined') == -1) {
|
|
||||||
$("#details").text(count + ': ' + info.data[0]);
|
|
||||||
$('#details').show();
|
|
||||||
} else {
|
|
||||||
$("#details").hide();
|
|
||||||
}
|
|
||||||
$('#loading').fadeOut();
|
|
||||||
}, "json");
|
|
||||||
}, "json");
|
|
||||||
}
|
|
||||||
$(getNewImage());
|
|
||||||
$(document).on('keydown', function(e){
|
|
||||||
switch(e.which){
|
|
||||||
case 82: // r
|
|
||||||
score = highscore;
|
|
||||||
$('#count').text(highscore);
|
|
||||||
giveMessage("Score reset.");
|
|
||||||
case 13: // enter
|
|
||||||
case 32: // space
|
|
||||||
if (lock) {
|
|
||||||
$('#loading').text(function(index, text){
|
|
||||||
return text.replace(/\.(?=[^.]*$)/, "!");
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
getNewImage();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 67:
|
|
||||||
$('#count').fadeToggle();
|
|
||||||
break;
|
|
||||||
case 83: // s
|
|
||||||
$('body').toggleClass('crop');
|
|
||||||
giveMessage("Toggled scrollbars.")
|
|
||||||
};
|
|
||||||
});
|
|
||||||
body
|
body
|
||||||
div#loading Loading image 1...
|
div#loading Loading image 1...
|
||||||
div#details Press [SPACE] to load a new image
|
div#details Press [SPACE] to load a new image
|
||||||
div#count
|
div#count
|
||||||
#{highscore}
|
#{highscore}
|
||||||
|
div#count2
|
||||||
|
ø
|
||||||
ul#history
|
ul#history
|
||||||
li Press [SPACE] for next
|
li Press [SPACE] for next
|
||||||
div#container
|
div#container
|
||||||
|
Loading…
Reference in New Issue
Block a user