2020/10/3 このブログを更地に戻しました。過去にもらったコメントはいずれ復元します。
IFTTT

IFTTT+Twitter+PHP ランダムおみくじ画像を添付して返信するレシピ

IFTTT

今回はツイッター懸賞で応募用のツイートをリツイートすると抽選結果のリプライ(返信)が飛んでくるやつをIFTTTで再現してみた。とは言ってもIFTTTにそのような機能はないので、こちらでPHPスクリプトを作ってサーバーにアップし、力技でランダムおみくじにしたのだけど。

ランダムおみくじツイートのレシピのポイントは2点で、相手に向けてのリプライ(返信)でやるということ、そしてランダムで画像が選ばれることだ。

仕組み

まず返信についてだが、IFTTTでは『@』の文字が使えない。自動ツイートのテキスト内に入れても非表示になる。なので『@相手のアカウント』という文字列でリプライを送れないのだ。代替策として {{LinkToTweet}} でメンションのツイートURLを埋め込むことで相手に対し通知を送ることができる。ただし相手1人だけでなく、自分のフォロワー全員に見えるツイートになってしまうが。

@{{UserName}} で自動リプライできました(2021/8/9)。設定画面で@が消えてもしつこく付ける。

次にランダム画像の貼付方法は、Image URL 欄に画像ファイル以外のURLも指定できるので、ランダムで画像を表示するPHPスクリプトを自分のサーバーに設置してそのスクリプトURLをImage URL として設定する。

おみくじ画像素材

まず7種類のおみくじ画像を作った。

ランダムおみくじ画像

ランダムおみくじ画像

PHPスクリプト

0.png~6.png をランダムで選び、それを表示するPHPスクリプト(index.php)はたったこれだけ。不要なデータを出力しないよう、文末の『?>』は敢えて省略している。

<?php
$r = rand( 0, 6 ). ‘.png’;
$img = file_get_contents( $r );
header( ‘Content-type: image/png’ );
echo $img;

ファイル

FTPソフトでサーバーにアップロード。まあ、普通ですな。

  • omikuji/
    • index.php
    • 0.png
    • 1.png
    • 2.png
    • 3.png
    • 4.png
    • 5.png
    • 6.png

IFTTTレシピ:自分宛てにメンションがあったらテキストと添付画像をツイートする。

  • If
    • Twitter
      • New mention of you
  • Then
    • Twitter
      • Post a tweet with image
        • Tweet text
          • @{{UserName}} おみくじだよ!IFTTT自動返信テスト
        • Image URL
          • http://example.com/omikuji/index.php

実行結果

懸賞ツイートをリツイートし、送られてきた結果リプライをトリガーにして確かめてみた。

ちゃんと目論見通りに動いた。大成功!

コメント

タイトルとURLをコピーしました