75 lines
3.0 KiB
Markdown
75 lines
3.0 KiB
Markdown
|
# Manicito
|
|||
|
|
|||
|
On [Mastodon](https://joinmastodon.org/), one can [“follow” a hashtag](https://fedi.tips/how-do-i-follow-hashtags-on-mastodon-and-the-fediverse/), seeing all public posts of a hashtag in their home feed. On [Pleroma](https://pleroma.social) (and some other fedi servers), however, this isn’t possible.
|
|||
|
|
|||
|
The maniacal quote-poster Manicito is a script that can help you mimic this feature — it quote-posts all posts of a given hashtag. Following a bot-account backed by Manicito is (to some degree) just like “following” a hashtag.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## Usage
|
|||
|
To quote-post everything from the hashtag #esperanto, you could run Manicito like so:
|
|||
|
```
|
|||
|
$ FEDI_AUTH="yourAuthTokenHere"
|
|||
|
$ manicito -H esperanto.history esperanto https://yourServer.here
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
### Auth-key
|
|||
|
In order to actually use Manicito, we need to find the authorization token for our fedi account.
|
|||
|
|
|||
|
To find your authorization token, you can snoop through request headers in Firefox or Chromium by
|
|||
|
navigating to `Developer Tools (F12) → Network → Headers`. Refresh your Mastodon/Pleroma page and examine a
|
|||
|
request, looking for a header like so:
|
|||
|
|
|||
|
`Authorization: Bearer $FEDI_AUTH`
|
|||
|
|
|||
|
… where $FEDI_AUTH is your token. Copy it!
|
|||
|
|
|||
|
Whenever you use Manicito, make sure that this token is stored in the environment variable
|
|||
|
`$FEDI_AUTH`.
|
|||
|
|
|||
|
|
|||
|
### History-file
|
|||
|
However note up there the use of the `-H` parameter with `esperanto.history`. The file you pass to the `-H` parameter will be used to log all posts that have been quote-posted up until now; this helps us make sure that we don’t accidentally repost things.
|
|||
|
|
|||
|
If you want to use Manicito as the basis of a hashtag-bot (regularly updating and posting), you can add it to your crontab or write a systemd service + timer. Though note that in this case you will *need* to make sure `-H` is set to a reliable and unchanging path. Otherwise, it might go haywire.
|
|||
|
|
|||
|
|
|||
|
### Formatting
|
|||
|
Manicito’s post template is stored in the environment variable `$MANICITO_TEMPLATE`. By default, it is something along these lines:
|
|||
|
|
|||
|
```
|
|||
|
$USER (<a href="$USER_URL">$USERHOST</a>) <a href="$POST_URL">posted</a> about $HASHTAG:
|
|||
|
<blockquote>$(echo "$POST" | head -c 200)</blockquote>
|
|||
|
```
|
|||
|
|
|||
|
You can go ahead and set the environment variable `$MANICITO_TEMPLATE` to any string you want. As you can see above, it has some shell-style variables that get substituted. They are:
|
|||
|
|
|||
|
* `USER_URL`
|
|||
|
* `USERHOST`
|
|||
|
* `POST`
|
|||
|
* `POST_URL`
|
|||
|
* `HASHTAG`
|
|||
|
|
|||
|
|
|||
|
### Compatibility
|
|||
|
By default, Manicito attemps *quote-posting*, which is a feature that allows posts to be indirectly cited (and often prettily displayed) within other posts. This is supported by Pleroma and Misskey, but not by Mastodon.
|
|||
|
If you are using Mastodon, you might want to use the `-Q` flag, which disables this feature.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## Installation
|
|||
|
Installing Manicito’s quite easy — just copy it into your `$PATH`!
|
|||
|
```
|
|||
|
$ cp manicito ~/.local/bin/
|
|||
|
```
|
|||
|
|
|||
|
There, you’ve done it!
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## Misc.
|
|||
|
Author: [@jadedctrl:jam.xwx.moe](https://jam.xwx.moe/users/jadedctrl)
|
|||
|
Source: https://hak.xwx.moe/jadedctrl/manicito
|
|||
|
License: GPLv3
|