MastodonにAtomの情報を投稿する。

はじめに

このサイトではAtomを設置している。
Mastodon 上に bot を作り、Atom フィードを投稿させるいい手段がないかなと思って探していたら、次のようなリポジトリを発見feediverse。設定していく。

注意事項

設定する前に記事のヘッダーのupdatedを設定しておこう。
じゃないとデプロイ時にupdatedが自動更新してしまい、ちょっと面倒なことになる。

1.bot アカウントを作成する

terminal
su - mastodon
cd live/
RAILS_ENV=production bundle exec bin/tootctl accounts create USERNAME --email=EMAIL --confirmed

2.インストールする

README.mdに従い

terminal
sudo pip install feediverse

3.設定する

terminal
$ sudo feediverse
What is your Mastodon Instance URL? your_instance
Do you have your app credentials already? [y/n] n
Ok, I'll need a few things in order to get your access token
app name (e.g. feediverse): feediverse
mastodon username (email): your_bot@email
mastodon password (not stored): your_bot_password
RSS/Atom feed URL to watch: yout_feed
Shall already existing entries be tooted, too? [y/n] y
Shall images be included in the toot? [y/n] y

Your feediverse configuration has been saved to /home/user/.feediverse
Add a line line this to your crontab to check every 15 minutes:
_/15 _ \* \* \* /usr/local/bin/feediverse

これで投稿されるようになった。試しにsudo feediverseとタイプするとどばーっと投稿される。

細かく設定したいときは/root/.feediverseを編集する。
恐らくtemplate: '{title} {url}'template: '更新: {title} {url}'などするとよいだろう。

/root/.feediverse
1
2
3
4
5
6
7
8
9
10
11
12
access_token:
client_id:
client_secret:
feeds:

- template: '{title} {url}'
url: https://blog.m0r016.net/atom.xml
include_images: true
name: feediverse
updated: '2021-04-28T15:37:15.281000+00:00'
url: slum.cloud

設定が終わったら

terminal
sudo feediverse -n -v

でテストしておくとよいだろう。

4.crontab に設定する。

sudo which feediverseで場所を確認する。/usr/local/bin/feediverseとでた。
sudo crontab -eとタイプし、*/15 * * * * /usr/local/bin/feediverseとタイプすれば 15 分おきに設定したフィードをチェックし、投稿される。

参考

勝手 Mastodon tootctl リファレンス

コメント