このプロジェクトで達成したいことは主に以下の通りです。
・Discordに投稿された(提案された)お題をDBに格納
・DBに投稿されたお題をWebから承認
・WebからDBにお題を格納
・Botで自動的に指定時間にお題発表(DiscordとTwitterに投稿)
以上を達成するために、以下のものを開発しました
・Discordの指定チャンネルに投稿されたメッセージをDB(以下Firestore)に格納するBot
・Firebase Auth, Firestore, Functionsを利用した、お題管理ウェブフロント
・指定時間にお題発表をする自動投稿Bot
・Firebase Functions, 自動投稿Botで共通して利用できるお題管理モジュール
技術スタック
Webフロント
・Firebase(Auth, Firestore, Hosting, Functions)
・Nuxt.js
・Typescript
DiscordBot
・Discord.js
・Typescript + JavaScript
・Firebase(Admin SDK, Firestore)
モジュール
・Typescript
・Firebase(Admin SDK, Firestore,)
・Discord Webhook
・Twitter API