This commit is contained in:
Tykayn 2022-07-10 23:02:32 +02:00 committed by tykayn
parent 119fd081bc
commit de5069d56b
3 changed files with 45 additions and 15 deletions

View File

@ -35,4 +35,28 @@ TOKEN_account_B=ABCD
``` ```
lancer le serveur local avec un npm start lancer le serveur local avec un npm start
aller sur localhost 8000 et zou, on peut créer la base de données, et commencer à sauver de nouveaux messages. aller sur localhost 8000 et zou, on peut créer la base de données, et commencer à sauver de nouveaux messages.
http://localhost:8000
# Planifier ses posts
## yes we can
* on peut ajouter des posts avec un fichier attaché
## on ne peut pas encore:
* poster maintenant un nouveau post sans passer par la file d'attente
* configurer les comptes à choisir dynamiquement
* redistribuer les schedule des posts
* publier une image au hasard parmi un dossier
* publier en suivant les nouveautés dans un flux RSS
* publier en scrapant les données d'un site
* publier un lien au hasard parmi une liste préenregistrée de liens correspondant à un compte.
* pas de correspondance dynamique entre plusieurs instances, on fait tout avec une seule instance pour le moment
# notes
ce site n'a pas besoin d'être hébergé sur le serveur de l'instance qu'il utilise
Venez causer sur mastodon!
Les merge requests sont bienvenues.
par tykayn: contact at cipherbliss.com, https://www.cipherbliss.com
https://mastodon.cipherbliss.com

View File

@ -1,14 +1,17 @@
var express = require('express'); var express = require('express');
var router = express.Router(); var router = express.Router();
var sqlite3 = require('sqlite3'); var sqlite3 = require('sqlite3');
var Masto = require('mastodon') var Masto = require('mastodon');
const accounts_to_select = [
var M = new Masto({ {
access_token: '...', label: "tykayn",
timeout_ms: 60 * 1000, // optional HTTP request timeout to apply to all requests. value: "tykayn"
api_url: 'https://gay.crime.team/api/v1/', // optional, defaults to https://mastodon.social/api/v1/ },
}) {
label: "modominem",
value: "modominem"
},
]
const database_masto = "mastodon_multi_accounts.db" const database_masto = "mastodon_multi_accounts.db"
/* GET home page. */ /* GET home page. */
@ -80,7 +83,7 @@ router.post('/add-to-queue', function (req, res, next) {
db.run('INSERT INTO posts_scheduled VALUES(?,?,?,?,?)', [null, req.body.author, req.body.message, req.body.fichier, null], function (err) { db.run('INSERT INTO posts_scheduled VALUES(?,?,?,?,?)', [null, req.body.author, req.body.message, req.body.fichier, null], function (err) {
if (err) { if (err) {
return console.log(err.message); return console.log(err.message);
res.render('index', {message: 'erreur '+err.message}); res.render('index', {message: 'erreur ' + err.message});
} }
console.log("nouveau post ajouté", req.body.author, req.body.message); console.log("nouveau post ajouté", req.body.author, req.body.message);

View File

@ -8,13 +8,13 @@ block content
p.alert.alert-error=message p.alert.alert-error=message
form(action="/add-to-queue",method="post") form(action="/add-to-queue",method="post")
span.account span.account
span compte span Choix du compte
br br
.drawer--account //.drawer--account
.account__avatar(style='width: 48px; height: 48px; background-size: 48px 48px; background-image: url("https://mastodon.cipherbliss.com/system/accounts/avatars/108/409/825/840/442/987/original/eea3627456786998.jpg");') // .account__avatar(style='width: 48px; height: 48px; background-size: 48px 48px; background-image: url("https://mastodon.cipherbliss.com/system/accounts/avatars/108/409/825/840/442/987/original/eea3627456786998.jpg");')
.navigation-bar__profile // .navigation-bar__profile
a.permalink.acct(href='https://mastodon.cipherbliss.com/@voixdunucleaire') // a.permalink.acct(href='https://mastodon.cipherbliss.com/@voixdunucleaire')
strong @voixdunucleaire // strong @voixdunucleaire
select(method="post", name="author") select(method="post", name="author")
option(value="tykayn") option(value="tykayn")
span tykayn span tykayn
@ -40,6 +40,9 @@ block content
label label
span Fichier à joindre span Fichier à joindre
textarea.autosuggest-textarea__textarea(name="fichier", width="500", lines="1",value="default_picture.jpg") textarea.autosuggest-textarea__textarea(name="fichier", width="500", lines="1",value="default_picture.jpg")
label Schedule in time
input.input.checkbox(type=checkbox, value=false)
input(type=date, name="schedule")
br br
div.composer--publisher div.composer--publisher
input.button.primary(type="submit", value="ajouter à la file d'attente") input.button.primary(type="submit", value="ajouter à la file d'attente")