【python】ドールのTwitterBotを作った話 1

ドールはいいぞ!

うちにはドールが2人います。

そのうちの1人、そらという名前の身長50cmのドールがいます。

f:id:sansuke05:20171011002635j:plain

1年と半年ほど前にお迎えしてからというもの、日々可愛がっているのですが、なんか普通にTwitterに写真上げるだけだと面白くないな〜と最近少し思う節があって、そらをもっと知ってもらって写真で癒しを届けられるいい方法ないかな〜と思っていました。

そんな時、丁度Twitterで近頃絡んでる人たちが自分の創作キャラでTwitter Botを作っているというのを知って、「これドールのそらでやってみたら面白いんじゃね?」と思い立ち、うちのそらでTwitter Botを作ることにしました。

どんなBotにするか?

まず、Botのそらにどんなことをさせたいかを考えてみました。

とりあえず、定期的な日々のつぶやきは欲しいのと、リプライ、TLへの反応などのTwitterにいる標準的なキャラクターBotの機能は欲しいなと。

後は、目的が「知ってもらう」「癒しを届ける」なので、定期的な写真ツイートとリプライと一緒に写真も届けられるといいなという感じになりました。

とりあえずコード書いてツイートしてみる

どんなBotにするか決まったとこで、とりあえずプログラムの方からツイートするまでのコードを実装してみました。

言語はPythonでやりました。

使ったもの

準備

Twitter Appにアクセスして以下4つのキーを取得しておきます。

  • Consumer Key
  • Consumer Secret
  • Access Token
  • Access Token Secret

また、pipでtwitter-pythonライブラリを導入しておきます。

$ pip install twitter

コーディング

とりあえずsora.pyという名前で作りました。 APIキーは./system/conf.pyから呼び出しています。

import twitter
from system import conf

auth = twitter.OAuth(
    consumer_key=conf.CONSUMER_KEY,
    consumer_secret=conf.CONSUMER_SECRET,
    token=conf.ACCESS_TOKEN_KEY,
    token_secret=conf.ACCESS_TOKEN_SECRET,
    )

t = twitter.Twitter(auth=auth)

def tweet():
    status = "this is test tweet" #投稿するツイート
    print(status)

    f = t.statuses.update(status=status)
    print(f)

tweet()

./system/conf.py

# -*- coding: utf-8 -*-

CONSUMER_KEY = ' xxxx '
CONSUMER_SECRET = ' xxxx '
ACCESS_TOKEN_KEY = ' xxxx '
ACCESS_TOKEN_SECRET = ' xxxx '

コードはこれだけです。ライブラリありがたや…

結果

こんな感じでツイートしてくれました。

これから

とりあえず長くなるのもあれなので続きは別記事で書こうかなと思います。

参考

以下のサイトを参考にさせてもらいました。

mhr380.hatenablog.com

qiita.com

また、ソースコードの方もGithubの方で公開しています。ソースコードはMITライセンスです。