Releases: 88IO/snipe
Releases · 88IO/snipe
スラッシュコマンド、ボタンに対応
指定時刻に予約する「reserve」, 指定時間後に予約する「reservein」を省略した際、リアクションでどちらか指定していたものをボタンに置き換えました。ボタンを押すユーザー指定が上手く動作していない可能性があるのでフィードバックを受け次第修正します。
また、スラッシュコマンドに対応し「/reserve」「/reservein」「/schedule」「/cancel」の4つをグローバルコマンドに追加しました。グローバルコマンドとするに辺り「show」「clear」は重複しやすかったので名称を変更しています。動作は変わりません。
他にプログラムのディレクトリ構造を見直し、コグを有効活用するために機能を分割しました。discord-py-slash-commandライブラリを導入したので、破壊的な変更に備えてBotが停止しない仕組みにしました。
- スラッシュコマンド対応
- リアクション動作をボタンに置換
- プログラムのフォルダ構造の見直し、機能分割
予約データ管理をheapqからdequeに置換
ヒープキューは処理順にタスクを並び替えられる利点がありましたが、タスクのマージや全取得に弱かったので先頭からの取り出しに強いDequeに置換えました。
それにあたり、タスクのマージ処理はタスク追加時に行うよう変更しました。
- 複数ギルド対応
- heapq管理からdeque管理に移行
- 一部リストをジェネレータに置換し高速化
- タスク追加時にマージするように変更
複数ギルド対応
単一ギルド用通話切断Bot初期型
初期実装です
- 単一ギルド用
- ヒープキュー管理
- 各タスクは
@snipebot mergeで統合する必要あり