You will be self -hosting a Node.js Express server along with a Postgres database.
I will show you how to do this for free.
I will provide you with an existing scheduler, which you can modify it or add improvements to as you please. If you desire, you could also create it in any way you want - as long as the API endpoints match those set in NoteTweet (which isn't configurable right now; open an issue if you need something).
This is the repository for the scheduler.
Scheduling tweets requires the Natural Language Dates plugin for Obsidian!
The first thing you will need to do is to deploy the scheduler server. To do so, first click the Deploy
button.
If you do not already have an account for Heroku, go ahead and #.
You should now see a page such as this one:
On this page, follow these steps:
- Set an app name.
- Choose the region closest to you.
- Set the
ACCESS_SECRET
,ACCESS_TOKEN
,API_KEY
, andAPI_SECRET
. These are the ones you've already set up to get NoteTweet working. If you are in Secure Mode, you cannot simply copy the keys over - they are encrypted. Get the plain ones you got from Twitter (you can disable Secure mode, copy them over, and enable it again). - Set the
Origin
tohttps://<YOUR_APP_NAME>.herokuapp.com
, where<YOUR_APP_NAME>
should be replaced by the name of your app that you specified in (1). Save this somewhere, you'll need it in a bit. - Set a password for your scheduler. Anyone with this password can tweet on your behalf, so make it secure. And I'd also recommend that it isn't your Twitter password.
- Click 'Deploy app' and wait for it to deploy.
Now, go back into your NoteTweet settings. Here, you should
- Set
Scheduler URL
to the same asOrigin
- the one you saved in (4). - Set
Scheduler password
to the password you specified in (5).
Now you're ready to schedule tweets!
As mentioned, we're leveraging nldates-obsidian to set the dates. This means that you could write today at 15:30
to post today at 15:30. You can always update this date, or unschedule the tweet, by going into NoteTweet settings and opening the Scheduled tweets menu.