Portfolio: にらBOT

殺伐としたDiscordに玉葱(ごーや)が!

GitHub - team-i2021/nira_bot: にらBOT
にらBOT. Contribute to team-i2021/nira_bot development by creating an account on GitHub.
https://github.com/team-i2021/nira_bot

概要

K V
プロジェクト名 にらBOT
開発名義 Team-i2021
開発形態 チーム開発
プロジェクト種類 Discord用BOT
開発期間 2021/09 - (継続)
言語 Python >= 3.13

説明

にらBOTは,コミュニケーションアプリ (SNS) である Discord 上で利用できる BOT と呼ばれる種別のアプリケーションです.

ユーザー同士が集まる招待制のスペースである サーバー における管理者に代わった管理サービス,参加するユーザーのためのユーティリティーサービスなどを提供するのが,BOTと呼ばれる種別のアプリケーションになります.

にらBOTでは,サーバーのモデレーション,便利ツール,娯楽ツールなどを提供しています.
ユーザーに特に多く使われている機能を列挙すると,TTS,ロールパネル,メッセージ翻訳などがあります.

TTS (Text-To-Speach/読み上げ)

Discordアプリケーションにおいては,アクセシビリティ機能としてTTS機能はありますが,それとはまた異なる機能です.
ボイスチャットにおける,ユーザーの会話補助ツールとして機能するために,ユーザーがテキストチャット上に文字で入力したものを,VOICEVOXのキャラクターによる読み上げを行なっております.

ロールパネル

Discordのサーバーにおいては,ロールと呼ばれる権限管理機能があります.
これは,ユーザーごとに権限管理を行うのではなく,ロールごとに権限管理を行い,そのロールをユーザーに付与することで一括的に管理ができる機能です.
また,ロールによるメンション (通知送信) なども出来るため,Discordではこのロールというシステムが重宝されています.

そこで,ユーザー自身がロールを自分につけることができれば,例えばメンションを受け取る受け取らないを自分で選べるようになったり,自分で見たいチャンネル,見たくないチャンネルをオンオフできるようになります.
そこで,ロールをユーザーのインタラクションによって切り替えられるものとして,ロールパネルを提供しております.

メッセージ翻訳

DeepL APIや,Google翻訳のサービスを用いて,Discord上のメッセージを翻訳します.
これは,多言語なサーバーで活用されることを目的としているのではなく,むしろ特定言語話者向けのサーバーでの活用を目的としています.
Discordには,他のサーバーのアナウンスチャンネルという特別種別のチャンネルを 購読 することができ,購読したチャンネルは,自分のサーバーにメッセージを自動転送させることができます.
ここで,その購読先のチャンネルの言語圏が異なる場合に,自動翻訳を挟むことで言語圏間の緩衝を減らしています.

プロジェクト

このプロジェクトは,おおかた初めての他のユーザーとの共同プロジェクトであったり,これまで使ったことのない様々なツールをどんどん導入してみたりと実験的かつ,学習的なプロジェクトとなっています.

特に,最初は自分と共同ユーザーが一緒に使うための,いわゆる身内専用のBOTであったものの,少しづつ機能を重ねていき,またPythonのプログラミングスキルなども少しづつ上達していくことで,自分でも書いていきたいという気力が湧いていき,どんどんと成長をしていきました.
BOTの導入サーバー数が100を越えると,Discord上から認証バッジというものが付けられるようになります.
2026/08時点での導入サーバー数は385で,多くのユーザー,サーバーに使っていただいているシステムになります.
使用ユーザーがいるということを常に念頭に置き,これからも微力ながらも開発を進めていきます.