post function in utils
This commit is contained in:
parent
a9680ccaaf
commit
70e4dce6ea
@ -6,95 +6,10 @@ import Masto from "mastodon";
|
|||||||
import path from 'path';
|
import path from 'path';
|
||||||
const __dirname = path.resolve();
|
const __dirname = path.resolve();
|
||||||
const tkpostsjson = JSON.parse(fs.readFileSync(__dirname +"/assets/documents/tykayn_wptkblog_posts.json", 'utf-8'))
|
const tkpostsjson = JSON.parse(fs.readFileSync(__dirname +"/assets/documents/tykayn_wptkblog_posts.json", 'utf-8'))
|
||||||
|
import {sendPostMastodon} from './utils.js'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let nowDate = new Date()
|
|
||||||
|
|
||||||
|
|
||||||
let defaultConfigMasto = {
|
|
||||||
author: 'curator',
|
|
||||||
visibility: 'public',
|
|
||||||
language: 'fr',
|
|
||||||
sensitive: false,
|
|
||||||
reallySendPost: false,
|
|
||||||
message: "Hey coucou! on est le" + nowDate,
|
|
||||||
scheduled_at: ""
|
|
||||||
}
|
|
||||||
|
|
||||||
export function sendPostMastodon(config) {
|
|
||||||
|
|
||||||
// override defaults with input argument
|
|
||||||
config = {
|
|
||||||
...defaultConfigMasto,
|
|
||||||
...config,
|
|
||||||
}
|
|
||||||
// require('dotenv').config();
|
|
||||||
|
|
||||||
if (process.env['TOKEN_' + config.author.toUpperCase()]) {
|
|
||||||
|
|
||||||
let visibility = 'public';
|
|
||||||
let language = 'fr';
|
|
||||||
let sensitive = false;
|
|
||||||
|
|
||||||
let accessToken = process.env['TOKEN_' + config.author.toUpperCase()]
|
|
||||||
const masto = new Masto({
|
|
||||||
access_token: accessToken,
|
|
||||||
api_url: process.env.INSTANCE_MASTODON + '/api/v1/',
|
|
||||||
});
|
|
||||||
|
|
||||||
let params = {
|
|
||||||
status: config.message,
|
|
||||||
visibility,
|
|
||||||
language,
|
|
||||||
sensitive
|
|
||||||
}
|
|
||||||
if (config.cw) {
|
|
||||||
params['spoiler_text'] = config.cw
|
|
||||||
}
|
|
||||||
if (config.scheduled_at && config.scheduled_at_bool) {
|
|
||||||
let dateschedule = new Date(config.scheduled_at)
|
|
||||||
params['scheduled_at'] = dateschedule.toISOString()
|
|
||||||
}
|
|
||||||
console.log(config)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* envoi sans fichier joint
|
|
||||||
*/
|
|
||||||
if (!config.fichier) {
|
|
||||||
|
|
||||||
if (config.reallySendPost) {
|
|
||||||
|
|
||||||
masto.post('statuses', params).then(rep => {
|
|
||||||
// console.log('rep', rep)
|
|
||||||
console.log("posté, yay!")
|
|
||||||
}, err => {
|
|
||||||
console.error(err)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* envoi avec fichier,
|
|
||||||
* on doit d'abord faire un upload du fichier,
|
|
||||||
* puis relier son id de media au nouveau post.
|
|
||||||
*/
|
|
||||||
// if (config.fichier) {
|
|
||||||
//
|
|
||||||
// masto.post('statuses', params).then(rep => {
|
|
||||||
// console.log('rep', rep)
|
|
||||||
// }, err => {
|
|
||||||
// console.error(err)
|
|
||||||
// })
|
|
||||||
// res.render('index', {bodyReq: config})
|
|
||||||
// }
|
|
||||||
|
|
||||||
} else {
|
|
||||||
console.error('pas de token pour ' + config.author, process.env.TOKEN_curator)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getRandomElementOfArray(listItems) {
|
export function getRandomElementOfArray(listItems) {
|
||||||
return listItems[Math.floor(Math.random() * listItems.length)]
|
return listItems[Math.floor(Math.random() * listItems.length)]
|
||||||
}
|
}
|
||||||
@ -126,8 +41,8 @@ function postLink() {
|
|||||||
* ${postObject.post_date} - ${postObject.guid}
|
* ${postObject.post_date} - ${postObject.guid}
|
||||||
${filteredExcerpt}
|
${filteredExcerpt}
|
||||||
* #tykayn #tkblog #blog`,
|
* #tykayn #tkblog #blog`,
|
||||||
reallySendPost: true,
|
// reallySendPost: true,
|
||||||
// reallySendPost: false,
|
reallySendPost: false,
|
||||||
}
|
}
|
||||||
console.log("configPost.message", configPost.message)
|
console.log("configPost.message", configPost.message)
|
||||||
sendPostMastodon(configPost)
|
sendPostMastodon(configPost)
|
||||||
|
@ -6,3 +6,92 @@ export function randomIntFromInterval(min, max) { // min and max included
|
|||||||
export function getRandomElementOfArray(listItems) {
|
export function getRandomElementOfArray(listItems) {
|
||||||
return listItems[Math.floor(Math.random() * listItems.length)]
|
return listItems[Math.floor(Math.random() * listItems.length)]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
let nowDate = new Date()
|
||||||
|
|
||||||
|
export let defaultConfigMasto = {
|
||||||
|
author: 'curator',
|
||||||
|
visibility: 'public',
|
||||||
|
language: 'fr',
|
||||||
|
sensitive: false,
|
||||||
|
reallySendPost: false,
|
||||||
|
message: "Hey coucou! on est le" + nowDate,
|
||||||
|
scheduled_at: ""
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function sendPostMastodon(config) {
|
||||||
|
|
||||||
|
// override defaults with input argument
|
||||||
|
config = {
|
||||||
|
...defaultConfigMasto,
|
||||||
|
...config,
|
||||||
|
}
|
||||||
|
// require('dotenv').config();
|
||||||
|
|
||||||
|
if (process.env['TOKEN_' + config.author.toUpperCase()]) {
|
||||||
|
|
||||||
|
let visibility = 'public';
|
||||||
|
let language = 'fr';
|
||||||
|
let sensitive = false;
|
||||||
|
|
||||||
|
let accessToken = process.env['TOKEN_' + config.author.toUpperCase()]
|
||||||
|
const masto = new Masto({
|
||||||
|
access_token: accessToken,
|
||||||
|
api_url: process.env.INSTANCE_MASTODON + '/api/v1/',
|
||||||
|
});
|
||||||
|
|
||||||
|
let params = {
|
||||||
|
status: config.message,
|
||||||
|
visibility,
|
||||||
|
language,
|
||||||
|
sensitive
|
||||||
|
}
|
||||||
|
if (config.cw) {
|
||||||
|
params['spoiler_text'] = config.cw
|
||||||
|
}
|
||||||
|
if (config.scheduled_at && config.scheduled_at_bool) {
|
||||||
|
let dateschedule = new Date(config.scheduled_at)
|
||||||
|
params['scheduled_at'] = dateschedule.toISOString()
|
||||||
|
}
|
||||||
|
console.log(config)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* envoi sans fichier joint
|
||||||
|
*/
|
||||||
|
if (!config.fichier) {
|
||||||
|
|
||||||
|
if (config.reallySendPost) {
|
||||||
|
|
||||||
|
masto.post('statuses', params).then(rep => {
|
||||||
|
// console.log('rep', rep)
|
||||||
|
console.log("posté, yay!")
|
||||||
|
}, err => {
|
||||||
|
console.error(err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* envoi avec fichier,
|
||||||
|
* on doit d'abord faire un upload du fichier,
|
||||||
|
* puis relier son id de media au nouveau post.
|
||||||
|
*/
|
||||||
|
// if (config.fichier) {
|
||||||
|
//
|
||||||
|
// masto.post('statuses', params).then(rep => {
|
||||||
|
// console.log('rep', rep)
|
||||||
|
// }, err => {
|
||||||
|
// console.error(err)
|
||||||
|
// })
|
||||||
|
// res.render('index', {bodyReq: config})
|
||||||
|
// }
|
||||||
|
|
||||||
|
} else {
|
||||||
|
console.error('pas de token pour ' + config.author, process.env.TOKEN_curator)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user