twittbot.netについて
最終更新:
Bot(ページ名リンク)
-
view
twittbot.netは、当botの作成・運用に利用しているbot作成サイトです。
専門的な知識が無くても、簡単にツイートし、リプライするbotを作ることが出来ます。
宮本浩次botも、このサイトの仕様に準拠して作られているので、このページを参照していただけるとわかりやすいかと思います。
あとは、bot作りの参考に・・・ちょっとだけなればいいなと思います。
専門的な知識が無くても、簡単にツイートし、リプライするbotを作ることが出来ます。
宮本浩次botも、このサイトの仕様に準拠して作られているので、このページを参照していただけるとわかりやすいかと思います。
あとは、bot作りの参考に・・・ちょっとだけなればいいなと思います。
1.アカウントの種類
twittbot.netのアカウントには有料・無料2つの種類があります。
有料アカウントではより多くの機能が使えたり、詳細な設定ができたりします。
無料のアカウントは有料に比べると多少制限はあるものの、工夫さえすれば楽しいbotを作成するには充分な基本機能がそろっています。
宮本浩次botは、無料のアカウントで作成されています。
有料アカウントではより多くの機能が使えたり、詳細な設定ができたりします。
無料のアカウントは有料に比べると多少制限はあるものの、工夫さえすれば楽しいbotを作成するには充分な基本機能がそろっています。
宮本浩次botは、無料のアカウントで作成されています。
無料アカウントの作成は簡単です。まず、bot用アカウントをtwitterで取ります。そのアカウントでログインしたtwitterを別タブで開いた状態で
、twittbot.netのトップページを開くと、青いAuth認証ボタンがあるのでクリックします。twitterのアプリ認証画面に飛ばされ、「はい、許可します」をクリックすれば、twittbot.netでbotのtwitterアカウントがbotとして登録されます。これで編集できるようになります。
、twittbot.netのトップページを開くと、青いAuth認証ボタンがあるのでクリックします。twitterのアプリ認証画面に飛ばされ、「はい、許可します」をクリックすれば、twittbot.netでbotのtwitterアカウントがbotとして登録されます。これで編集できるようになります。
また、複数のアカウントを関連付けることもできます。マスターアカウント(twittbot.netのアカウント)ひとつ、botアカウント(twitterのアカウント)を複数設定すれば、マスターアカウントでログインしている間、複数のbotアカウントを簡単に切り替えてそれぞれ編集できます。
2.自動ポストの種類
無料アカウントでは、「つぶやき」(設定で決められた時間間隔で、設定に応じた順番で登録文をツイートする)、「返信」(受けたリプライ内の登録した語句に応じた登録文を返す)、「ランダム返信」(「返信」に登録された語句が入っていないリプライを受け取ったときにランダムに登録文を返す)、「時間指定」(設定された年月日・時間に決められた文をつぶやく)に対応しています。
有料アカウントでは上記に加え、「タイムライン返信」(@が付いていなくても、botがフォローする相手のツイートに登録した語句が含まれるとリプライを送る)ができます。
有料アカウントでは上記に加え、「タイムライン返信」(@が付いていなくても、botがフォローする相手のツイートに登録した語句が含まれるとリプライを送る)ができます。
3.「botとしてつぶやく」
フォームに打ち込むことによって、自動ポストに登録されていない文を「twittbot.netから」という送信元でつぶやくことが出来ます。
外見上、自動ポストと見分けがつかないツイートが可能です。
外見上、自動ポストと見分けがつかないツイートが可能です。
4.フォロー
twittbot.netでは詳細設定によって定期的に、botをフォローしている相手を全員自動でフォロー返しすることができます。
しかし、相手がリムーブしても、自動リムーブしないので、相手がこちらのフォローを望まない場合はブロックしてもらうしかありません。
(フォロワーが少なければwebブラウザや各クライアントから管理者の手動でリムーブすることもちろん可能ですが、フォロワーが多くなると厳しいでしょう)。
しかし、相手がリムーブしても、自動リムーブしないので、相手がこちらのフォローを望まない場合はブロックしてもらうしかありません。
(フォロワーが少なければwebブラウザや各クライアントから管理者の手動でリムーブすることもちろん可能ですが、フォロワーが多くなると厳しいでしょう)。
5.正規表現について
twittbot.netで作るbotはリプライの設定に正規表現を用いることが出来ます。正規表現はプログラミング的な要素になってくるのでとっつきにくいですが、使いこなすことが出来ればbotに柔軟な反応をさせることが出来るようになります。
UNIXにおける基本的な正規表現の文法について以下正規表現-文法(Wikipedia)から引用。
UNIXにおける基本的な正規表現の文法について以下正規表現-文法(Wikipedia)から引用。
. 任意の文字にマッチする。 [ ] 括弧内に含まれる一文字にマッチする。例えば、[abc] は a、b、c にマッチする。英語のアルファベットでは、[a-z] は全ての小文字にマッチする。これらは混ぜることが出来る。[abcq-z] は a、b、c、q、r、s、t、u、v、w、x、y、z にマッチし、[a-cq-z]でも同様である。文字 '-' は括弧内の最初か最後にあるときのみ、リテラルに扱われる。例えば、[abc-] や [-abc]は a、b 、c 、- にマッチする。[ や ] 自身にマッチさせる最も手っ取り早い方法は、囲んでいる括弧内で、括弧が最初になるようにすることである。例えば、[][ab] は ]、[、a、b にマッチする。 [^ ] 括弧内に含まれない一文字にマッチする。例えば、[^abc] は a、b、c 以外の任意の文字にマッチする。[^a-z] は小文字以外の任意の一文字にマッチする。上と同様にこれらは混ぜることが出来る。 ^ 行の最初にマッチする。 $ 行の最後にマッチする。 \( \) これに囲まれた表現は、後に呼び出すことが出来る。次の \n の項を参照のこと。 \n ここで n は1から9までの数である。n 番目の \( \) で囲まれた部分にマッチする。この構文は理論的には、言うならば非正規で(正規言語の記述力を超える)、POSIX拡張正規表現では採用されていない。 * 一文字に続く "*" は0回以上の表現の繰り返しにマッチする。例えば、"[xyz]*" は ""、"x"、"y"、"zx"、"zyx" などにマッチする。nを1から9までの数字としたとき、\n* は \( \) で囲まれた部分の0回以上の繰り返しにマッチする。例えば、"\(a.\)c\1*" は abcab や abcabab にマッチするが、abcac にマッチしない。"\(" や "\)" で囲まれた表現に続く "*" は無効とされる。しかし、一部の環境ではそうならない。 \{x,y\} 直前の"ブロック"の x 回以上 y 回以下の繰り返しにマッチする。例えば、"a\{3,5\}" は aaa、aaaa、aaaaa にマッチする。
特定の正規表現の実装では、一部のメタ文字の前のバックスラッシュを異なって解釈する。例えば egrep や perl は、バックスラッシュの付いていない 括弧や縦棒 "|" をメタ文字と解釈し、バックスラッシュの付いているものをリテラルに解釈する。古いバージョンの grepは選言演算子 "|" をサポートしていない。
例
".at" は hat、cat、bat のような三文字の文字列にマッチする
"[hc]at" は hat と cat にマッチする
"[^b]at" は bat 以外の ".at" でマッチする全ての文字列にマッチする
"^[hc]at" は行の最初にあるときだけ、hat と cat にマッチする
"[hc]at$" は行の最後にあるときだけ、hat と cat にマッチする
符号点の範囲によってたとえば「アルファベット大文字」などを表現しようとすることは、時に問題をひきおこす。たとえばロケールに依存する例として、エストニア語のアルファベットでは、s の後に z があり、その後は t、u、v、w、x、y と続くので、[a-z] ではすべての小文字のアルファベットにマッチしない[1]。そのため、POSIX 標準では次の表に示されているクラス、つまり文字の区分を定義している。
POSIX クラス 対応する表現 意味 [:upper:] [A-Z] 大文字 [:lower:] [a-z] 小文字 [:alpha:] [A-Za-z] アルファベット [:alnum:] [A-Za-z0-9] 数字とアルファベット [:digit:] [0-9] 数字 [:xdigit:] [0-9A-Fa-f] 16進数 [:punct:] [.,!?:...] 句読点 [:blank:] [ \t] スペースとタブ [:space:] [ \t\n\r\f\v] 空白文字 [:cntrl:] 制御文字 [:graph:] [^ \t\n\r\f\v] 印字文字 [:print:] [^\t\n\r\f\v] 印字文字とスペース
例: [[:upper:]ab] は大文字と a と b のみにマッチする。
いくつかのツールで使用できる、POSIX にないクラスとして [:word:] がある。[:word:] は通常 [:alnum:] とアンダースコアからなる。これらが多くのプログラミング言語で識別子として使用できる文字であることを反映している。
