ナレッジベース

/

リリースノート

新機能

v2.5.2 リリースノート

固定メッセージとメッセージスクリーンショットの 2 機能を新設し、レベリングの画像を一新しました。あわせて BotShader AI から Bot の設定を直接変更できるようになり、カスタムコマンドのエラー処理(errorHandler)が実際に動作するようになりました。機能の ON / OFF が再起動なしで反映される修正、Bot ページの表示高速化、権限・秘密情報に関するセキュリティ修正も含みます。

BotShade 開発チーム
BotShade 開発チーム

|

11 分で読めます

|

公開日: 2026年8月2日

BotShade を v2.5.2 に更新いたしました。本リリースでは、固定メッセージメッセージスクリーンショット の 2 つの新機能、レベリング画像の一新BotShader AI による Bot 設定の変更、そして カスタムコマンドのエラー処理 の実装をお届けいたします。あわせて、機能の ON / OFF が再起動しないと反映されなかった問題や、権限・秘密情報に関わるセキュリティ上の問題も修正いたしました。

お気づきの点がございましたら サポート よりお気軽にご報告ください。

本記事の目次:

ハイライト

  • 固定メッセージ を新設いたしました。ルールや募集要項などのメッセージを、チャンネルの 常に一番下 に置き続けられます。誰かが発言して流れても、自動で貼り直されます。
  • メッセージスクリーンショット を新設いたしました。選んだ範囲の会話を、Discord の画面そのままの見た目で 1 枚の画像 に起こせます。名前とアイコンを伏せる「情報を隠す」にも対応しております。
  • レベリングの画像 を描画基盤から作り直しました。ランクカード・リーダーボード・レベルアップ通知の 3 種すべてが、なめらかで見やすい仕上がりになり、表示名やタイトルの絵文字も正しく表示 されるようになりました。
  • BotShader AI が Bot の設定を変更できる ようになりました。「デイリーボーナスを 250 にして」とお伝えいただくと、AI が変更内容をカードで提示し、ご承認いただいてから反映いたします。
  • カスタムコマンドの エラーハンドラーが実際に動作 するようになりました。あわせて、どのコマンドの何が失敗したのかがログから追えるようになりました。
  • ダッシュボードで 機能を有効にしても Bot を再起動するまで反映されなかった 問題を修正いたしました。
  • DM 経由での権限チェックのすり抜けなど、セキュリティ上の問題を修正 いたしました。カスタムコマンドで環境変数をご利用の方は セキュリティに関する修正 をご確認ください。

固定メッセージ — 大切なお知らせをチャンネルの一番下に置き続けます

ルール、募集の締め切り、参加方法——チャンネルに常に表示しておきたいメッセージは、会話が進むとすぐに上へ流れてしまいます。Discord のピン留めは上部の一覧に入るだけで、画面を見ている方の目には入りません。

固定メッセージ は、指定したメッセージを 常にチャンネルの最下部 に置き続ける機能です。誰かが発言して固定メッセージが最下部でなくなると、Bot が自動的に貼り直します。

使い方

Discord 上で /sticky-message [チャンネル] を実行すると設定パネルが開きます。パネルからは以下を操作いただけます。

  • 本文の編集 — 固定するメッセージの本文
  • Embed の編集 — ウェルカムメッセージなどと同じ共通のエディタをご利用いただけます
  • 停止 / 有効化 — 設定を残したまま一時的に止められます
  • 固定の解除 — 設定ごと削除いたします
  • このサーバーの一覧 — 固定中のチャンネルを一覧で確認し、そのまま各設定へ移動できます

貼り直しの動作について

貼り直しは 10 秒に 1 回まで に制限しております。

  • 静かなチャンネルでは、発言の直後にすぐ貼り直されます。
  • 会話が活発なチャンネルでは、10 秒ごとにまとめて貼り直されます。発言のたびに貼り直すとチャンネルが固定メッセージで埋まってしまうためです。
  • 会話が落ち着いた直後にも 1 回貼り直しますので、取りこぼしはございません。

なお、Discord にはメッセージを移動する仕組みがないため、「最下部に固定」は 前の固定メッセージを消して貼り直す 形で実現しております。固定メッセージが一度消えてから貼られるように見えるのはこのためです。

ダッシュボードの「固定メッセージ」ページでは、機能全体の ON / OFF とコマンドの権限設定を行えます。固定する内容そのものはチャンネル単位のため、Discord のパネルからご設定ください。

メッセージスクリーンショット — 会話を 1 枚の画像に

盛り上がった会話、決定事項のやり取り、後で見返したい説明——これらを共有するとき、これまではリンクを貼るか、ご自身の端末でスクリーンショットを撮って加工していただく必要がございました。

メッセージスクリーンショット は、選んだ範囲の会話を Discord の画面そのままの見た目 で 1 枚の画像に起こす機能です。

範囲の選び方

Discord には「長押しして範囲選択」の操作がないため、コンテキストメニューを 2 回 実行する方式にいたしました。

  1. 範囲の 始まり のメッセージを右クリック(スマートフォンでは長押し)し、「アプリ」から スクショ範囲を選択 を実行します。開始点を記録した旨がご自身にだけ表示されます。
  2. 範囲の 終わり のメッセージで同じ操作を実行すると、その範囲の画像が生成されます。

開始点は 5 分で失効いたします。通知に付いているキャンセルボタンからいつでも取り消せます。

生成後の操作

画像が生成されたあと、ボタンから 2 つの操作を行えます。

  • 情報を隠す — 表示名を「メンバー A」「メンバー B」…に、アイコンを無地の円に差し替えます。ロール色・ロールアイコン・サーバー名・チャンネル名・チャンネル ID も一緒に伏せます。同じ方には常に同じラベルと同じ色が割り当てられますので、誰と誰のやり取りかという関係は保たれたままです。本文は加工いたしません。
  • テーマの切り替え — ダーク / ライトを切り替えられます。

再現される要素

ロール色の付いた表示名、ロールアイコン、Bot の「アプリ」バッジ、連続投稿のヘッダー省略、返信のプレビュー、太字・下線・打ち消し線・インラインコード・コードブロック、メンションとリンクの着色、絵文字(サーバー独自の絵文字を含む)、添付画像のプレビュー、「(編集済み)」——Discord の見た目をそのまま再現いたします。

制限事項

  • 実行される方と Bot の双方が、対象チャンネルを 閲覧できる 必要がございます(チャンネルを見る権限とメッセージ履歴を読む権限)。
  • スポイラーの添付ファイルは、中身を開かずファイル名のみ表示いたします。
  • 添付画像は 6 枚まで、1 枚あたり 5 MB までを画像に含めます。
  • 1 枚あたりのメッセージ数には上限がございます(ダッシュボードから 1〜50 件で設定でき、既定は控えめな値です)。上限を超える分は「以降は省略」として畳まれます。

ダッシュボードの「メッセージスクリーンショット」ページでは、実行者のみに表示するかどうか初期テーマ1 枚あたりのメッセージ数上限 と、コンテキストメニューの権限を設定いただけます。

レベリングの画像を一新しました

ランクカード・リーダーボード・レベルアップ通知の 3 種類を、描画の土台から作り直しました。

  • 輪郭がなめらかになりました — 円・進捗バー・角丸のふちがギザギザになっていたのを解消し、解像度も 2 倍にいたしました。
  • 絵文字が表示されるようになりました — 表示名やタイトルに絵文字が含まれていると、これまでは何も表示されずに消えてしまっておりました(既定のタイトルにある 🏆 も同様です)。サーバー独自の絵文字を含め、正しく描画されます。
  • ランクカード — 背景の巨大な数字が名前や進捗バーと重なっていたのをやめ、進捗のリングが付いた レベルのメダリオン に置き換えました。
  • リーダーボード — 各行を独立したカードにし、上位 3 名にはメダルとメダル色のふちを添えました。表彰台のデザインも組み直しております。
  • レベルアップ通知 — グラデーションの見出し、お祝いの演出、レベルの推移表示を加えました。
  • 透かしが本文に重なる 問題を解消いたしました。

生成の速度とファイルサイズも改善しております。ランクカードは 生成時間が約 1/5、ファイルサイズが約 1/3 になりました。

BotShader AI が Bot の設定を変更できるようになりました

これまで BotShader AI は Bot の設定について「どこをどう変えればよいか」をご案内するだけで、実際の変更はお客様に画面上で行っていただく必要がございました。v2.5.2 からは、AI が設定の変更そのものを提案し、ご承認いただければその場で反映 できるようになりました。

流れ

  1. Bot の設定画面を開いた状態で AI パネルを開き、「デイリーボーナスを 250 にして」「レベルアップ通知を送るチャンネルを #general にして」のようにお伝えください。
  2. AI が変更内容を カード で提示いたします。項目ごとに「変更前 → 変更後」と、その理由が表示されます。
  3. 内容をご確認のうえ [適用する] を押すと、設定画面の入力欄に反映されます。この時点ではまだ保存されておりません。 いつもどおり画面下部の保存バーから保存してください。
  4. 提案が気に入らない場合は [破棄] で取り消せます。

つまり、AI が勝手に保存することはございません。「AI の提案を適用する」「保存する」の 2 段階でご確認いただけます。

安全のための制限

  • 権限の設定は AI から変更できません。 コマンドの許可ロールや権限の上書きなど、権限に関わる項目はすべて対象外です。
  • 存在しない設定項目を作ってしまうことがないよう、変更できる項目はあらかじめ列挙した一覧に限定しております。対象外の項目が提案に含まれていた場合は、その項目だけが棄却され、理由が表示されます。
  • 機能を 停止する方向の変更(機能自体を OFF にするなど)が含まれる場合は、カードに警告を表示いたします。重要なモジュールの場合は赤く強調いたします。

あわせて改善した点

  • Bot のページを開いている間は、その Bot が常に AI の対象 になります。これまでは 2 通目以降、毎回 Bot を指定し直す必要がございました。
  • AI が設定について話すとき、economy.dailyBonus のような内部のキー名ではなく、画面に表示されている項目名(「デイリーボーナス額」)でお伝えするようにいたしました。
  • 変更カードは 既定で 1 行に畳まれる ようになりました。変更が数件あるだけで会話が画面外へ押し出される問題を解消しております。畳んだ状態でも警告と [適用する] / [破棄] は表示されます。閉じるボタンもいつでもご利用いただけます。
  • AI パネルの 履歴から会話を開いても、パネル内でそのまま続けられる ようになりました。これまでは会話を選ぶたびにパネルが閉じ、全画面へ移動しておりました。

カスタムコマンドのエラー処理が動作するようになりました

コマンドビルダーには以前からエラーハンドラー(errorHandler)のノードがございましたが、Bot 側が未対応で、実際にエラーが起きても既定の文言「コマンドの実行中にエラーが発生しました。」が出るだけになっておりました。v2.5.2 で 実際に動作 するようになりました。

  • コマンドの実行中に発生したエラーを捕捉し、エラーハンドラーに繋いだ処理を実行いたします。
  • ハンドラーの中では {Error.message}(エラーの内容){Error.detail}(詳細){Error.block}(発生した場所){Error.type}(エラーの種別) をご利用いただけます。「お客様向けには丁寧な案内を出しつつ、管理チャンネルには詳細を送る」といった構成が組めます。
  • {Error.type} は条件分岐の比較にもお使いいただけます。基準値に {Error.type} を指定すると、種別の候補が入力補助に表示されます。
  • 関数の中に置いたエラーハンドラーは、その関数の中で処理して正常終了として扱います。関数側にハンドラーがない場合は呼び出し元のハンドラーへ伝わります。
  • エラーハンドラーには 専用の実行時間(既定 15 秒) を確保しておりますので、コマンド本体が時間を使い切っていてもハンドラーは動作いたします。
  • エラーハンドラーの表示を 実行者のみに見せる設定 が、正しく効くようになりました。

エラーが追えるようになりました

エラーハンドラーで捕捉されなかったエラーについても、ログから原因を追えるようになりました。

  • ログの詳細に 「カスタムコマンド」カード を追加いたしました。エラーの種別、捕捉されなかった理由(ハンドラー未設定 / ハンドラーの先が未接続 / ハンドラー自体が失敗)、発生したブロック、ノード ID が表示されます。
  • カードから コマンドビルダーの該当ノードへ直接移動 できます。
  • エラーの種別が判別できる場合は、Discord 側の文言もその内容に沿ったものになります(例: 「関数が削除されていないか確認してください」)。
  • ログに表示される秘密情報(環境変数の値など)は自動的に伏せられます。

機能の ON / OFF が再起動なしで反映されます

ダッシュボードで機能を有効にしても、Bot を再起動するまでその機能のコマンドが Discord 上に一切出てこない 問題を修正いたしました。

機能の読み込みは Bot の起動時にしか行われておらず、稼働中の設定変更では、すでに読み込まれている機能のコマンド単位の ON / OFF しか反映されておりませんでした。v2.5.2 では、設定を保存した時点で機能の読み込み・停止までを反映いたします。Bot の再起動は不要です。

ログ画面の改善

  • 正常に終了したコマンドが「実行に失敗しました」と表示される 不具合を修正いたしました。カスタムコマンドの実行ログは開始 / 完了 / 失敗の 3 段階を記録しますが、状態に関わらず失敗の文言が出ておりました。
  • ログの 表示カテゴリを 29 種類に細分化 いたしました。これまでは大半が「機能」にまとめられておりました。フィルタにも「カテゴリ」を追加しております。
  • カテゴリのタグは共通の落ち着いた表示に統一し、色は状態(成功 / 失敗など)を表すためだけ に使うようにいたしました。
  • ログ表の列幅を整理し、見出しと行のずれを解消いたしました。

Bot ページの表示を高速化しました

  • Bot の情報を セッション中はキャッシュ するようにいたしました。Bot のページを離れて戻るたびに 4 種類の情報を取得し直し、その間ページ全体が読み込み表示になっておりましたが、短時間での行き来では取得が発生しなくなります。未保存の編集がある場合は、入力内容を保護するため裏側での再取得を行いません。
  • 読み込み中もナビゲーションバーを表示 するようにいたしました。これまでは読み込み中に画面全体がスピナーだけになり、他のページへの導線ごと消えておりました。
  • サイドバーの開閉アニメーションを廃止 いたしました。開閉のたびにページ全体が 0.3 秒ほど揺れて待たされていたため、即座に反映されるようにしております。
  • 「近日登場」のモジュールをナビゲーションから非表示 にいたしました。まだご利用いただけない 9 件(Webhook / 招待追跡 / SNS 通知 / VALORANT ショップ / APEX 情報表示 / フォートナイト情報表示 / 検索 / 翻訳 / 天気)が一覧を埋めており、実際にお使いいただける機能が探しにくくなっておりました。提供開始時に改めて掲載いたします。

セキュリティに関する修正

内部の点検で見つかった問題を修正いたしました。いずれも修正済みで、追加のお手続きは不要ですが、カスタムコマンドで環境変数をご利用の方は、以下の 1 点目をご確認ください。

  • カスタムコマンドから環境変数が読み出せる問題を修正いたしました。 メッセージの文面を組み立てる処理に、利用者の入力を変数の参照として再解釈してしまう経路がございました。コマンドのオプションに変数の書き方をそのまま入力することで、そのコマンドが参照している環境変数の値が出力されうる状態でした。念のため、カスタムコマンドの環境変数に API キー等の秘密情報を保存されている場合は、キーの再発行をご検討ください。
  • DM で権限の設定がすり抜ける問題を修正いたしました。 コマンドの許可ロールや必要権限を設定していても、Bot に DM を送る場合には評価されておりませんでした。DM の実行者は「ロールもサーバー権限も持たない利用者」として、サーバー内と同じ規約で判定するようにいたしました。制限を設定していないコマンドはこれまでどおり DM でもご利用いただけます。
  • API リクエストのリダイレクト先を毎回検証 するようにいたしました。「API リクエスト」ノードの接続先の制限は最初の URL にしか適用されておらず、リダイレクトで内部ネットワークへ誘導されうる状態でした。あわせて、リダイレクト先が別のホストの場合は認証情報を送らないようにしております(リクエストヘッダに入れた API キーが転送先へ渡ってしまう問題の修正です)。
  • 中断中のコマンドの保存データから秘密情報を除去 するようにいたしました。入力待ちなどで一時保存されるデータに、環境変数の値や API 応答が平文で残りうる状態でした。
  • @everyone のメンションと、ログへの認証情報の出力を塞ぎました。
  • Bot が同時に 2 か所で起動しうる問題を修正いたしました。内部の排他制御で、他の実行環境が保持している状態を誤って解除しうる箇所がございました。

修正された不具合

カスタムコマンド / コマンドビルダー

  • コマンドと同名のコマンドグループがある状態で保存すると、そのグループが置き換わり、配下のコマンドが失われる 不具合を修正いたしました。重複の検査にグループが含まれていなかったことが原因です。
  • コマンドの移動・グループ名の変更・コマンド名の変更 を 1 回の処理にまとめました。従来は変更後に削除を行っており、途中で失敗するとコマンドの重複や消失が起きうる状態でした。
  • 存在しないコマンドを URL から開いたときに、空白の画面になっていたのを改善いたしました。取得に失敗した場合は「コマンドがない」場合と区別し、再試行の導線を表示いたします。

プロジェクト

  • Bot が残っているプロジェクトを削除できないようにいたしました。削除ボタンを無効化し、対象の Bot と対処方法を表示いたします。

Bot

  • リマインダーが配信されないことがある 不具合を修正いたしました。データベースとの接続が特定のタイミングで切れると、配信予定のリマインダーが取りこぼされ、繰り返しの予定もそこで途切れておりました。
  • /metrics に Bot ごとの指標を出力するようにし、内部の計測が正しい Bot に紐づかないことがあった問題を修正いたしました。API の応答時間も実測値で記録されます。

UI

  • 起動・停止などの確認モーダルが 画面の上に偏って表示される 不具合を修正いたしました。再発を防ぐためのテストも追加しております。
  • モジュールのカードが、上部の「機能の有効化」トグルより 8px 狭く表示されていたのを揃えました。
  • モジュールの見出しで、アイコンとタイトルが上下中央に揃っていなかったのを修正いたしました。
  • デンジャーゾーン(削除などの操作)の表示を、サイト全体のスタイルに合わせて整理いたしました。
  • メッセージスクリーンショットを「娯楽」から「メッセージ」カテゴリへ移動いたしました。

互換性について

これまでご利用いただいていた Bot やコマンドの定義は、v2.5.2 でもそのまま動作いたします。お客様側での移行作業は不要です。

新設の 固定メッセージメッセージスクリーンショット は、既存の Bot では OFF の状態で追加されます。ご利用の際はダッシュボードの各ページから有効化してください。

DM でのコマンド実行につきましては、セキュリティに関する修正 に記載のとおり、許可ロールや必要権限を設定しているコマンドは DM から実行できなくなります。これまで DM での実行を前提に運用されていた場合はご注意ください。制限を設定していないコマンドはこれまでどおりご利用いただけます。

サポート・コミュニティ

ご質問・不具合のご報告・機能のご要望は、以下のいずれかからお気軽にお寄せください。

今後とも BotShade をどうぞよろしくお願い申し上げます。