From 29eb39371779d19c645e81e07e7c37d9c721c560 Mon Sep 17 00:00:00 2001 From: adb Date: Tue, 2 Mar 2021 13:52:52 +0100 Subject: [PATCH] add and implement config file --- .gitignore | 3 ++- node_app/example.config.json | 7 +++++++ node_app/main.js | 10 ++++++---- node_app/mastodonTokenHandler.js | 10 ++++++---- 4 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 node_app/example.config.json diff --git a/.gitignore b/.gitignore index 3f26f66..c696fa7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ ./accessToken.json* -node_app/media \ No newline at end of file +node_app/media +node_app/config.json \ No newline at end of file diff --git a/node_app/example.config.json b/node_app/example.config.json new file mode 100644 index 0000000..99ad827 --- /dev/null +++ b/node_app/example.config.json @@ -0,0 +1,7 @@ +{ + "baseUrl": "https://social.cybre.town", + "memeAPI": "http://redditapi.adb.sh/api/v1/", + "subreddits": ["r/programmerhumor/random"], + "allowedMedia": ["jpg", "jpeg", "gif", "png"], + "interval": 60 +} \ No newline at end of file diff --git a/node_app/main.js b/node_app/main.js index 6031fb9..3596994 100644 --- a/node_app/main.js +++ b/node_app/main.js @@ -1,16 +1,18 @@ import {MastodonTokenHandler} from "./mastodonTokenHandler.js"; import {mastodonMemeBot} from "./mastodonMemeBot.js"; +import {loadData} from "./JSONdataStore.js"; -const config = { +const config = loadData("./config.json")??{ baseUrl: "https://social.cybre.town", memeAPI: "http://redditapi.adb.sh/api/v1/", subreddits: ["r/programmerhumor/random"], - allowedMedia: ["jpg", "jpeg", "gif", "png"] + allowedMedia: ["jpg", "jpeg", "gif", "png"], + interval: 60 }; -let tokenHandler = new MastodonTokenHandler(config.baseUrl); +let tokenHandler = new MastodonTokenHandler(config); tokenHandler.getAccessToken((accessToken) => { config.accessToken = accessToken; let bot = new mastodonMemeBot(config); - bot.setFullInterval(60); + bot.setFullInterval(config.interval); }); diff --git a/node_app/mastodonTokenHandler.js b/node_app/mastodonTokenHandler.js index 23fafb7..a59be6b 100644 --- a/node_app/mastodonTokenHandler.js +++ b/node_app/mastodonTokenHandler.js @@ -8,11 +8,12 @@ const rl = readline.createInterface({ }) export class MastodonTokenHandler { - constructor(baseUrl) { - this.baseUrl = baseUrl; + constructor(config) { + this.config = config??loadData("./config.json"); this.clientId; this.clientSecret; - this.accessToken = loadData("./accessToken.json"); + this.accessToken = this.config.token; + this.baseUrl = this.config.baseUrl; } getAccessToken(_callback){ if (!this.accessToken) this.newAccessToken(_callback); @@ -46,7 +47,8 @@ export class MastodonTokenHandler { .then((token) => { this.accessToken = token; console.log(`This is the access token. Save it!\n${this.accessToken}`) - storeData(this.accessToken, "./accessToken.json"); + this.config.token = this.accessToken; + storeData(this.config, "./config.json"); _callback(this.accessToken); }) }