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)  

スクリプト作成のポイント

このスクリプトを作成する際に特に苦労したのは、投稿内容が重複しないようにする部分です。具体的には、以下の点に注意しました:

  1. 重複投稿の防止:前回の投稿内容と重複しないように、投稿済みのツイートをリストから除外する仕組みを導入しました。

  2. ランダム選択:ツイート内容をランダムに選ぶことで、投稿が単調にならないように工夫しました。

  3. タイムスタンプの追加:各ツイートにタイムスタンプを追加することで、投稿がいつ行われたかを明確にしました。

まとめ

このスクリプトを使えば、Xでの投稿を自動化し、効率的にアカウントを運用することができます。ぜひ試してみてください!

最後に

windows限定ですが、下記に、python使えなくても、自動化ツールを使いたい人ように、実行ファイルを用意しました。

ここから先は

0字 / 1ファイル

¥ 1,000

この記事が気に入ったらサポートをしてみませんか?