https://github.com/samtherapy/fediverse-imagebot
MIRROR - A bot that posts local images to a fediverse instance
https://github.com/samtherapy/fediverse-imagebot
Last synced: 9 months ago
JSON representation
MIRROR - A bot that posts local images to a fediverse instance
- Host: GitHub
- URL: https://github.com/samtherapy/fediverse-imagebot
- Owner: SamTherapy
- License: 0bsd
- Archived: true
- Created: 2022-01-06T14:26:55.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-05-27T09:01:24.000Z (about 3 years ago)
- Last Synced: 2025-05-15T03:14:59.500Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://git.froth.zone/sam/fediverse-imagebot
- Size: 177 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fediverse-imagebot
[](https://ci.git.froth.zone/sam/fediverse-imagebot)
A bot that posts local and booru images to the Fediverse.
Compatible with Mastodon, Misskey and Pleroma!
## MIGRATING MAJOR VERSIONS
See [the wiki](https://git.froth.zone/sam/fediverse-imagebot/wiki/Migrating).
## Boorus supported
The full list of boorus supported is found [here](https://github.com/AtoraSuunva/booru/blob/master/src/sites.json).
## Downloading the bot
There are currently three ways to do this, a pre-built binary that bundles in node, from npm, or building from source. Both are listed below.
### From NPM
1. Set up using the [Gitea registry](https://git.froth.zone/sam/fediverse-imagebot/packages)
```sh
npm config set @froth:registry https://git.froth.zone/api/packages/sam/npm/
```
2. After setting up the registry, either run it once
```sh
npx --package=@froth/fediverse-imagebot fediverse-imagebot
```
or install globally
```sh
npm i -g @froth/fediverse-imagebot
```
### Downloading pre-built binaries
#### NOTE: This is no longer supported since vercel/pkg is broken
Download prebuilt binaries from [here](https://git.froth.zone/sam/fediverse-imagebot/releases/latest). (currently supports x86_64 and arm64 on Linux
[glibc or musl], macOS and Windows)
1. Run the bot with the `-w` flag to have it generate a configuration file to the local directory.
2. Edit it for your use case.
- If you want to generate a key you can use
3. Run the bot by launching the executable!
### Running from Source
1. You need to have `npm` and `nodejs` installed.
- Node 16 or greater is required.
2. Install `pnpm`: \
`corepack enable` \
Check for more information.
3. Clone the repository: \
`git clone https://git.froth.zone/sam/fediverse-imagebot.git`
4. Install dependencies: \
`pnpm i`
5. Build: \
`pnpm run build`
6. Edit the config file: \
`cp config.sample.jsonc config.jsonc`
- If you want to generate a key you can use https://git.froth.zone/sam/js-feditoken
7. Run the bot: \
`pnpm bot`
You're done! The bot should post a local image to the fediverse instance of your choosing!
## Automating the bot
_TODO: Elaborate more_
The bot can be automated to post images at set times using a cronjob. \
Example cron configuration:
```
0 * * * * cd /path/to/fediverse-imagebot && pnpm bot -c ./config.sample.jsonc
```
This example will run the bot every hour on the hour with no message using images from the default `images` directory.
An example of this pleroma configuration can be found at https://froth.zone/rinbot.