Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
25
Help us understand the problem. What are the problem?

posted at

updated at

echo hello > /dev/twitterをやりたい

Dockerなど分けた環境でやると吉。

目標

次のようなものを作ってみたい

$ echo hello > /dev/twitter #'hello'とTwitterに投稿される

方針・コード

  • テキストをツイート送信プログラム(tweet.py)に名前付きパイプ(/dev/twitter)経由で送る。 → テキストが/dev/twitterにリダイレクトされるたびにツイート送信

1. 名前付きパイプ作成

$ mkfifo /dev/twitter

2. ツイート送信プログラム作成

今回は処理を簡便にするために、IFTTTでWebHookを受けたらTwitterに投稿するアプレットを作成して使用した。もちろんtweepyrequests-oauthlibなどでも。

tweet.py
import requests

url = "https://maker.ifttt.com/trigger/iftttwebhook/with/key/SUPERSECRETTOKEN"

while True:
    with open("/dev/twitter") as f:
        # /dev/twitterが空のときここでブロックされる。
        # データが入ると処理再開
        text_list = f.readlines()
    # ツイート送信
    msg = "\n".join(text_list)
    requests.post(url, {"value1": msg})

(IFTTTアプレットの部分)

アプレットを共有するやり方を知らないので画像で。

image.png
image.png
image.png

実行

$ python3 tweet.py & # <- これは動かしっぱなしにする
$ echo hello > /dev/twitter
$ seq 30 > /dev/twitter
$ date > /dev/twitter # などなど...

けっこう楽しい。TLを手軽に荒らせる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
25
Help us understand the problem. What are the problem?