Kivy

Kivy×TwetterでGUIツール開発|Pythonデスクトップアプリ開発

こんにちは!
今回は下の記事に引き続き、KivyでTwitter自動化ツールを作ってみたいと思います。

【3時間でできる】Kivyのインストールからチュートリアルまで|Pythonでデスクトップアプリ
【初心者向け】Kivyで画面遷移を実装!|Pythonでデスクトップアプリ開発
Kivyで文字入力と日本語対応を実装|Pythonでデスクトップアプリ開発

今回のゴールはこちら。
入力したキーワードを含むツイートを自動でふぁぼってくれるアプリです。

注意事項

ふぁぼの自動化に関してなのですが、どうも使いすぎるとアカウントが凍結されてしまうようです。
規約にはっきりと書かれてはいなかったのですが、実際に100件ほどいいねをつけたところ、Twitterから警告が来たので使用を断念しました。

自動ふぁぼは使えばフォロワーが増えるので結構楽しかったのですが、残念です。
もし似たようなBOTを作ろうとされる方は、規約に引っかからないように注意してくださいね。

追記

いいねをつけるメソッドの中で、いいねの間隔を3秒に設定したところ、連続使用しても凍結されることはなくなりました。

短時間の連続操作そのものに問題があったようですね。

ソースコード

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

from kivy.config import Config
Config.set("graphics", "resizable", False)
Config.set("graphics", "width", 700)
Config.set("graphics", "height", 100)

from kivy.app import App
from kivy.properties import NumericProperty, ObjectProperty, ListProperty
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label

import twitter
import user

import time

CK = # Consumer Key
CS = # Consumer Secret
AT = # AccessToken
AS = # AccessTokenSecret

class KeywordClient(BoxLayout):
    msg = ObjectProperty(None)

    def fav(self):
        keyword = self.msg.text
        twitter.twitter_fav(keyword, AT, AS)
        self.msg.text = ''


class Twitter(App):
    def build(self):
        keywordClient = KeywordClient()
        return keywordClient

Twitter().run()
  import tweepy

def twitter_fav(text,AT,AS):
    CK = # Consumer Key
    CS = # Consumer Secret
    AT = # AccessToken
    AS = # AccessTokenSecret

    auth = tweepy.OAuthHandler(CK, CS)
    auth.set_access_token(AT, AS)
    api = tweepy.API(auth)

    tweets = api.search(q=text,count=30)
    
    for tweet in tweets:
        tweet_id = tweet.id
        try:
            api.create_favorite(tweet_id)
        except:
            next

    return "ok"

参考

Python Kivyの使い方① ~Kv Languageの基本~

Python kivy – how to reduce height of TextInput

Kivyで、シンプルなチャット