2 unstable releases
0.1.0 | Jul 17, 2022 |
---|---|
0.0.1 | Jul 17, 2022 |
#14 in #scheduled
53KB
1.5K
SLoC
Twitimer
A tool for scheduled tweet.
Overview
Twitimer is a tool for scheduled tweet with send and delete time set by user in advance.
However, twitimer is not a daemon program. Thus, twitimer should be triggered by outside job scheduler like cron and systemd timer.
Installation
We currently only provide binary executable file in GitHub Release page for Linux amd64 architecture.
As a result, the installation instructions below are only tested for Linux amd64 architecture.
Please build it yourself and carefully adapt the instructions below if your system architecture is not Linux amd64.
Download and add to PATH
Linux amd64
$ sudo wget 'https://github.com/iochen/twitimer/releases/download/v0.1.0/twitimer' -O /usr/bin/twitimer
$ sudo chmod +x /usr/bin/twitimer
Other architectures
$ cargo install twitimer
Get your Twitter credentials
If you are not a Twitter developer, go and apply for one.
After the successful application:
- Go to create a new app.
- Save API Key and API Key Secret, and ignore Bearer Token
- Go to app settings, click Set up to set User authentication settings
- Toggle OAuth 1.0a to ON and check App permissions as Read and write
- Fill in the left required fields, since they are unrelated to twitimer, any value can be okay.
- Click Save to save the configuration
- Go to Keys and tokens under your app and click Generate to generate Access Token and Secret.
- Save Access Token and Access Token Secret
Init twitimer
Execute and answer all questions to generate twitimer database.
$ twitimer init
Notice: Consumer {Key, Secret} are API Key and API Key Secret above
Notice: Access {Key, Secret} are Access Token and Access Token Secret above
Add to cron
$ crontab -e
Then insert a new line like below
* * * * * /usr/bin/twitimer cron
Post your scheduled tweet
$ twitimer new
- Enter your message with newline and ^D (or Ctrl+D) to finish
- Enter the start time of your tweet with one of three valid time formats listed at the end of the file
Wait and check
Just wait and check whether everything works well as expected!
Environment variable
You can set environment variable(s) shown below to configure twitimer
TWITIMER_DB
to specify twitimer database path
Time format
Timestamp version
{UNIX timestamp}
Where
{UNIX timestamp}
stands for UNIX timestamp, example:1431648000
,1658035509
Absolute version
{Year}-{Month}-{Day} {Hour}:{Minute}:{Second} {Timezone}
Where
{Year}
stands for year, example:2022
,2032
,02033
{Month}
stands for month, example:02
,3
,11
{Day}
stands for day, example:04
,9
,27
{Hour}
stands for hour, example:06
,7
,11
{Minute}
stands for minute, example:08
,4
,59
{Second}
stands for second, example:05
,0
,32
{Timezone}
stands for timezone, example:+9
,-7
,0
example: 2022-02-12 13:23:45 +9
Relative version
now+{Hours}h{Minutes}m
or
now+{Hours}h
or
now+{Minutes}m
Where
{Hours}
stands for hours left till now, example:0
,3
,72
{Minutes}
stands for minutes left till now, example:0
,5
,86
example: now+3h
or now+2h30m
or now+87m
Tips
- Although we will try our best, we still cannot 100% guarantee the compatibility between versions even between
x.y.z
andx.y.(z+1)
LICENSE
MIT License
Dependencies
~50MB
~838K SLoC