Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/azu/post-tweet
Simple post client for twitter and bluesky.
https://github.com/azu/post-tweet
bluesky electron scheme twitter webhook
Last synced: 3 months ago
JSON representation
Simple post client for twitter and bluesky.
- Host: GitHub
- URL: https://github.com/azu/post-tweet
- Owner: azu
- License: mit
- Created: 2018-04-05T11:09:40.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-26T04:54:54.000Z (8 months ago)
- Last Synced: 2024-10-25T17:08:15.393Z (3 months ago)
- Topics: bluesky, electron, scheme, twitter, webhook
- Language: JavaScript
- Homepage:
- Size: 457 KB
- Stars: 10
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# post-tweet
Post only twitter/bluesky client application.
![Image](docs/screenshot.png)
post-tweet should be launched by [URL Scheme](https://github.com/azu/post-tweet#url-scheme).
## Feature
- Simple Post UI
- Post to Twitter
- Post to Bluesky
- Cross Posting
- URL Scehema Support - Easy to integrate with Browser## Installation
You should create a binary on your env.
yarn
cp src/renderer/service.example.js src/renderer/service.js
# edit src/renderer/service.js
yarn dist
# output binary## Configuration
You need to edit `src/renderer/service.js` to enable services.
0. Visit https://developer.twitter.com/en/portal/dashboard
1. Create App(development App) with read and write permission
2. Generate Consumer Key and Secret
3. Generate Access Token and Secret
4. Fill the following options```json5
{
enabled: true,
name: "twitter",
indexPath: path.join(__dirname, "services/twitter/index.js"),
options: {
// 0. Visit https://developer.twitter.com/en/portal/dashboard
// 1. Create App(development App) with read and write permission
// 2. Generate Consumer Key and Secret
// 3. Generate Access Token and Secret
// 4. Fill the following fields
// Consumer Keys
appKey: "app key",
appSecret: "app secret",
// Authentication Tokens(Access Token and Secret).
// Warning: Not Bearer Token
// Post Tweets that requires access token and secret
accessToken: "access token",
accessSecret: "access token secret"
}
}
```### Bluesky
1. Visit https://bsky.app/settings/app-passwords
2. Create new App Password
3. Fill the following options```json5
{
enabled: true,
name: "bluesky",
indexPath: path.join(__dirname, "services/bluesky/index.js"),
options: {
// 1. Visit https://bsky.app/settings/app-passwords
// 2. Create new App Password
// 3. Fill the following fields
username: "username.bsky.social",
appPassword: "password"
}
}
```## Usage
1. Open app
- Launch app and register URL Scheme
2. Input description
3. Post tweet by Cmd+Shift+Enter shortcut## URL Scheme
post-tweet support `post-tweet://` schema.
:warning: You should launch the app before call URL Scheme.
You can open the app from your browser.
`post-tweet://` schema support following parameter.- `url`: URL
- `title`: Title
- `quote`: Quoted textExample:
```js
const selectedText = window.getSelection().toString();
location.href = `post-tweet://?url=${encodeURIComponent(window.top.location.href)}&title=${encodeURIComponent(window.top.document.title)}"e=${encodeURIComponent(selectedText)}`
```## Related
- [Postem](https://github.com/azu/postem)
- [Postem](https://github.com/azu/postem) is similar concet, but it has more rich features## Contributing
1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D## License
MIT