Mastodon-to-Slack is a simple Slack integrations tool to post a toot to a Slack channel by using Incoming Webhooks.
Setup
To use this tool you need a few configurations.
Create a File of Environment Variables
Copy .env.sample file
$ cp .env.sample .env
Fill in MASTODON_INSTANCE_HOST and MASTODON_USERNAME
MASTODON_INSTANCE_HOST is a Mastodon instance hostname with which you want to integrate Slack. A URL scheme and a trailing slash must not exist.
MASTODON_USERNAME is your username, not a display name. @ and a Mastodon instance hostname must not exist.
# Bad
MASTODON_INSTANCE_HOST='https://mastodon.social'
MASTODON_INSTANCE_HOST='mastodon.social/'
# Good
MASTODON_INSTANCE_HOST='mastodon.social'
# Bad
MASTODON_USERNAME='@noraworld'
MASTODON_USERNAME='noraworld@mastodon.social'
MASTODON_USERNAME='@noraworld@mastodon.social'
# Good
MASTODON_USERNAME='noraworld'
Click the Add Incoming WebHooks integration button
Copy your Webhook URL
Paste it to SLACK_WEBHOOK_URI in .env
[OPTIONAL] Change integration settings
Install RubyGems
$ bundle install
Usage
The usage is very simple. All you need to do is run the following command:
$ ruby src/mastodon_to_slack.rb
Note that you must run this command in a project root directory:
# Bad
$ cd src
$ ruby mastodon_to_slack.rb
# Good
$ ruby src/mastodon_to_slack.rb
Toot something, and this tool will post a Mastodon status URL to a Slack channel!
How to Stop
To stop this tool just send SIGINT signal (press Ctrl-C).
Verbose Mode
When a connection closes or an error occurs, it outputs nothing because a log file is filled with tons of connection close and error messages!! If you want to output all of the statuses just append --verbose to the command.
$ ruby src/mastodon_to_slack.rb --verbose
License
All codes of this repository are available under the MIT license. See the LICENSE for more information.
请发表评论