Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

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

 

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

三分の一の勇気.png

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

以下がコードです。

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の確率でツイートされるアプリケーションの作り方でした。

nikainotensor
しょしんしゃ向けに記事を書いています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away