|
|
|
@ -11,22 +11,22 @@ export class mastodonMemeBot {
|
|
|
|
|
access_token: config.accessToken,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
postRandomMeme(callback = undefined) {
|
|
|
|
|
postRandomMeme(callback = () => {}) {
|
|
|
|
|
this.memeHandler.getRandomMeme(sub => {
|
|
|
|
|
let status = `"${sub.title}"\n${sub.text}\nby ${sub.author}`;
|
|
|
|
|
if (!this.allowedMedia.find(type => type === sub.url.split(/[.]+/).pop())) {
|
|
|
|
|
console.log("no valid media, fetching new sub");
|
|
|
|
|
this.postRandomMeme(callback??undefined);
|
|
|
|
|
this.postRandomMeme(callback);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
let filepath = `./media/${sub.url.split(/[/]+/).pop()}`;
|
|
|
|
|
if (getStat(filepath) === true) {
|
|
|
|
|
console.log("post already exists, fetching new sub");
|
|
|
|
|
this.postRandomMeme(callback??undefined);
|
|
|
|
|
this.postRandomMeme(callback);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.memeHandler.downloadMedia(sub.url, filepath, () => {
|
|
|
|
|
this.client.postMedia(status, filepath, 5, () => this.postRandomMeme(), callback??undefined);
|
|
|
|
|
this.client.postMedia(status, filepath, 5, () => this.postRandomMeme(), callback);
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|