[Python]Mastodon botを作ってトゥート!してみた!!

Mastodon流行ってますよねー

いつもTwitterにいる僕が今日はMastodonにいました。たのしー!

ちなみにトゥート!とはTwitterで言う所のTweetです!!

Twitterと比較するのもよろしくない気もしますが……

ポストTwitter? 急速に流行中「マストドン」とは
日本のWeb好きの間で急速に注目を集めている「Mastodon」(マ

環境

MacOS Sierra(Pythonが使えればなんでも)

Python2.7.12

事前準備

pipでモジュールをインストールします。

$ pip install Mastodon.py
halcy/Mastodon.py
Mastodon.py - Python wrapper for the Mastodon ( ) API.

pipが入ってない方を参考に

pipの使い方とインストール - Python入門から応用までの学習サイト

Setup

レジストレーションとログインするsetup.pyを実行します。

setup.py

#! /usr/bin/env python
# -*- coding: utf-8 -*-

from mastodon import Mastodon

url = "https://mstdn.jp" #インスタンス先

Mastodon.create_app("hoge_app", #クライアント名
    api_base_url = url,
    to_file = "cred.txt"
    )

mastodon = Mastodon(
    client_id="cred.txt",
    api_base_url = url
    )

mastodon.log_in(
    "******@****", #ログインメールアドレス
    "***********", #パスワード
    to_file="auth.txt"
    )

変更する箇所

インスタンス先

現在、日本でMastodonをするならmstdn.jpが多いと思います。僕もここにいます。

mstdn.jp
Mastodon は自由でオープンソースなソーシャルネットワーク...

違う場合は変更して下さい

クライアント名

任意の単語でOK

僕の場合はhoge_appなのでこんな感じ

メールアドレスとパスワード

登録した時に作ったものを。

トゥート!

setup.pyを実行したらようやくトゥート出来ます!!

toot.py

#! /usr/bin/env python
# -*- coding: utf-8 -*-
from mastodon import Mastodon

mastodon = Mastodon(
        client_id="cred.txt", 
        access_token="auth.txt",
        api_base_url = "https://mstdn.jp") #インスタンス
mastodon.toot("Hello world") #ここを変える

これを応用したBOT(2017/05/20日追記)

【Mastodon bot】20%の確率で性器を露出するドラえもん
【Mastodon bot】20%の確率で性器を露出するドラえもん
以前Mastodon botを作ってトゥート!してみた!!という記事を書...

BOTの記事書きました~

余談

bot作れたしなにをしよーかなと。ブログの告知を自動でするbotを作ってみようかな。PHPで作ると大変そうだし、今ぱぱっと作るならPHP→Python→Mastodonかと

てかPython簡単すぎる。最高です!!

追記(2017 4/16 3:00)

こちらの記事を読んだら、なんか面白そうな事出来るなーと

Twitter の投稿を IFTTT で Mastodon へ転送する。 - Qiita
# 序文 突如話題になり、ユーザーが増えているMastodonですが

コマンドラインからトゥート!

setup.pyで作られるauth.txtを使います。

curl -X POST -d “access_token=auth.txt内の文字列&status=toot内容&visibility=private” -Ss https://mastodon.example.com/api/v1/statuses

僕はこんな事して遊んでました。(ちょっとしたシェル芸)

$ hoge=`echo tweetできる喜び | sed ‘s/tweet/toot/g` && curl -X POST -d “access_token=auth.txt内の文字列&status=$hoge&visibilituy=public” -Ss https://mstdn.jp/api/v1/statuses   

たっのしー!

追記(2017 4/19 13:20)

前文のauth.txtの中身をcatで出した方が楽ですね。

$ hoge=`echo tweetできる喜び | sed ‘s/tweet/toot/g` && curl -X POST -d “access_token=`cat auth.txt`&status=$hoge&visibilituy=public” -Ss https://mstdn.jp/api/v1/statuses 

少し短くなりました。

参考

参考にさせて頂いたサイトです。ありがとうございます。

MastodonにTootするまで(Python) - Qiita
# Mastodon Twitterライクなサービスらしい。オープンソース。
[python2]mastodonで#Nowplayingする - Qiita
mastodon.cloudで活動しています。Sh1maと申します。 Qiita記事は
The following two tabs change content below.

オーカワ

とある大学の4年生。ロボット勉強中!! 最近Web系をいじるのが楽しいかも

オーカワのページ

連絡先: okawa@routecompass.net

コメント

  1. […] [Python]Mastodon botを作ってトゥート!してみた!! […]