戦国史同盟管理人・蛛賢(Shuken)のブログです。ついて投稿しています。試験運用を開始します。近年、インターネット上で活動するクリエーターにおいて、Twitterと個人のレンタルアップローダによって作品を公開している方は少なくありません。そこで、従来の掲示板やアップローダに代わる新たな支援の形として、Twitterに投稿された戦国史シナリオ等の情報をまとめる「戦国史レーダー」の提供を開始しました。本サービスは、書籍やネットの情報を参考に、管理人が手作業で作成しています。ご意見、ご要望等ありましたら、お気兼ねなくお寄せください。個人運営であるため、対応が遅くなることがあるかもしれませんが、併せてよろしくお願いします。戦国史界隈の活性化、ファンの輪が広がるお手伝いができれば幸いです。ご利用いただければ幸いです。以下の戦国史関連ハッシュタグを含むTweetを収集し、自動RTします。アカウントのフォロワーに戦国史情報を発信し、クリエーターとプレーヤー両方がWin-Winを実現するサービスをめざしています。自動RT特定のハッシュタグ(#戦国史up、#戦国史素材、#戦国史tool、#戦国史cm)を含むTweetをRTします。(FF外)のユーザに対する自動RTは認められていないため、専用アカウントをフォローしているユーザのTweetのみRTする仕組みとしています。RTによりフォロワーのタイムラインに表示されるため、FF外ユーザに対しても間接的に情報を発信できます。APIからの応答が何らかのタイミングで空になる場合があり、その際、RTに失敗するケースがあるようです。その場合は、再度投稿してもらうか、私の方で手動RTを行いたいと思います。頻度によっては設計を見直し、RTだけ分離させ、別のプログラムとして走らせるかもしれません。DBサブ機能として、収集したTweetを検索できるサービスを提供しています。削除する」といった仕様に変更するかもしれません。現行、一度収集したTweet情報を再巡回(更新)する仕組みにはなっていません。専用アカウントをフォローします。(重要)以下発信したい情報に合致する特定のハッシュタグを含んでTweetします。上記に該当しない戦国史関連情報、イベント、プロジェクト、サイト更新、動画配信等その後、投稿から30分経ったTweetを対象にレーダーが収集します。予定は未定ですが、以下の機能追加により充実させたいと考えています。備忘のため投稿します。使える文字、使えない文字色々あるようですが、PHPでは次の正規表現で抽出できると思います。(2020年6月6日現在の内容です。)この例ではハッシュタグを抽出したら、その文字列をaリンクタグで囲むように置換しています。オプションのUnicode「/u」は必須です。"noopener"」も追加しています。$full_text);でも良いかと思います。"extended"」を追加するようにしましょう。その際、本文の格納先が「text」から「full_text」になるので留意ください。本文中の特殊絵文字が扱えるようにテーブルの文字コードを「UTF8MB4」にしてください。独特なAPIと感じています。日々勉強していますが、ある程度の妥協も必要かと思いました。文中に出現した場合のハッシュ直前の抽出について追加しています。追加したバージョンのテスト結果。(.NET用なのでUnicodeが/u~となっています。PHPでは/x{~}となります。【Coreserver】CRONによるphpの動かし方Coreserverにおける「CRONによるphpの動かし方」を備忘のため投稿します。1.まずはshファイルやphpファイルの置き場所を考えます。Coreserverでは、外部公開用の「public_html」フォルダよりも上の階層にshファイルやphpファイルを設置でき、動かすことができます。CRONで動かすphpファイルは、基本的に外部から触られたくないので嬉しいですね。今回は「public_html」と同じ並びにフォルダを作成して、実行するphpファイルを格納しました。termのSSH接続によりphpファイルを動かしてみます。ブラウザでアクセスする場合と、CRONによりphpファイルを実行する場合とでは挙動が異なる場合があります。termで直接確認することをお勧めします。(結局手っ取り早いです。'/init.php");と設定した方が良さそうです。(カレントディレクトリの認識が上手くいかない場合があるとのこと。)また、上手く動かない命令があるときは、動作させるphpのバージョンを確認してください。3.shファイルを作成します。CRONで実行するshファイルを作成し、「public_html」と同階層の任意の場所に設置します。termで動作確認したものを記載します。改行コードはLF(Unix系)、文字コードはUTF-8としましょう。termのSSH接続によりshファイルを動かしてみます。phpファイルと同様に直接shファイルを実行してみてください。/virtual/(ユーザ名)/cron.sh5.coreserverのコントロールパネルからcronの設定を行います。サイト設定→CRONジョブから「CRONジョブの新規作成」を行います。シェルスクリプト名は先ほどの設置したshファイルのフルパスを記載してください。CRONジョブを実行するタイミングを入力します。最短1時間以上で設定が可能で、各値に合致したタイミングで処理を流します。「分」には何らかの値を入力し、「時~曜日」のうち、どんなタイミングでも良いものは「*」を入力します。例1:1時間に1回処理を行う。分:0時~曜日:*例1は、各時間の0分(例:9時00分、10時00分...等)に処理を行う設定です。例2:1日に1回処理を行う。分:0時:0日~曜日:*例2は、毎日0時0分に処理を行う設定です。基本的にこれらの設定で完了です。termにてshファイルやphpファイルを実行してみて確認したり、shファイルの文字コード、改行コード等を確認してください。Card」というんですね。Card」が、ずっと大きくて気になっていたんですが...調べたらlivedoorBlogの設定で小さくできました。Image」でない方にすればいいと思います。(画像最下段)蛇足ですが、併せて上のOGPと呼ばれる画像も、同じサイズでカスタマイズしてみました。error戦国史同盟掲示板はphpbb3で運用しています。するとこれで諦めた方もおられるかもしれない...結論から言うとバグだそうです。直す方法は直接phpソースをいじるしかないようです。Fix方法も記載されていましたので併せてご紹介します。ご参考になれば幸いです。今は問題なく動いています。先日実施した国外IP除外の効果が出ているようで、全くスパムが来ていません。取り急ぎ良かったです。