理系頭巾の知見スマートフォン用の表示で見る理系頭巾の知見なんちゃって理系の頭巾が知ったことや考えたことをまとめているブログです。まともな文章になってねぇ。しょうがないね、これBotだから。Bot「理系の大学院生ちゃん」のお話。twitter.comまだ「みんなのPython」を途中までしか読んでない状態で作ったので、何卒お手柔らかにお願いします。2016-12-22AmazonKindle↑分かりやすくて良い本だけどサンプルコードのガルパン推しがすごい大学院生ちゃんのソースコード前書きはそこそこに早速コード載せちゃいます。handler)#実行されるのはここから。起きたツイート→ループ開始。check_follow()モジュールを色々試しに入れてみたらコードが100行超えてしまいました。実際に動かすとどうなる?TwitterBotというとサーバーで動かすのが普通(?)というか楽だと思うんですが、何しろ当方プログラミング初心者なのでそこらへんの知識がありません。いつもこの大学院生ちゃんのプログラムはターミナルから動かしています。なにか作業をしながら、流れてくるツイートだったり院生ちゃんの自動ツイートを見たりしています。0Like」ってなってるのが「読み込んだツイート数とお気に入り登録した数」です。基本的にこのプログラムは起動しっぱなしにしているので、ふと見た時にそういう数字が分かればいいな、と思って追加した仕様です。ちなみ文字をクソデカで表示するモジュールはpyfigletを使っています。面白いモジュールが沢山ありますよね、python。qiita.comそして下がフォローしているユーザーのつぶやきです。「読み込んだツイート順番」:「ユーザー名」:「つぶやき内容」ですね。ここらへんはTweetDeckの完全劣化です。笑ただアイコンや画像が出てこないので、なんとなく「誰かがツイートしてる雰囲気がほしいだけ」って時には向いてます。Deck見てるとぼけーっとして気がついたらかなり時間が経ってることってありますし。自動フォロー返し&ツイート(変数の受け渡しが雑なのでユーザー名ではなくID(数字)のままになってる)大学院生ちゃんは20ツイート読み込み毎に一回、フォローされているユーザーのチェックを行います。フォローしているユーザー・されているユーザーの間で、所謂「片思い状態」になってしまっている人にフォローを返します(自動フォロー返し)。APIの限界に達してしまうんですよね。ツイートを20読み込んだときのみフォロバをするようにしました。本当はここらへんも上手くやれば即時フォロバもできそうなんですが...。あと院生ちゃんのクソメイン機能に自動ツイートがあります。上の画像一番下、「怖いどうできどう」って言ってますよね。2018年4月21日これはMeCabを用いた形態素解析でTLのつぶやきを品詞分解し、各テキストファイルに記録したものからランダムに作られた文章です。最初は「名詞」+「副詞」+「動詞」みたいな感じで比較的普通の文章になるようにしていたんですが、MeCabが英語や数字も名詞と判断することがありとりあえず名詞は省きました。省いた後に「形容詞」+「副詞」+「動詞」+「副詞」とかいうクソ雑文を暫定的に採用してしまったので今も院生ちゃんはまともな日本語を喋れていません。今はテキストファイルの中からローマ字や数字を削除して日本語のみにするプログラムを作っているんですが、誤って中身を全部消してしまったりとなかなか難しいですね。文章の作り方もパターンを増やしていきたいところ。会話もできるよ!院生ちゃんbotはリプライを通して会話をすることが可能です。いっても院生ちゃんはまともな日本語をまだ組み立てられる状態ではないので会話になりませんが...。ちなみに返信速度はめちゃ早いです。ツイート送信したらほぼ同時くらいに返信されます。暇で暇で死にそう!って時は院生ちゃんにちょっかいかけてみて下さい。自動いいね!するよ!院生ちゃんは「理系」と「休講」がツイートに含まれていると即いいねします。ちなみにRTされたツイートや誰かへのリプライには反応しません。いいねをする対象はもっと増やしたいですね。ちなみに「大学院」という文字列がツイートに含まれている場合は「やだぁ!」とリプライを送ります。2018年4月21日こんな感じにツイートするようにしました。同じ内容のツイートは一日に何回も送れないので、「!」の数を乱数で変更させています。プログラムを「Control+C」で終了させるときにもツイートさせるようにしたかったので、signalというモジュールを使っています。2018年4月21日pythonの練習がてら気軽に作り始めたbotでしたが、勉強になることが多かったです。モジュールのおかげで難しいことを考えずに済むんですが、やっぱり文字列の扱いとか基本的なことが本を読んだだけでは理解しきれていないことがわかります。これからもpythonの勉強は何か実際に作りながらできたらな、と思います。おわりにTwitterのbot作成はググれば無限にブログ記事やQiitaが出てくるのでほんと初心者にうってつけです。tweepyというモジュールがpython3系では使用できないという点には注意が必要です。検索して出て来る記事にはtweepyを使ったものが多いので。前日まで続いていたレポ...2018-07-06【実録】虫歯0なのに歯が変色した話。歯磨きには限界があるぞ。関東の国立大で物理学を専攻してる院生です。耐え難きを耐え忍び難きを忍び日々の暮らしを営んでおります。頭が赤ちゃんなのでむずかしいことは分かりません。当ブログへのご連絡はこちらから。プライバシーポリシーはこちら。(4)月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。