送信ボタンを押すと、3分の1の確率でツイートされるアプリケーションのプログラム(Python tkinter)


送信ボタンを押すと、3分の1の確率でツイートされるプログラムをつくりました。

Pythonで初めてtkinterやTwitterを使ってみる人にちょうどいいプログラムかと思いました。またツイートするのに勇気がいるときなどに、3分の1の勇気で送信ボタンを押せるかと思います。

 

プログラムを実行すると、tkinterでテキストボックス、送信ボタンなどが表示されます。テキストボックスにつぶやきたい内容を入力し、送信ボタンを押すとツイートされます。

もちろん、どのアカウントからツイートするかといった情報もなければツイートできないので、その情報を入力する欄もあります。

以下がコードです。


import random
import twitter
import tkinter

root = tkinter.Tk()
root.geometry("265x210") #画面の大きさを決める

#ラベルをつくり、テキストと位置を決める(4個分)
l1 = tkinter.Label(text=u'Consumer Key')
l1.place(x=10, y=0)
l2 = tkinter.Label(text=u'Consumer Secret')
l2.place(x=10, y=20)
l3 = tkinter.Label(text=u'Access Token')
l3.place(x=10, y=40)
l4 = tkinter.Label(text=u'Access Token Secret')
l4.place(x=10, y=60)

#アカウントの情報を入れるためのテキスト欄をつくり、位置を決める(4個分)
t1 = tkinter.Entry() 
t1.place(x=130, y=0) 
t2 = tkinter.Entry()
t2.place(x=130, y=20)
t3 = tkinter.Entry()
t3.place(x=130, y=40)
t4 = tkinter.Entry()
t4.place(x=130, y=60)

#ツイートする文章を入力する欄をつくり、位置を決める
tb = tkinter.Text(width=34,height=5)
tb.place(x=10, y=90)


def push(event): #送信ボタンが押された時の命令を定義する
    mode = random.randint(0, 2) #0から2までの整数の乱数を代入する
    if mode == 2:
        #入力されたアカウントの情報をそれぞれの変数に入れる
        v1 = t1.get() 
        v2 = t2.get()
        v3 = t3.get()
        v4 = t4.get()
        auth = twitter.OAuth(consumer_key=v1,consumer_secret=v2,token=v3,token_secret=v4)
        status = tb.get('1.0', 'end')
        t = twitter.Twitter(auth=auth)
        t.statuses.update(status=status, media_ids=",")
    else:
        pass

#ボタンの位置とテキストを決める
b = tkinter.Button(text=u'3分の1の確率で送信', width=16)
b.bind("<Button-1>",push)
b.place(x=130, y=170)

root.mainloop()

以上が、3分の1の確率でツイートされるアプリケーションの作り方でした。