Projects
Python個人開発実用プロダクト

TeamBalancer

Valorant のチーム分けを行う DiscordBot

概要

Valorantのチーム分けを行うDiscordBot


背景

フレンドとValorantというゲームでカスタムを行うが、毎回レベル差を気にしてチームを分けるのが面倒。フレンドのレベルデータを管理して、チーム分けを自動で行うBotを作りたい。


使用技術

  • nextcord
  • SQLite

選定理由

このBotは raspberrypi 5 で運用することを想定している。 個人用ということもあり、人気の discord.js はメモリ使用量が多い。そのため、比較的にメモリ使用量が軽く、実装が簡単である Python の nextcord を利用する。


課題と解決方法

  • 安全なユーザーデータの管理
    課題:ユーザーに正しい入力形式・型で入力してもらわないといけない
    解決:Discordのフォーム機能を活用させ、バリデーションをDiscordの標準機能で行わせる。また、入力値をロジック内で再度確認する。

  • ユーザーデータの連携
    課題:どうにかユーザーとデータの連携を簡単にできないか
    解決: Discord の user_id をプライマリーキーとして SQLite にユーザーデータを保存する。(OAuthは個人用途では重いので除外)