Myxogastria0808 / discord-oauth

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

discord.js v14 × discord の OAuth2

Caution

現在作成途中です。ご了承ください。

ある非公開サーバーで、ユーザー登録を行うスラッシュコマンド、ユーザー削除を行うスラッシュコマンド、ユーザー登録しているユーザーのみが使えるスラッシュコマンドを提供する discord bot のテンプレートです。このテンプレートの bot は、そのサーバー内にいるユーザー以外がユーザー登録をすることを拒みます。

bot

  • 言語: TypeScript
  • 主に、 discord.js v14 を使用

用意している Slash Command

/register-user

  • ユーザー登録を行うスラッシュコマンド

/register-delete

  • ユーザー削除を行うスラッシュコマンド

/approval

  • ユーザー登録をしたユーザーのみが、You are authorized!という返信を見ることができるコマンド

backend

  • 言語: TypeScript
  • Web API: Hono
  • ORM: Prisma
  • RDBMS: MySQL

Caution

プログラムの中に、console.log()するべきでない内容をconsole.log()しています。実際にこのプログラムを使用する際は、console.log()を全て消してください。

エンドポイント

/user/register

  • ユーザーの登録を行うエンドポイント

/user/delete

  • 登録されているユーザーの登録を削除するエンドポイント

/approval

  • 登録されているユーザーと登録されていないユーザーで、返す情報が変わるエンドポイント

使用を推奨しているパッケージマネージャー

  • yarn

Setup

windows ユーザー

Caution

以下のコマンドたちを実際に実行して試していないので、ご注意ください。

make-env.cmd
cd bot
yarn
cd ..
cd backend
yarn
#データベースに関する情報を適宜書き換える
yarn migrate

.envファイルの生成

Batchfile

make-env.cmd

Shell

Caution

Linux 環境で実行した際の動作の確認をしていないため正しく動作しない可能性があります。

bash make-env.sh

bot に置く.envファイルの中身

Note

空の文字列(または数字)に適切な情報を入力してください。

Caution

.envファイルに書く内容は、外部に漏れてはいけない内容なので、必ず.gitignoreファイルに.envを書いてください。

TOKEN = ""
APPLICATIONID = ""
GUILDID = ""
REGISTERURL = ""
DELETEURL = ""

backend に置く.envファイルの中身

Note

空の文字列(または数字)に適切な情報を入力してください。

Note

IPADDRESS と PORT は、適宜変えてください。

Caution

.envファイルに書く内容は、外部に漏れてはいけない内容を含むので、必ず.gitignoreファイルに.envを書いてください。

IPADDRESS = "127.0.0.1"
PORT = "3000"
CLIENTID = ""
CLIENTSECRET = ""

#以下はPrismaによって自動生成されるの省略
# This was inserted by ~

参考にさせていただいたサイト

https://qiita.com/masayoshi4649/items/46fdb744cb8255f5eb98

https://discordjs.guide/oauth2/#a-quick-example

https://qiita.com/sukeo-sukeo/items/6e86906d88e1110bbb36

https://hono.dev/top

https://www.server-memo.net/shellscript/file_check.html

http://www.ajisaba.net/sh/get_dir.html

https://tech.kurojica.com/archives/20987/

https://qiita.com/richmikan@github/items/eefbaed716e5ed198973

http://tech.clickyourstyle.com/articles/23

https://qiita.com/take4s5i/items/e207cee4fb04385a9952

https://qiita.com/shin1rok/items/efb5052ef5fb8138c26d

https://qiita.com/plcherrim/items/8edf3d3d33a0ae86cb5c

https://rainbow-engine.com/batch-folderfile-existcheck/

https://setips.net/bat/bat-exist/

https://note.alhinc.jp/n/n828e5d7a417f

https://qiita.com/tera1707/items/e8c5cacac28b2cd7598f

About

License:MIT License


Languages

Language:TypeScript 88.6%Language:Batchfile 4.6%Language:Shell 4.3%Language:JavaScript 2.5%