forked from GitHub/dbot
reload
This commit is contained in:
commit
ffec54ffe2
@ -5,8 +5,8 @@
|
||||
var _ = require('underscore')._;
|
||||
|
||||
var api = function(dbot) {
|
||||
this.pages = {
|
||||
'/api': function(req, res) {
|
||||
this.onLoad = function() {
|
||||
dbot.modules.web.app.get('/api', function(req, res) {
|
||||
var externalApi = {};
|
||||
_.each(dbot.api, function(moduleApi, 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) {
|
||||
var module = req.params.module,
|
||||
method = req.params.method,
|
||||
|
@ -4,7 +4,8 @@
|
||||
*/
|
||||
|
||||
var _ = require('underscore')._,
|
||||
request = require('request');
|
||||
request = require('request'),
|
||||
crypto = require('crypto');
|
||||
|
||||
var imgur = function(dbot) {
|
||||
this.internalAPI = {
|
||||
@ -49,7 +50,8 @@ var imgur = function(dbot) {
|
||||
// 492 is body.length of a removed image
|
||||
if(!error && response.statusCode == 200 && body.length != 492) {
|
||||
dbot.db.imgur.totalImages += 1;
|
||||
callback(testUrl, testSlug);
|
||||
var hash = crypto.createHash('md5').update(body).digest("hex");
|
||||
callback(testUrl, testSlug,hash);
|
||||
} else {
|
||||
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;
|
||||
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
|
||||
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="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")
|
||||
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
|
||||
div#loading Loading image 1...
|
||||
div#details Press [SPACE] to load a new image
|
||||
div#count
|
||||
#{highscore}
|
||||
div#count2
|
||||
ø
|
||||
ul#history
|
||||
li Press [SPACE] for next
|
||||
div#container
|
||||
|
Loading…
Reference in New Issue
Block a user