今回はTwitter APIを使ってPyrthonからミュート、ブロックする方法を紹介します。
Twitterには無数のユーザが棲みついており、どうしても馬が合わないアカウントもあるものです。そんなアカウントは自分のタイムラインに出てこないようにプログラムにミュート or ブロックしてもらいましょう。
Pythonで実装する
今回もtweepyを使います。
認証
まずは Twitter Developersからキーを取得し、認証を行います。
import tweepy
API_Key = "Your API key"
API_Sec = "Your API Key Secret"
Token = "Your Access Token"
Token_Sec = "Your Access Token Secret"
# Twitterオブジェクトの生成
auth = tweepy.OAuthHandler(API_Key, API_Sec)
auth.set_access_token(Token, Token_Sec)
api = tweepy.API(auth)
ミュート
まずはミュートします。ツイートからミュートすることはできません。ミュートする場合が、IDやスクリーンネームでアカウントを指定する必要があります。
API.create_mute(*, screen_name, user_id)
以下にサンプルコードを示します。
#スクリーンネームを指定
Account = "xxxxxxx"
tweets = api.user_timeline(screen_name=Account, count=1)
for tweet in tweets:
api.create_mute(screen_name=tweet.user.screen_name)
api.create_mute()に直接Accountを渡してもミュート可能です。
特定の文字を含むツイートをミュートしたい場合も、そのツイートをしたユーザをミュートするしかありません。 api.user_timeline()に検索クエリを渡し、取得したツイートをしたアカウントを片っ端からミュートしてください。
ミュート解除
ミュート解除API.destroy_mute()を用います。流れはcreate_mute()と同様です。
API.destroy_mute(*, screen_name, user_id)
引数で渡したアカウントをミュートしていなかった場合はエラーになります。
#スクリーンネームを指定
Account = "xxxxxxx"
tweets = api.user_timeline(screen_name=Account, count=1)
for tweet in tweets:
api.destroy_mute(screen_name=tweet.user.screen_name)
ブロック
続いてはブロックです。ミュート同様、ツイートからブロックすることはできません。アカウントIDやスクリーンネームを取得し、それをもとにブロックする必要があります。
ブロックにはAPI.create_block()を用います。
API.create_block(*, screen_name, user_id, include_entities, skip_status)
#スクリーンネームを指定
Account = "xxxxxxx"
tweets = api.user_timeline(screen_name=Account, count=1)
for tweet in tweets:
api.create_block(screen_name=tweet.user.screen_name)
ブロック解除
ブロック解除にはAPI.destroy_block()を使います。
API.destroy_block(*, screen_name, user_id, include_entities, skip_status)
#スクリーンネームを指定
Account = "xxxxxxx"
tweets = api.user_timeline(screen_name=Account, count=1)
for tweet in tweets:
api.destroy_block(screen_name=tweet.user.screen_name)
ブロック解除をAPIから使う場面てあるのかな、、
まとめ
Twitter APIを使ってPythonからミュート、ブロック操作をする方法を紹介しました。
この機能を使いこなせば、あなたのタイムラインも穏やかな日々を取り戻すこと間違いなしです。
ではでは👋