Windowsユーザー必見!PythonでX(旧Twitter)に30分おきに自動投稿する完全無償コードと有償ツールガイド
はじめに
X(旧Twitter)で定期的に投稿を自動化したいと考えたことはありませんか?この記事では、Pythonを使って30分おきに自動投稿するスクリプトの作成方法を詳しく解説します。このスクリプトは、投稿内容が重複しないように工夫されており、同じ内容が連続して投稿されることを防ぎます。
必要なもの
Python 3.x
Tweepyライブラリ
スケジュールライブラリ
XのAPIキーとトークン
スクリプトの説明
以下のスクリプトは、指定したテキストファイルからランダムにツイートを選び、30分おきに自動で投稿します。重複投稿を避けるために、投稿済みのツイートをリストから除外する仕組みを取り入れています。
Python
import tweepy
import json
import schedule
import time
import random
import datetime
z = input('何分おきに、投稿しますか?例3分おきなら、3と記入')
z = int(z)
path = r"C:\Users\Owner\Desktop\tweet\tweet.txt"
path1 = r"C:\Users\Owner\Desktop\tweet\twitter_key.json"
with open(path, 'r', encoding='utf-8') as file:
comments = file.read()
tweetlist = comments.replace('\n','').split('★')
tweetlist = tweetlist[:-1]
tweetremain = []
textrandom = random.choice(tweetlist)
def xpost():
global tweetlist
global textrandom
global tweetremain
dt_now = datetime.datetime.now()
if len(tweetremain) != 0:
tweetrandomremain = random.choice(tweetremain)
timestamp = str(dt_now.month) + '月' + str(dt_now.day).zfill(2) + '日' + str(dt_now.hour) + '時' + str(dt_now.minute).zfill(2) + '分'
tweecomment = tweetrandomremain +','+ timestamp
with open(path1) as f:
twitter_keys = json.load(f)
client = tweepy.Client(bearer_token=twitter_keys['bearer_token'],
consumer_key=twitter_keys['consumer_key'],
consumer_secret=twitter_keys['consumer_secret'],
access_token=twitter_keys['access_token'],
access_token_secret=twitter_keys['access_token_secret'])
client.create_tweet(text=tweecomment)
print(timestamp + '投稿実施')
tweetremain = [i for i in tweetremain if i != tweetrandomremain]
if len(tweetremain) == 0:
tweetremain = [i for i in tweetlist if i != textrandom]
elif len(tweetremain) == 0:
with open(path1) as f:
twitter_keys = json.load(f)
client = tweepy.Client(bearer_token=twitter_keys['bearer_token'],
consumer_key=twitter_keys['consumer_key'],
consumer_secret=twitter_keys['consumer_secret'],
access_token=twitter_keys['access_token'],
access_token_secret=twitter_keys['access_token_secret'])
timestamp = str(dt_now.month) + str(dt_now.day).zfill(2) + str(dt_now.hour) + str(dt_now.minute).zfill(2)
textrandom = random.choice(tweetlist)
tweecomment = textrandom +','+ timestamp
client.create_tweet(text=tweecomment)
print(timestamp + '投稿実施')
if textrandom in tweetlist:
tweetremain = [i for i in tweetlist if i != textrandom]
schedule.every(z).minutes.do(xpost)
while True:
schedule.run_pending()
time.sleep(1)
スクリプト作成のポイント
このスクリプトを作成する際に特に苦労したのは、投稿内容が重複しないようにする部分です。具体的には、以下の点に注意しました:
重複投稿の防止:前回の投稿内容と重複しないように、投稿済みのツイートをリストから除外する仕組みを導入しました。
ランダム選択:ツイート内容をランダムに選ぶことで、投稿が単調にならないように工夫しました。
タイムスタンプの追加:各ツイートにタイムスタンプを追加することで、投稿がいつ行われたかを明確にしました。
まとめ
このスクリプトを使えば、Xでの投稿を自動化し、効率的にアカウントを運用することができます。ぜひ試してみてください!
最後に
windows限定ですが、下記に、python使えなくても、自動化ツールを使いたい人ように、実行ファイルを用意しました。
ここから先は
0字
/
1ファイル
¥ 1,000
この記事が気に入ったらサポートをしてみませんか?