このリポジトリは ohno-old を TypeScript で書き換えたものです
セルフホストが面倒なら OHNO を導入すると幸せになれます
- ボイスチャンネルに参加します
- 権限がない場合は参加できません
- ボイスチャンネルから退出します
- 同じボイスチャンネルにいない場合は実行できません
- 辞書を編集します
- 単語が重複している場合は追加できません
- 辞書を削除します
- 単語が存在しない場合はエラーを返します
- 辞書のリストを CSV で送信します
- 一応 Excel で開くことができるはずです
- 話者を設定します
- 現在日本語ネイティブの話者しか対応していません
- 読み上げるスピードを 0.5 から 2.0 の数値で指定します
- デフォルトは 1 です
- 簡易的なヘルプを見られます
この Bot は,メッセージのテキストだけではなく,そのテキスト以外のコンテンツやボイスチャンネルに関連する操作についても読み上げます.以下がそのリストです.
- 添付ファイルとその種類
- スタンプや絵文字の名前
- リンクのドメイン名やプロトコル
- ユーザー・チャンネルのメンション
- ユーザーの入退室・移動(移動先のチャンネルも含む)
- 画面共有 (GoLive) とカメラ配信の開始・終了
また,s
単体で読み上げ対象のチャンネルにメッセージが投稿された場合,現在読み上げているコンテンツと読み上げのキューに入っているコンテンツを破棄し,読み上げを停止します.
乱用を防止するため,一つのメッセージにつき読み上げする字数・秒数の制限があります.辞書などによる置換後の字数で 200 文字か,5 秒以内どちらか短い方で読み上げが強制的に停止されます.
- Bot のメッセージが読み上げられる!
- 仕様です.これは開発者である yuimaru の思想によってそうされていて,読み上げ対象のチャンネルに投稿されたコンテンツは全て読み上げられるべきなのでそうしています.もしそれが煩わしくて無効にしたい場合,近いうちに読み上げるコンテンツを細かく設定可能にしようと思っているので,その時までお待ちください.
- 人間が全員ボイスチャンネルからいなくなったのに OHNO が退出しない
- 仕様です.これは開発者である yuimaru の思想によってそうされていて,読み上げ Bot がボイスチャンネルを退出するべきタイミングは,ボイスチャンネルを移動するタイミングのみだと思っているのでそうしています.これも近いうちに設定可能にしようと思っているので,その時までお待ちください.
誤字ではないです.普通逆だろと思いましたよね.
これには私自身のスキルに問題があって,もっと Rust のことを深く理解してから Rust を使って Bot を作成したいと思ったからです.
なぜ TypeScript なのかというと,薄い Discord API Wrapper の @discordjs/next (@discordjs/{core, ws, rest, util}) を推したいからです.
これらのパッケージは(おそらく,動かそうと思えば)どのランタイムでも動くからです.
まあ Bot の用途によってどの情報が欲しいとか,どの情報が不要とかあるじゃないですか, discord.js 本体は全ての情報をキャッシュしたりとかするわけですよ.
これらのパッケージにはキャッシュとかいう概念もありませんから,自分で実装するとかそういうことをするわけで,これができるとパフォーマンスの面でも嬉しいです.