記録

Twitterで自動投稿する雛形-#脱TwitterAPI。

おはようございます、この記事はQiitaに投稿したもののと同じ内容になります。

エンジニアに悲報としか言えない今回の発表・イーロン・マスク氏って👹

2月9日でTwitterAPIが無料で使えなくなるのでその対応をしないといけない。
そんなエンジニアさんもいらっしゃると思います。

APIサービスに月、1万円払えないという会社は中小企業には多いと思います、それで取引を解消される企業とかもあったりするかも。

そんな方は一個VPSサーバーを構えてNodeJSをインストールして下記の雛形コードを元にゴニョゴニョしたら何とかなるかも知れません。🫠

因みにこれはchatGPTとの合作だったりします。

  • いつまで動作するかは保証しません。尚、これは雛形ですので、これに細工をして常時接続で
  • TweetやRTするようにコードを変更しないといけません。もしくは時間を置いてTweetするなど。
node sample.js 'username' 'password' 'テスト投稿'
const puppeteer = require('puppeteer');

const [username, password ,tw] = process.argv.slice(2);

(async () => {
    
    const browser = await puppeteer.launch({ headless: true });
    const page = await browser.newPage();
    await page.goto('https://twitter.com/login');

    await page.waitForTimeout(3000);
    await page.waitForSelector('input[autocomplete="username"]');
    await page.type('input[autocomplete="username"]', username);

    const divs = await page.$$('div[role="button"]');
    await divs[2].click();

    await page.waitForTimeout(3000);
    await page.waitForSelector('input[autocomplete="current-password"]');
    await page.type('input[autocomplete="current-password"]', password);
    

    await page.waitForSelector('div[data-testid="LoginForm_Login_Button"]');
    await page.click('div[data-testid="LoginForm_Login_Button"]');

    await page.waitForNavigation();

    console.log('Login successful');

    await page.waitForTimeout(3000);
    await page.waitForSelector('div[data-testid="tweetTextarea_0"]');
    await page.click('div[data-testid="tweetTextarea_0"]');
    

    await page.waitForSelector('div[data-testid="tweetTextarea_0"]');
    await page.type('div[data-testid="tweetTextarea_0"]',tw);
    await page.waitForTimeout(3000);

    await page.waitForSelector('div[data-testid="tweetButtonInline"]');
    await page.click('div[data-testid="tweetButtonInline"]');
    console.log('Tweet posted');                
    await browser.close();
})();

Oh My Posh[オゥマイポッシュ]というツールの導入の仕方。前のページ

chatGPTのようなサービスに速やかに変えるべき。ググらない。次のページ

関連記事

  1. 記録

    LINE messaging apiでブログの配信通知するプログラムコード。

    暑い日が続いています、夕立になった後のアスファルトの匂いを嗅ぐと夏だ…

  2. 記録

    ニューズピックスのあの人ととの対談。

    ニューズピックスの【シン・ニホン】落合陽一×安宅和人「日本再生…

  3. 記録

    POSTとGETの考え方について伝えている動画。 #以心伝心

    おはようございます、11月なのに寒くないって不思議です😗温暖化。…

  4. 記録

    トラックボールマウスを購入しました、もはや帰れない。

    おはよう御座います。もう春ですね🌴。日本は春の次に梅雨という時季があ…

2023年2月
 12345
6789101112
13141516171819
20212223242526
2728  

カテゴリー

アーカイブ

PAGE TOP