The official TonicPow bot for posting on Twetch
These are required for building and running the Typescript project:
yarn global add tsc
yarn global add ts-node-devInstall:
yarnLocal development (watch):
yarn devBuild & run with:
yarn prodpm2 start yarn --name api -- prodtwetch-bot requires a supported release of Node.
make installRun the bot with:
make startThe bot will query RSSURL to check for new campaigns every X seconds as defined in the refreshRate parameter in the .env file.
If new campaigns are found, then the bot will automatically twetch those links with the privateKey configured in the .env file.
Once a privateKey is setup, upon starting the bot the signing address will be logged along with the message and signature necessary to configure in the twetch account.
The client identifier should also be configured in the .env file to take advantage of 10% platform fee savings.
Environment Variables
Required environment variables:
TWETCH_CLIENT_ID(twetch client id)TWETCH_PK(private key for twetch account)TWETCH_REFRESH_RATE(rate to refresh/fetch new rss)
- Consume the TonicPow RSS feed
- Auto post on new campaigns
Release Deployment
goreleaser for easy binary or library deployment to Github and can be installed via: brew install goreleaser.
The .goreleaser.yml file is used to configure goreleaser.
Use make release-snap to create a snapshot version of the release, and finally make release to ship to production.
Makefile Commands
View all makefile commands
make helpList of all current commands:
audit Checks for vulnerabilities in dependencies
clean Remove previous builds and any test cache data
help Show all commands available
install Installs the dependencies for the package
lint Runs the standard-js lint tool
outdated Checks for outdated packages via npm
release Full production release (creates release in Github)
release-test Full production test release (everything except deploy)
release-snap Test the full release (build binaries)
start Starts running the bot
tag Generate a new tag and push (IE: tag version=0.0.0)
tag-remove Remove a tag if found (IE: tag-remove version=0.0.0)
tag-update Update an existing tag to current commit (IE: tag-update version=0.0.0)
update-releaser Update the goreleaser application
Tests & examples coming soon!
![]() |
![]() |
![]() |
|---|---|---|
| Josh | Satchmo | MrZ |
View the contributing guidelines and please follow the code of conduct.
All kinds of contributions are welcome π! The most basic way to show your support is to star π the project, or to raise issues π¬. You can also support this project by becoming a sponsor on GitHub π or by making a bitcoin donation to ensure this journey continues indefinitely! π


