add and implement config file
This commit is contained in:
parent
ac689911ac
commit
29eb393717
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
./accessToken.json*
|
./accessToken.json*
|
||||||
node_app/media
|
node_app/media
|
||||||
|
node_app/config.json
|
7
node_app/example.config.json
Normal file
7
node_app/example.config.json
Normal file
@ -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
|
||||||
|
}
|
@ -1,16 +1,18 @@
|
|||||||
import {MastodonTokenHandler} from "./mastodonTokenHandler.js";
|
import {MastodonTokenHandler} from "./mastodonTokenHandler.js";
|
||||||
import {mastodonMemeBot} from "./mastodonMemeBot.js";
|
import {mastodonMemeBot} from "./mastodonMemeBot.js";
|
||||||
|
import {loadData} from "./JSONdataStore.js";
|
||||||
|
|
||||||
const config = {
|
const config = loadData("./config.json")??{
|
||||||
baseUrl: "https://social.cybre.town",
|
baseUrl: "https://social.cybre.town",
|
||||||
memeAPI: "http://redditapi.adb.sh/api/v1/",
|
memeAPI: "http://redditapi.adb.sh/api/v1/",
|
||||||
subreddits: ["r/programmerhumor/random"],
|
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) => {
|
tokenHandler.getAccessToken((accessToken) => {
|
||||||
config.accessToken = accessToken;
|
config.accessToken = accessToken;
|
||||||
let bot = new mastodonMemeBot(config);
|
let bot = new mastodonMemeBot(config);
|
||||||
bot.setFullInterval(60);
|
bot.setFullInterval(config.interval);
|
||||||
});
|
});
|
||||||
|
@ -8,11 +8,12 @@ const rl = readline.createInterface({
|
|||||||
})
|
})
|
||||||
|
|
||||||
export class MastodonTokenHandler {
|
export class MastodonTokenHandler {
|
||||||
constructor(baseUrl) {
|
constructor(config) {
|
||||||
this.baseUrl = baseUrl;
|
this.config = config??loadData("./config.json");
|
||||||
this.clientId;
|
this.clientId;
|
||||||
this.clientSecret;
|
this.clientSecret;
|
||||||
this.accessToken = loadData("./accessToken.json");
|
this.accessToken = this.config.token;
|
||||||
|
this.baseUrl = this.config.baseUrl;
|
||||||
}
|
}
|
||||||
getAccessToken(_callback){
|
getAccessToken(_callback){
|
||||||
if (!this.accessToken) this.newAccessToken(_callback);
|
if (!this.accessToken) this.newAccessToken(_callback);
|
||||||
@ -46,7 +47,8 @@ export class MastodonTokenHandler {
|
|||||||
.then((token) => {
|
.then((token) => {
|
||||||
this.accessToken = token;
|
this.accessToken = token;
|
||||||
console.log(`This is the access token. Save it!\n${this.accessToken}`)
|
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);
|
_callback(this.accessToken);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user