• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EasyBotterの改造◆特定のフォロワーへ返信しない動作を簡潔にす)

EasyBotterの改造◆特定のフォロワーへ返信しない動作を簡潔にする方法

このQ&Aのポイント
  • EasyBotterの改造方法として、外部ファイルを使用して特定のフォロワーへの返信を除外する方法を考えています。
  • 具体的には、外部ファイル(txt形式)に除外するフォロワーのIDを書き込み、EasyBotterに読み込ませることで実現できます。
  • 外部ファイルの内容を書き換えるためのフォームを作成し、都度変更できるように設計することも一つの手段です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

 notreplyid.txtの中身が、1行に1個ずつ該当のスクリーン名が書かれているとして $bottername = file("notreplyid.txt", FILE_IGNORE_NEW_LINES); で、中身が配列に読み込まれます。  ただし、比較するたびにいちいちファイルを読み込む必要はありませんから、起動直後の処理で読み込ませた方が良いのですが、変数スコープとかの問題とかあるので、そのへんはソース全体を見ないとなんとも言えません。

twinkie-link
質問者

お礼

ソースを書いてくださって本当にありがとうございます…。 非常に心強いです!

twinkie-link
質問者

補足

書いてくださったソースで、txtの中身を配列に読み込んでくれる事になるのですね。 元々のソースですと、 $bottername = array("abcd","efgh"); というように、ユーザー名が複数いる場合"",で区切っていると思いますが、 今回教えてくださったように外部txtに一行に1人のIDを記述する場合、 そのtxtに"",などの記述は必要ないのでしょうか…? また、ソース全体が非常に長いためこちらで書き込むことが出来ませんが 変数スコープ、というものなども勉強しないとダメみたいですね。 まだまだPHPに関しては基本的な事すら頭に全く入っていない事を実感しました…。

その他の回答 (1)

回答No.2

> 元々のソースですと、 > $bottername = array("abcd","efgh"); > というように、ユーザー名が複数いる場合"",で区切っていると思いますが、 > 今回教えてくださったように外部txtに一行に1人のIDを記述する場合、 > そのtxtに"",などの記述は必要ないのでしょうか…?  ソース上で直に文字データを代入する場合は""で括って、それが文字列のデータであることを示します。専門用語で文字列リテラルと呼びます。括らないとプログラムの中の変数や定数等の識別子と区別できません。  ここではファイルに入っている文字列は、それをそのままデータとして扱うので""は不要です。データ形式としてはどういうデータを扱うかはプログラムによっても違うので、数値と数字の文字列を区別したいような場合は文字列を""を付けたりもしますが、それなりの読込みの処理が必要です。

twinkie-link
質問者

お礼

ああ!ありがとうございます、納得いたしました。つい先日勉強したばかりの所だったのに すっかり頭から抜けていました…。そうですよね。IDは単なる文字列ですものね…重ね重ね丁寧にお答えいただき、本当にありがとうございます。

関連するQ&A