Added support for i.redd.it and self posts. Moved pattern interpolation out of fetch module.

This commit is contained in:
2024-09-11 05:16:53 +02:00
parent 7fe0208386
commit f5e8906823
13 changed files with 144 additions and 204 deletions

View File

@@ -1,11 +1,10 @@
'use strict';
const note = require('note-log');
const util = require('util');
const config = require('config');
const fetch = require('node-fetch');
function imgurImage(post) {
function gfycat(post) {
return fetch(`https://api.gfycat.com/v1/gfycats/${post.host.id}`, {
headers: {
'Authorization': `Bearer ${config.methods.gfycat.key}`
@@ -24,8 +23,8 @@ function imgurImage(post) {
}]
};
}).catch(error => {
note(error);
console.error(error);
});
};
module.exports = imgurImage;
module.exports = gfycat;

View File

@@ -1,6 +1,5 @@
'use strict';
const note = require('note-log');
const util = require('util');
const config = require('config');
const fetch = require('node-fetch');
@@ -31,7 +30,7 @@ function imgurAlbum(post) {
}))
};
}).catch(error => {
note(error);
console.error(error);
});
};

View File

@@ -1,6 +1,5 @@
'use strict';
const note = require('note-log');
const util = require('util');
const config = require('config');
const fetch = require('node-fetch');
@@ -24,7 +23,7 @@ function imgurImage(post) {
}]
};
}).catch(error => {
note(error);
console.error(error);
});
};

View File

@@ -1,10 +1,14 @@
'use strict';
const self = require('./self.js');
const reddit = require('./reddit.js');
const imgurImage = require('./imgurImage.js');
const imgurAlbum = require('./imgurAlbum.js');
const gfycat= require('./gfycat.js');
const gfycat = require('./gfycat.js');
module.exports = {
self: self,
reddit: reddit,
imgurImage: imgurImage,
imgurAlbum: imgurAlbum,
gfycat: gfycat

21
methods/reddit.js Normal file
View File

@@ -0,0 +1,21 @@
'use strict';
const util = require('util');
const config = require('config');
const fetch = require('node-fetch');
function reddit(post) {
return Promise.resolve({
album: null,
items: [{
id: post.id,
url: post.url,
title: post.title,
datetime: post.datetime,
type: 'image/jpeg',
original: post
}]
});
};
module.exports = reddit;

23
methods/self.js Normal file
View File

@@ -0,0 +1,23 @@
'use strict';
const util = require('util');
const config = require('config');
const fetch = require('node-fetch');
function self(post) {
return Promise.resolve({
album: null,
items: [{
id: post.id,
url: post.url,
title: post.title,
text: post.text,
datetime: post.datetime,
type: 'text/plain',
self: true,
original: post
}]
});
};
module.exports = self;