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は個人用途では重いので除外)