Skip to content

v4.0.0

Compare
Choose a tag to compare
@mtripg6666tdr mtripg6666tdr released this 13 Apr 10:12
· 775 commits to master since this release
ff10ff4

v4.0.0リリース 🎉

ついに本日、長期にわたって開発を進めていたv4系の正式リリースを発表します!
@nh-chitose さん、 @eve0415 さんをはじめ、開発に協力してくださった方、翻訳に携わっていただいた方、数々の助言をしていただいた方、そしてボットを見つけてくれて使っていただいているすべての方々に、お礼申し上げます!

メインの変更

  • メインライブラリをerisからoceanic.jsに変更。

特記事項

  • v4系では、Node.js v16.16以上が必須となります。アップデート前にご留意ください。
  • Dockerのイメージは、リリース後30~40分程度で公開されます。

機能追加

  • 新しいキャッシュシステムを追加(#1166)
    • 二つのキャッシュレベル"memory""persistent"の二段階がconfig.jsonで設定できます
    • "memory"を設定した場合、楽曲のデータをメモリにキャッシュし、次に同じ楽曲がリクエストされた際にそれを利用します。
      • ループ機能を使用した際などにも高速化が期待できます。
      • 同じ曲を何曲も追加した際にメモリの増加が無くなり、メモリ使用の減少が見込めます。
      • メモリキャッシュは一定期間で自動的に削除されます。
    • "persistent"に設定した場合、上記のメモリキャッシュに加え、cacheフォルダに永続的なデータをキャッシュします。
      • ディスク容量に余裕がある場合、こちらを設定することをおすすめします。
      • データには実際の音声データは含まれていません。
    • システム情報コマンドにて、メモリキャッシュの数および永続キャッシュの合計容量を確認できます。
    • invoke sp;purgememcacheにてメモリキャッシュを、invoke sp;purgediskcacheで永続キャッシュを削除できます(#1190)
    • cacheフォルダに保存されるファイルは任意のタイミングで削除することができます。
    • 古いキャッシュは自動で削除されます(#1356)
      • キャッシュの最大容量はconfig.jsonにて設定することができます。詳細はドキュメントをご確認ください。
  • テキストチャンネルおよびボイスチャンネル以外の、スレッドチャンネル、テキストボイスチャンネル、ステージチャンネルで利用可能になりました(#1168)
  • データベースを使用した際に、再生の分析情報が保存されるようになりました(#1170)
    • ビューワーなどの開発は未定です
  • ボットのニックネームに:u7a7a:、:stop_button:が含まれていた場合、ボイスチャンネルに参加した際にそれぞれ:u6e80:、:arrow_forward:に自動的に変更することで、ボイスチャンネルに参加しているかがわかりやすくなる機能の追加(#1177, #1178)
    • 退出すると元の絵文字に戻ります
    • 詳細はドキュメントをご確認ください。
  • 日本語以外の言語に対応しました(#1173)
    • 翻訳に協力していただける方々を募集中です
    • サーバーに最適なロケールを自動で取得しようとします(#1263)
  • スラッシュコマンドの再生コマンドで、添付ファイルからの再生に対応しました(#1191)
  • メッセージを右クリック/ホールドして実行できるコマンドが追加されました(#1203)
    • キューに追加されましたの埋め込みなどのメッセージに対して再生コマンドを実行することでキューに追加/再生できます。
    • エクスポートコマンドにより出力されたメッセージの上で右クリックしてインポートを実行することでインポートできます。
  • Replit Databaseがバックアップ用のサーバーとして利用可能になりました(#1251)
  • サーバーからキックされた/サーバーが削除された際にデータベースのデータを可能な場合削除する(#1266)
  • 古いログファイルを削除(#1357)
    • ログを保持する個数をconfig.jsonにて設定することができます。詳細はドキュメントをご確認ください。
  • レートリミットに関するバグが発生した際に、リセットコマンドで回避できるようになりました(#1359)
  • リセットコマンドで、キューを保持したままリセットの操作を行うことが可能になりました(#1359)
  • ボイスチャンネルからメンバーがいなくなった際に一時停止する機能で、最後に退出したメンバーが再参加した場合に自動的に再生を再開する(#1354)

機能修正/変更

  • debugtrueの際にも、config.jsonerrorChannelが設定されていれば、チャンネルにログを送信する(#1131)
  • config.jsonで、多くのキーが必須になりました(#1142)
  • システム情報コマンドで表示される内容の修正(#1147)
  • カスタムロガーを廃止し、ライブラリを使用するようになりました(#1150)
    • パフォーマンスの向上が期待できます。
    • 新しいログレベルとしてTRACEが追加されました。
  • 一部のスラッシュコマンドが変更となりました(#1155)
    • 変更されたコマンドは以下です
      • study => bgm
      • dc => disconnect
      • mv => move
      • np => nowplaying
      • rmall => removeall
      • queueloop => loopqueue (#1344)
      • equallyplayback => equalplayback (#1424)
      • onceloop => looponce (#1424)
    • 過去のスラッシュコマンドはアップデートの後にも残ったままになります。整理するにはinvoke sp;cleanupscをご使用ください。
  • 一部のコマンドが変更となりました(#1155)
    • ヘルプコマンドのエイリアスにsupportが追加されました
    • アップタイムコマンドのピング確認機能が、ピングコマンドに分割されました。
    • 均等再生コマンドのエイリアスにequalが追加されました(#1427)
  • 環境変数GAS_URLおよびGAS_TOKENがそれぞれDB_URLおよびDB_TOKENに変更されました(#1170)
  • インポートコマンドでキューの埋め込みからインポートすることはできなくなりました(#1203)
  • ピングコマンドでUDP接続のpingをWebSocket接続のpingに変更(#1376)
  • フォールバック時の音質をより高音質なものに修正(#1380)
  • より安定な再生ができるよう、第一段階のフォールバックをサポート対象にしました(#1400, #1402)
  • ボイスチャンネルにボットのみが参加している状態の時に、切断コマンドおよびすべて削除コマンドが使用できるようになりました(#1412)

バグ修正

  • スキップの投票が機能しない問題を修正(#1163)
    • v3で #1162 で修正された問題のv4側の修正です
  • データベースなどの準備が正しく終了するまでボットがコマンドを受け入れないようになりました(#1170)
  • コストのデータを正しくリセットする(#1210)
    • v3で #1209 で修正された問題のv4側の修正です
  • キュー内を検索コマンドが失敗する場合がある問題を修正(#1248)
  • システム情報コマンドでサーバーアイコンに関するバグを修正(#1253)
  • 一部の音楽の再生が途中で終了する・エラーで止まる問題を修正(#1280)
  • 予期せず必要以上にバイナリの更新確認を行う問題を修正(#1284)
  • フォールバックした際の再生の問題を修正(#1355)
  • ニュースコマンドで、過去に送信された検索パネルを破棄するボタンを表示するよう修正(#1398)

ドキュメント

依存関係のアップデート・変更

  • 依存関係の更新は、対応Node.jsのバージョンの変更やメインライブラリの変更などを通して追加/変更/削除が多いため、変更ログをご参照ください。

その他の変更

マイルストーン

その他の特記事項(再掲)

  • v4系では、Node.js v16.16以上が必須となります。
  • Dockerのイメージは、リリース後30~40分程度で公開されます。

What's Changed

New Contributors

Full Changelog: v3.11.0...v4.0.0