Closed4

Twitter Botでツイートができる状態を作る。

RuruCunRuruCun

終わった。終わったと言われつつも、なんだかんだ人がいるTwitter。
そんな中、Twitter APIを細々と使ってBotを運用してみたので、Zennに使い方をまとめる。

無料プランでの制限が厳しくなったものの、1アカウント1ヶ月に1500ツイートできるので、1日50ツイート。まだ個人で遊ぶには使えるかなーという感想です。

Developer Platformに登録する

Developer Platoformへアクセス。

https://developer.twitter.com/en

右上のDeveloper Portalをクリックし、下記の画面へ。
「Sign up for Free Account」 をクリック

下記を入力、確認します。

  • 利用目的
  • データを再販しないことへの同意
    • 250文字以上
  • 違反をした場合にアカウント停止への同意
  • 利用規約への同意

これまで文章の審査があったのですが、すぐに使える状態になっており、Dashboardへ遷移します。

RuruCunRuruCun

サイドバーのProjects & Apps にデフォルトでPrjectが作成されているので、こちらをクリック。

ページ下部のUser authentication settingsのSet upをクリックし、移動

下記を行います。Saveを押します。

  • App permissionsを「Read and write」へ
  • Type of Appを「Web App」へ
  • App info 「Callback URI」と「Website URL」へ適当なURLを入力します。
RuruCunRuruCun

Projectのトップページのタブから、「Keys and tokens」へ移動します。

  • Consumer Keysの「API Key and Secret」 のRegenerateをクリック
    • API Key と Secret を保存しておきます。
  • Authentication Tokens の 「Accesss Token and Secret」のGenerateをクリック
    • Access Token と Secretをこちらも保存しておきます。

RuruCunRuruCun

下記を使ってNode.jsからツイートをします。

https://github.com/PLhery/node-twitter-api-v2

yarn add twitter-api-v2
# or
npm i twitter-api-v2

下記のようなjsファイルを作り、関数を呼び出すことで、Node.jsからTweetできます。

1点紛らわしい箇所があり、 appKey appSecretはConsumer Keysのものを使います。

tweet.jsファイル


import { TwitterApi } from "twitter-api-v2";

const twitterClient = new TwitterApi({
  // ↓ConsumerKeysで取得したもの
  appKey: 
  appSecret: 
  // ↓Acuthentication Tokensで取得したもの
  accessToken: 
  accessSecret: 
});

// Twitterにメッセージを投稿する関数
async function postToTwitter(message) {
  try {
    await twitterClient.v2.tweet(message);
    console.log('Tweet successfully posted!');
  } catch (error) {
    console.error('Error posting tweet:', error);
  }
}

async function post() {
  const message = 'Hello, world! This is a test tweet from Firebase Functions.';
  await postToTwitter(message);
};

post()
$ node tweet.js
このスクラップは2023/12/03にクローズされました