Discordで使える投票システム作った

Discordすごい便利だけど、決めごとしたいときに投票できたらいいなーと思ったのでデータベースの勉強も兼ねて投票システムを作ってみました。

システムの概要

Discordの中でボットと対話形式で投票ページを作成し、気軽に投票を行えるシステムです。

投票システムの使い方

まず、discord内でボットとの対話方式で投票を作成していきます。

投票が作成されると投票画面へのリンクが投稿されます。

このリンクを開くとこんな感じの投票ページにアクセスできます。

投票が完了するとこんな感じの投票結果画面に移動します。

投票システムを使う際の流れはこんな感じです。

使用した技術

このシステムの作成には主にmysqlとphp,html、python3を使用しました。

mysqlの部分

投票本体のデータや投票数のデータを保存するのにmysqlのデータベースを利用しました。投票本体のデータと投票数のデータを保存するテーブルをそれぞれ作成して利用しています。

投票本体のテーブルには、投票のID、タイトル、期限、それぞれの回答のデータ、
回答の選択肢の数、 投票の作成者といったデータを保存しています。個人情報が入っているので一部隠してます。

また、投票数のデータテーブルには投票本体のIDと選択された回答を記録してあります。

phpの部分

phpからsql文を発行してデータベースにアクセスして、表示や投票、作成を行っています。

投票画面では、投票本体のテーブルと投票数のテーブルを読み込みデータを表示して、回答を選択したら選択肢のデータをPOSTでサーバーに送信して投票数のテーブルに書き込みを行います。

また、投票作成の部分にはDiscord内のボットから作成する投票のデータを受け取ってデータベースに書き込むapiをphpで作成しました。

pythonの部分

python3を使ってDiscord内で対話をするボットを作成しました。”/投票作成”というキーワードに反応して投票の内容を尋ねていき、投票データが完成したらphpで作成したapiにデータをPOSTします。POSTに成功したら投票のリンクを生成してメインのチャンネルでつぶやいてくれます。

まとめ

データベースを使ってみたくて、投票システムを作ってみたけど楽しかった!!!!

返信を残す

メールアドレスが公開されることはありません。