とあるBot - Discord Bot
OVERVIEW
昔開発してました。Valoのスタッツが見れたりShadowbanが見れたり、ユーザー認証パネルを設置できたりします。
もともと「とあるBot」はVPSで動かしていたのですが料金が円安もあってかばかにならないくらいまで上がってしまったので満を持してサーバーレスで動作するように変更しました
Cloudflare WorkersとAzure Functions、AWS Lambdaの中から開発のしやすさや応答時間等を考えた結果AWS Lambdaとなりました。
Valorant部分の実装はSQLを使いたかったのでCloudflare WorkersをLambdaから呼び出してユーザーデータをD1に保存しています(超非効率)
また、OAuth2を利用したユーザー認証及びバックアップの機能も実装しました。
ユーザーデータはDynamo DBに保存しており、5日に1回Refresh Tokenを利用してTokenを新しくするようにしてあります。
認証のバックエンドもすべてLambdaで実装しました。
WebサイトのほうはNext.js(React)をVercelで動かしています。
サイトのデザインは苦手なのでトップページ及びRiotログインのcallbackページのデザインは@Xulluaさんに依頼して作っていただきました。
Discordのユーザー認証ページはデザインから実装まで私が行いました。
↑riotアカウントのログインcallbackページ
↑DiscordのOauth2認証のcallbackページ
↑ユーザー認証のFigmaモックアップ
<使用技術>
- Bot
- Node.js(Typescript)
- AWS Lambda
- AWS Dynamo
- Cloudflare Workers(Valorant部分のみ)
- Cloudflare D1(Valorant部分のみ)
- Webページ
- Vercel
- Next.js(React)