記事内に広告が含まれています

ConoHa VPSを使ってツイキャスの配信が始まったら通知するプログラムを動かす【Node.js】

テクノロジー
この記事は約7分で読めます。

この記事は、ConoHa Advent Calender 2022の12日目の記事となります。

どうも、なりかくんです。今回は、ConoHa VPSを使ってツイキャスの指定のユーザーが配信を始めるとDiscordに通知をするプログラムを作って動かしてみようと思います。

今回は前置きがクソ長いですがお付き合いください(^^♪

スポンサーリンク

ツイキャスとは?

まず、ツイキャスの存在を知らない方もいるかもしれません。(ほとんどの方は知っているかと思いますが。)そのため、一応簡単に説明をしておきます。

ツイキャスというのは、モイ株式会社が運営をしているスマホやパソコンなどから手軽にライブ配信を行えるサービスです。
このサービスは、非常に有名な方がたくさん利用していて米津玄師さんなどが過去に一度配信に利用したことがあります。

TwitCasting - Stream Live Video on Twitter and Facebook
TwitCasting - Stream Live Video on Twitter and Facebook

ConoHa VPSとは?

次に、ConoHa VPSについて紹介します。ConoHa VPSは、ConoHaが提供するVPSサービスです。月額589円から利用が可能で、最新CPUやオールSSDなどの超高速スペックで最強なサービスです。
また、初期費用が無料な点やテンプレートが豊富なので知識が無くても簡単に始めることが出来るというメリットがほかにもたくさんあります。

レンタルサーバーならConoHa|登録者数65万アカウント突破
ConoHaではレンタルサーバー、VPS(仮想専用サーバー)、Windows Serverなどのホスティングサービスを提供しております。充実のラインナップからご利用用途に合わせてお好きなサービスをお選びいただけます。

ここで今回の主役に登場していいただきます。美雲このはさんです!

美雲このは
美雲このは

こんにちは!ConoHaの応援団長であり座敷童でもある美雲このはです。

今日はよろしくお願いします!!

なりかくん
なりかくん

本日はありがとうございます~!

早速なのですが、このはちゃんはツイキャスはやったことありますか?

美雲このは
美雲このは

ツイキャスは触ったことないですね~

なりかくん
なりかくん

そうなんですね。|д゚)チラッ

美雲このは
美雲このは

あっ、それは言わないお約束(以下省略

というわけでありがとうございました~。(すべて中身はなりかくんがお送りしました。本当にすみません。。。。

はい、という感じでなんとこのはちゃんのツイキャスのアカウントを見つけてしまったのです。https://twitcasting.tv/mikumoconoha

まあ、このアカウントで生存確認をとれたのが最終が2014年(当ブログ調べ)なのでいつ急にライブを始めるかわかりません。ですので、今回はこのはちゃんがいつ突然ライブを始めても大丈夫なように通知を作ります。

プログラムを紹介

では、まず最初に今回のプログラムを紹介します。

require("dotenv").config();
const request = require("request");
let lastMovieId = null;

async function checkUser () {
    // https://frontendapi.twitcasting.tv/users/{userId}/latest-movie で取得できる
    let lastedMovieResult = await requestPromise({
        url: `https://frontendapi.twitcasting.tv/users/${process.env.USER_ID}/latest-movie?__n=${new Date().getTime()}`,
        json: true,
        method: "GET"
    });
    if (!lastedMovieResult.movie) return; // 配信を一度も行っていない場合は、movieがnullになる。
    if (lastMovieId == lastedMovieResult.movie.id) return; // 前回も同じライブを処理した場合は無視する。
    lastMovieId = lastedMovieResult.movie.id; // 最後に取得したmovieIdを記録する。
    if (!lastedMovieResult.movie.is_on_live) return; // 今ライブを行っていなければ無視する。
    // DiscordのWebHookにPOSTする。
    await requestPromise({
        url: process.env.DISCORD_URL,
        json: {
            content: `🔴 ツイキャスで配信が始まりました! https://twitcasting.tv/${process.env.USER_ID}/movie/${lastedMovieResult.movie.id}`
        },
        method: "POST",
        headers: {
            'Accept': 'application/json',
            'Content-type': 'application/json',
        }
    });
}

setInterval(checkUser, 4000);

function requestPromise (param) {
    return new Promise((resolve, reject)=>{
        request(param, function (err, res, body) {
            if(err){
                reject(err);
            } else {
                resolve(body);
            }
        })
    })
}

まあ見ればわかると思いますが、https://frontendapi.twitcasting.tv/users/{userId}/latest-movieで4秒ごとにライブをしているか取得してDiscordのWebHookにPOSTしているだけです。

なお、ソースコードはGitHubに公開していますので良ければ参考にしてみてください。

GitHub - narikakun/twitcasting-live-discord: ツイキャスで指定のユーザーが配信を始めるとDiscordに通知をするようにします。
ツイキャスで指定のユーザーが配信を始めるとDiscordに通知をするようにします。. Contribute to narikakun/twitcasting-live-discord development by creating an a...

ConoHa VPSを設定する

では、プログラムも出来たところでConoHa VPSを設定しましょう。今回は、せっかくですのでテンプレートを使って簡単に設定します。

まずConoHaに登録していない場合は、ConoHaに登録しましょう。

レンタルサーバーならConoHa|登録者数65万アカウント突破
ConoHaではレンタルサーバー、VPS(仮想専用サーバー)、Windows Serverなどのホスティングサービスを提供しております。充実のラインナップからご利用用途に合わせてお好きなサービスをお選びいただけます。

登録方法などは他の方や公式のガイドがあり、そちらのほうが分かりやすいと思うので省略します。
今回は、1コア512MBの最小限プランで動かします。このプログラム自体まったく重くないので全然大丈夫です。イメージタイプのアプリケーションからNode.jsを選択して「追加」をクリックするだけですね。

起動出来たら、VPSのIPアドレスを表示できますのでこれでSSHにログインしましょう。

Nodejsが正しく入っていることも確認できましたので、GitHubからクローンします。
(その前に私はsudo apt updateでアップデートを行いました。)

以下のコマンドでクローン出来ます。

git clone https://github.com/narikakun/twitcasting-live-discord.git

そして、クローンしたフォルダーに移動してnpm installを行います。

そして、.envファイルでツイキャスの通知するユーザー名と通知するDiscordのWebHookのリンクを設定します。

あとは、node index.jsで実行するだけでプログラムが始まります。試しに自分のIDを指定してテスト配信を開始してみるとこのようにしっかり動きました。

これを常駐させれば完成です。このはちゃんがいつライブを始めるのか楽しみですね~!永遠に待ちたいと思います。

最後に

今回は、ConoHa VPSを使って簡単にツイキャスの配信通知を作ってみました。いかがでしたでしょうか。

テンプレートなどを使って非常に簡単に、また数クリックでVPSを借りることが出来るConoHa VPSをぜひ使ってみてください。

レンタルサーバーならConoHa|登録者数65万アカウント突破
ConoHaではレンタルサーバー、VPS(仮想専用サーバー)、Windows Serverなどのホスティングサービスを提供しております。充実のラインナップからご利用用途に合わせてお好きなサービスをお選びいただけます。

最後までお読みいただきありがとうございました。また見てね~! #コノハチャンカワイイ

コメント

タイトルとURLをコピーしました