up
This commit is contained in:
parent
ccce61e030
commit
e4a92ef213
33
README.md
33
README.md
@ -3,21 +3,32 @@
|
|||||||
Permet de poster sur mastodon selon le compte que l'on souhaite
|
Permet de poster sur mastodon selon le compte que l'on souhaite
|
||||||
multi-account-post-schedule-mastodon et de réaliser des bots d'autopost de liens et d'images.
|
multi-account-post-schedule-mastodon et de réaliser des bots d'autopost de liens et d'images.
|
||||||
|
|
||||||
Pouvoir faire de la planification de posts de plusieurs comptes mastodon en créant une app pour chacun d'eux dans son compte masto, et en reportant les accès dans un fichier d'environnement de cette app nodejs.
|
Pouvoir faire de la planification de posts de plusieurs comptes mastodon en créant une app pour chacun d'eux dans son
|
||||||
|
compte masto, et en reportant les accès dans un fichier d'environnement de cette app nodejs.
|
||||||
![screenshot form](assets/screenshot_form.png)
|
![screenshot form](assets/screenshot_form.png)
|
||||||
|
|
||||||
# Getting started
|
# Getting started
|
||||||
|
|
||||||
## Scripts d'autopost
|
## Scripts d'autopost
|
||||||
Utiliser un cronjob pour lancer les scripts bash, qui s'occupent de faire fonctionner les scripts JS avec les bonnes variables d'environnement.
|
|
||||||
|
Utiliser un cronjob pour lancer les scripts bash, qui s'occupent de faire fonctionner les scripts JS avec les bonnes
|
||||||
|
variables d'environnement.
|
||||||
Voir le dossier [cron_scripts](cron_scripts) montrant un exemple de crontab.
|
Voir le dossier [cron_scripts](cron_scripts) montrant un exemple de crontab.
|
||||||
Modifiez votre crontab avec votre éditeur préféré en ligne de commande:
|
Modifiez votre crontab avec votre éditeur préféré en ligne de commande:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
crontab -e
|
crontab -e
|
||||||
```
|
```
|
||||||
|
|
||||||
### Remplir les variables du fichier .env à créer
|
### Remplir les variables du fichier .env à créer
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
```
|
```
|
||||||
Et ajoutez les token de bot pour faire de l'autopost. Vous trouverez ces token dans vos comptes d'utilisateur Mastodon, partie "développement", créer un token pour chaque compte.
|
|
||||||
|
Et ajoutez les token de bot pour faire de l'autopost. Vous trouverez ces token dans vos comptes d'utilisateur Mastodon,
|
||||||
|
partie "développement", créer un token pour chaque compte.
|
||||||
|
|
||||||
```dotenv
|
```dotenv
|
||||||
TOKEN_account_UTILISATEUR_MACHIN=MON_TOKEN_SDZERTYYRUTKIOUL46577OUKI?FXGDSGTGH_EXEMPLE
|
TOKEN_account_UTILISATEUR_MACHIN=MON_TOKEN_SDZERTYYRUTKIOUL46577OUKI?FXGDSGTGH_EXEMPLE
|
||||||
```
|
```
|
||||||
@ -26,7 +37,9 @@ Installez les dépendances NPM avec Yarn.
|
|||||||
Récupérez les fichiers de blog wordpress via l'interface wp-json, mettez les json dans le dossier source.
|
Récupérez les fichiers de blog wordpress via l'interface wp-json, mettez les json dans le dossier source.
|
||||||
Modifiez les scripts dans le dossier helpers pour les faire convenir à votre présentation de Toot Mastodn.
|
Modifiez les scripts dans le dossier helpers pour les faire convenir à votre présentation de Toot Mastodn.
|
||||||
Exécutez les scripts node.
|
Exécutez les scripts node.
|
||||||
|
|
||||||
## Interface Web multi compte
|
## Interface Web multi compte
|
||||||
|
|
||||||
Requirements: avoir nodeJS sur sa machine et un navigateur.
|
Requirements: avoir nodeJS sur sa machine et un navigateur.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -49,8 +62,10 @@ TOKEN_account_machin=ABCD
|
|||||||
TOKEN_account_bidule=ABCD
|
TOKEN_account_bidule=ABCD
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Chaque info d'API doit correspondre à un compte pour lequel vous avez obtenu des jetons d'API.
|
Chaque info d'API doit correspondre à un compte pour lequel vous avez obtenu des jetons d'API.
|
||||||
Si vous sélectionnez un compte Toto, il faut que vous ayez dans le fichier .env un TOKEN_Toto=XXXXXYYYYZZZZZZZ, avec la bonne valeur donnée par votre instance mastodon.
|
Si vous sélectionnez un compte Toto, il faut que vous ayez dans le fichier .env un TOKEN_Toto=XXXXXYYYYZZZZZZZ, avec la
|
||||||
|
bonne valeur donnée par votre instance mastodon.
|
||||||
|
|
||||||
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.
|
||||||
@ -59,9 +74,11 @@ http://localhost:8000
|
|||||||
# Planifier ses posts
|
# Planifier ses posts
|
||||||
|
|
||||||
## yes we can
|
## yes we can
|
||||||
|
|
||||||
* on peut ajouter des posts avec un fichier attaché
|
* on peut ajouter des posts avec un fichier attaché
|
||||||
|
|
||||||
## on ne peut pas encore:
|
## on ne peut pas encore:
|
||||||
|
|
||||||
* poster maintenant un nouveau post sans passer par la file d'attente
|
* poster maintenant un nouveau post sans passer par la file d'attente
|
||||||
* configurer les comptes à choisir dynamiquement
|
* configurer les comptes à choisir dynamiquement
|
||||||
* redistribuer les schedule des posts
|
* redistribuer les schedule des posts
|
||||||
@ -73,9 +90,11 @@ http://localhost:8000
|
|||||||
* avoir en base l'information de quand est ce qu'un post a été envoyé à son instance par API.
|
* avoir en base l'information de quand est ce qu'un post a été envoyé à son instance par API.
|
||||||
|
|
||||||
# Notes
|
# Notes
|
||||||
|
|
||||||
ce site n'a pas besoin d'être hébergé sur le serveur de l'instance qu'il utilise
|
ce site n'a pas besoin d'être hébergé sur le serveur de l'instance qu'il utilise
|
||||||
Venez causer sur mastodon!
|
Venez causer sur mastodon!
|
||||||
Ceci utilise un fichier sqlite comme base de données, vous pouvez faire des ajouts en base avec un bon IDE sans avoir à développer d'interface web.
|
Ceci utilise un fichier sqlite comme base de données, vous pouvez faire des ajouts en base avec un bon IDE sans avoir à
|
||||||
|
développer d'interface web.
|
||||||
Les merge requests sont bienvenues.
|
Les merge requests sont bienvenues.
|
||||||
|
|
||||||
par tykayn: contact at cipherbliss.com, https://www.cipherbliss.com
|
par tykayn: contact at cipherbliss.com, https://www.cipherbliss.com
|
||||||
@ -86,7 +105,7 @@ https://mastodon.cipherbliss.com
|
|||||||
|
|
||||||
```
|
```
|
||||||
12 12-14 * * * cd /home/tykayn/www/mastodon_multi_account && nvm use 16 && node helpers/tykayn_blog.mjs | tee -a /home/tykayn/log_autopost.txt 2>&1
|
12 12-14 * * * cd /home/tykayn/www/mastodon_multi_account && nvm use 16 && node helpers/tykayn_blog.mjs | tee -a /home/tykayn/log_autopost.txt 2>&1
|
||||||
0 7 * * * cd /home/tykayn/www/mastodon_multi_account && nvm use 16 && node helpers/wiki_osm.mjs | tee -a /home/tykayn/log_autopost.txt 2>&1
|
0 7 * * * cd /home/tykayn/www/mastodon_multi_account && nvm use 16 && node helpers/wiki_osm_random_from_elements.mjs | tee -a /home/tykayn/log_autopost.txt 2>&1
|
||||||
0 0 * * * cd /home/tykayn/www/mastodon_multi_account && nvm use 16 && node helpers/qzine_article.mjs | tee -a /home/tykayn/log_autopost.txt 2>&1
|
0 0 * * * cd /home/tykayn/www/mastodon_multi_account && nvm use 16 && node helpers/qzine_article.mjs | tee -a /home/tykayn/log_autopost.txt 2>&1
|
||||||
# version avec scripts bash
|
# version avec scripts bash
|
||||||
0 7 * * * su tykayn -c "bash /home/tykayn/wiki_osm.sh"
|
0 7 * * * su tykayn -c "bash /home/tykayn/wiki_osm.sh"
|
||||||
@ -95,4 +114,4 @@ https://mastodon.cipherbliss.com
|
|||||||
14 12-14 * * * su tykayn -c "bash /home/tykayn/tkblog_post.sh"
|
14 12-14 * * * su tykayn -c "bash /home/tykayn/tkblog_post.sh"
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
|
import getElementCartographique from './helpers/wiki_osm_random_from_elements.mjs'
|
||||||
import getElementCartographique from "./helpers/wiki_osm.mjs"
|
|
||||||
// const getRandomWikiOSMPage = require("./helpers/wiki_osm.mjs")
|
// const getRandomWikiOSMPage = require("./helpers/wiki_osm.mjs")
|
||||||
console.log('Scrapper goes brr')
|
console.log('Scrapper goes brr')
|
||||||
getElementCartographique()
|
getElementCartographique()
|
||||||
console.log('getRandomWikiOSMPage done')
|
console.log('getRandomWikiOSMPage done')
|
||||||
|
@ -13,11 +13,12 @@ block content
|
|||||||
|
|
||||||
br
|
br
|
||||||
div.images
|
div.images
|
||||||
each val, index in accounts_to_select
|
if accounts_to_select
|
||||||
div.clickable(onclick=`selectAccount('${val.value}')`)
|
each val, index in accounts_to_select
|
||||||
img.account__avatar-overlay(src=`${val.src}`)
|
div.clickable(onclick=`selectAccount('${val.value}')`)
|
||||||
br
|
img.account__avatar-overlay(src=`${val.src}`)
|
||||||
span=val.label
|
br
|
||||||
|
span=val.label
|
||||||
br
|
br
|
||||||
select(method="post", name="author", value=bodyReq ? bodyReq.author : "", id="author_select")
|
select(method="post", name="author", value=bodyReq ? bodyReq.author : "", id="author_select")
|
||||||
each val, index in accounts_to_select
|
each val, index in accounts_to_select
|
||||||
@ -77,4 +78,4 @@ block content
|
|||||||
console.log('account changed', somePseudo)
|
console.log('account changed', somePseudo)
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('script loaded')
|
console.log('script loaded')
|
||||||
|
Loading…
Reference in New Issue
Block a user