twitterとmixiボイスを連携するスクリプトです。
2010/11/10 Twitterからmixiへの転送が重複してしまうバグを修正したver2.1.5をリリースしました。差し替えをお願いします。
- 公式Twitter連携を使用する場合は、本スクリプトのTwitert→mixiへの転送をOFFにしてご利用ください。
-
2.1.1以前の設定ファイルサンプルに記述の間違いがありました。
フィルター定義(mixi_voice.filter.denys, mixi_voice.filter.allows, twitter.filter.denys, twitter.filter.allows)の値は、twitter.filter.denys[] = "除外キーワードA"
のように「”」(ダブルクォート)で括ってください。
このスクリプトでできること
- twitterの自分の発言をmixiボイスに自動的に投稿できます。
- mixiボイスの自分の発言をtwitterに自動的に投稿できます。
- 誰かへの返信メッセージは転送から除外することができます。
- 指定したキーワードを含むメッセージを転送から除外することができます。
- 指定したキーワードを含むメッセージのみを転送することができます。
- mixiボイスの発言への返信をtwitterのダイレクトメッセージとして転送することができます。
このスクリプトでできないこと
- twitterのタイムライン(自分以外の発言)を転送することはできません。
- mixiボイスの自分以外の発言(返信を除く)を転送することはできません。
- 他、できること以外のことはできません。
必要なもの
- PHP 5.2以上 (5.1, 5.3系での動作は確認していません)
- pear (pear本体以外の必要なライブラリは同梱しています。)
- CRON等のスクリプトを定期実行するための何か
- 愛と勇気
最新版ダウンロード
twitter2mixivoice version 2.1.5 [GitHub]
セキュリティについて
- 設定ファイルにtwitter、mixiのログイン情報を記載することになります。
設定ファイルの中身が他の人に見られないよう、ファイル転送及び、設置後のファイル権限にはご注意ください。
core_crypt_passwordオプションをONにすることで、初回起動時に設定ファイルのパスワードを暗号化することができます。 - 2.0 beta2より、mixiのログイン時にはhttpsを使用するようにしています。
TwitterのOAuthには現在のところ対応していません。xAuthに対応しました。(version 2.1.0以降)- mixiのOAuth(mixi connect)は、2009年10月現在提供されていません。
設定方法
- ダウンロードしたファイルを展開します。
- configディレクトリの中にある、tw2mv.sample.ini.phpをtw2mv.ini.phpに名前を変更します。
- tw2mv.ini.phpをテキストエディタで開きます。
(phpと拡張子が付いていますが中身はINI形式のテキストファイルです。「;」で始まる行はコメント行になります。)
以下の項目を書き換えます。;; mixiのログインEmail mixi.email = "" ;; mixiのログインパスワード mixi.password = ""
;; twitterのログインユーザ名 twitter.username = "" ;; twitterのログインパスワード twitter.password = ""
- configディレクトリの中にある、secret_key.php.defaultをsecret_key.phpに名前を変更します。
- secret_key.phpをテキストエディタで開きます。
以下の項目を書き換えます。// 下記内容を適当に書き換えてください。 define('SECURE', 'greno2q /utjsdMOIerjgc$U0)GmsoufeFER$0r32');
secret_key.phpは、パスワードの暗号化に使用しますので必ず書き換えてください。
- ファイルを保存して、tw2mvディレクトリ一式をサーバへアップロードするなりします。
※Web公開ディレクトリ上には置かないようにしてください。どうしてもという場合は、.htaccess等で外部からのアクセスを遮断するようにしてください。 - configディレクトリの権限をオーナのみ参照、書き込み可能にします。
chmod -R 0700 config/
- tw2mv.phpを実行して、転送ができるか確認します。
php tw2mv.php
- cron等のスケジューラへ登録します。
15分ごとに転送する場合、*/15 * * * * php {設置ディレクトリのパス}/tw2mv.php
- あとは、設定した時間にメッセージが転送されるか確認してください。
以前のバージョンをお使いの方は、初回起動時に
php tw2mv.php --fetch-only
と起動することで、これまで転送した発言を再度転送することなく、設置した後の発言から転送することができます。
ライセンス・免責事項
- このスクリプトはMITライセンスにて提供されます。
- このスクリプトは無保証です。
アップデート・質問・要望等について
このスクリプトの更新情報は、@nojimageにてつぶやいています。(ハッシュタグ #tw2mv を付けています。)
質問、要望等は、@nojimage宛にささやいていただくか、この記事のコメント欄にお寄せください。
Pingback: twitter2mixivoice 2.1.0 @ php-tips
Pingback: tw2mv – twitterとmixiボイスを連携するスクリプト version 2.1.4 @ php-tips
「tw2mv」使わせてもらっています。(以前、ブログで記事にもさせていただきました)
10月下旬にFacebookを始めた関係で一度外しましたが、やはりこちらを使わせていただくことにしました。
ところが、再度cronの設定をしてみると、Twitterからmixiボイスに一度流れたつぶやきがスクリプトを動かすたびに流れるようになってしまいました。
そこで、以前は2.1.0を使用していたので2.1.4に変えることにしました。
ところがそれでも解決していません。
「前回の最終ID取得」部分の仕様が変更にでもなったのかと探ってみましたがわかりませんでした。
なお、以下の設定を「tw2mv.ini.php」により行なっています。
core.mv2tw = false
twitter.max_status = 5
twitter.filter.denys[] = ” B! ”
twitter.filter.denys[] = ” @”
twitter.filter.denys[] = “.@”
twitter.filter.denys[] = ““@”
twitter.filter.denys[] = “#OhayoPanda”
twitter.filter.denys[] = “#udetate”
twitter.filter.denys[] = “tumblr.com”
twitter.filter.denys[] = “youtu.be”
twitter.filter.denys[] = “webdirector.livedoor.biz”
以上、原因がおわかりになるようでしたらご教示ください。
コメントありがとうございます。
原因は、Twitterのtweet idが、phpの整数型で扱える範囲を超えていたためでした。修正したバージョンをリリースしています。
http://bit.ly/tw2mv_2_1_5
差し替えてみていただけますでしょうか。
迅速な対応ありがとうございました。問題なく動いております。
Pingback: tw2mv – twitterとmixiボイスを連携するスクリプト version 2.1.5 @ php-tips