有关Mirror Bot
长毛象对于Bot的支持还是很不错的,任何账号都可以生成API key,甚至可以给账号加上Bot标签让大家知道。至于部署Mirror Bot,这里采用这个npm包。
获取源和目标相关的API key等
生成Mastodon的API key
首先要生成bot账号的API key,在注册bot账号时流程跟普通账号一样,但是邮箱可以设置成和你的其他账户一样方便管理,邮箱格式是youremail+indentifier@provider.com
,总之在@之前加上'+randomstuff'即可。
注册完成后进入设置-开发,点击“创建新应用”,填个名字然后创建即可。然后在应用列表里点击刚刚创建好的应用即可查看API key。
生成Twitter的API key
Twitter现在需要申请Twitter Developer才能使用API,Twitter Developer主页。
获取其他的源
Tumblr的用法跟Twitter差不多,都是通过API。因为Bot还支持RSS作为源,只要可以生成RSS feed的源都可以,比如博客等。另外通过RSSHub可以生成微博等平台的RSS feed,配合起来也可以使用。
编写Bot配置文件
在你喜欢的位置创建'config.edn',然后根据Bot Readme的模板修改。
首先是auth块,这里填入的就是上一步获得的API key等内容。
然后是transform块,这部分可以设置来源的账号或者RSS地址,可以设置多个来源,目标账号都会是这个Access token对应的长毛象账号。每个来源有一个source和一个target,其中可以修改详细的设置。
安装npm包并运行
首先保证nodejs和npm已安装如未安装运行apt-get install nodejs npm
安装。安装完之后运行npm install mastodon-bot -g
安装npm包。
通过命令mastodon-bot <path to config>
启动即可运行bot,但bot不会在系统常驻,可以通过crontab控制bot每隔一定时间检查新post。运行crontab -e
并加上一行*/5 * * * * /usr/local/bin/mastodon-bot /path-to-config
即可让bot每五分钟检查一次新消息。
容器化部署
最近迁移服务,干脆把这个容器化了。
Dockerfile:
# Based on https://gitlab.com/yogthos/mastodon-bot
From node:lts-buster-slim
RUN apt-get update || : && apt-get install python -y
RUN apt-get install python3-pip -y
RUN npm install -g mastodon-bot
RUN apt-get install watch -y
ENTRYPOINT watch -n 600 mastodon-bot /config/config.edn
用watch命令实现每十分钟运行一次。
docker-compose:
version: '3.7'
services:
mastodon-bot:
build: .
hostname: mastodon-bot
network_mode: host
container_name: mastodon-bot
restart: unless-stopped
volumes:
- ./config:/config
environment:
TERM: xterm
config.edn放在config文件夹即可。
Comments NOTHING