Giter Site home page Giter Site logo

jda-vcspeaker's Introduction

jao Minecraft Server

Website GitHub issues Discord Twitter Follow

jao Minecraft Server Issue Tracker

Issue とは?

issue の意味 - 英和辞典 Weblio 辞書
質問とか、意見とか、要望とか気軽に出す場所として使ってほしいと思っています。

Issue はどうやって出せばよい?

Issue の作り方 をご覧ください。

Issue をするためには何が必要?

GitHub のアカウントが必須です。
Sign upから登録できます。

もし、GitHub アカウントを持っていない、などの理由で Issue を立てられない場合は、Discord 等を使用して運営や開発参加者と連絡を取り合ってみてください。

jda-vcspeaker's People

Contributors

book000 avatar yuuahp avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

jda-vcspeaker's Issues

強調したい文字のspeedを半分にする

強調されたチャットが見つかった場合、そのチャットの文章を再構成し、speedを設定値の半分にして読み上げる

【例】
※発言者の;defaultは speed:120とする
**こ れ は ひ ど い** が発見された場合、 これはひどい speed:60 に置き換える

【強調の例】

**これはひどい**
**こ れ は ひ ど い**
こ れ は ひ ど い

【備考】
発言者の;defaultのspeedを割った数値が50を下回る場合、speed:50 で固定する
判定は「全ての文字の間に全角スペース・半角スペースがあるか」とか…

titleが元に戻らない不具合

状況: titleで変更してもオリジナルとして保存されてしまう…?

色々デバッグしたけど、

  • setName でチャンネル名が変更できない時がある(多分レートリミットetc)。.queue() の第二引数で本来エラーを取れるんだけど、これが呼び出されない。
  • 上とは違い、タイトルを変更した・出来たのにsaveSettingsより先にonVoiceChannelUpdateEventが呼び出されて、titleで設定したチャンネル名が オリジナルとして 保存されてしまうことがある。これは本当によくわからない。

解決方法は

  • 上記の発生原因を探って原因を解決するか、
  • アプローチを変える

しかないと思う。
後者を選ぶなら、アプローチとして以前提案した事前紐付けして、それに必ず戻す形にするとかかなあと思う #44 (comment)

とりあえずこちらで数十分デバッグして原因が特定できなかったので、報告まで。多分これは私では解決できないので是非対応してくれると助かる

なお、このバグを悪用すれば設定タイトルが戻らないまま放置され続けるという割と迷惑なバグとなっている

各パラメータのユーザー当たりデフォルト値

speaker, speed, emotion などのパラメータをユーザー毎にデフォルト値設定できるようにしてほしいかも。
音声のみでユーザーを聞き分けている場合に分かりにくいって人がいないこともないので。

  • ;default user speaker bear: パラメータを指定しないときの実行者ユーザーの speaker のデフォルト値を bear にする
  • ;default user speed 200: パラメータを指定しないときの実行者ユーザーの speed のデフォルト値を 200 にする
  • ;default global speaker bear: パラメータを指定しないときの全員の speaker のデフォルト値を bear にする

メッセージがいくつか送信された際に、同一のメッセージを何度も喋る

Files.write(Paths.get("./speak.wav"), response.body().bytes());
} catch (IOException e) {
e.printStackTrace();
}
StringBuilder contentBuilder = new StringBuilder();
try (BufferedReader br = new BufferedReader(new FileReader("./speak.wav"))) {
String sCurrentLine;
while ((sCurrentLine = br.readLine()) != null) {
contentBuilder.append(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
}
PlayerManager.getINSTANCE().loadAndPlay(channel, "./speak.wav",userdata);

ここで、一つの speak.wav ファイルに吐き出しているせいだと思う。

java.lang.IllegalStateException: Preventing use of complete() in callback threads! This operation can be a deadlock cause

java.lang.IllegalStateException: Preventing use of complete() in callback threads! This operation can be a deadlock cause
at net.dv8tion.jda.internal.requests.RestActionImpl.complete(RestActionImpl.java:216)
at net.dv8tion.jda.api.requests.RestAction.complete(RestAction.java:633)
at com.jaoafa.jdavcspeaker.Command.Cmd_Title.lambda$title$0(Cmd_Title.java:87)
at net.dv8tion.jda.api.requests.Request.lambda$onSuccess$0(Request.java:95)

VCの名前を変更できる title コマンドの実装

;title test: 参加しているVCの名前を「test」に変更する。

そのVCから人が全員退出したら、元のVC名に戻す。
デフォルトVC名をコマンドで変更できるようにしてもいいと思う(adminstratorsのみ)

VCWatcher関連機能

https://github.com/jaoafa/VCWatcher

期待する機能

  • #39 (複数サーバ対応: サーバIDと通知チャンネルIDをコンフィグで設定可能に)
  • #30 誰かが初めてVCに参加したとき(移動時含)にGeneralで通知する
  • #66 通知したメッセージのIDを保持し、次回通知時に前回のメッセージを削除する
  • #30 同一ユーザーによる出入り・煽りイカ行為は反応しない
  • #30 最終通知から一定時間(3h?)経過した場合、そのユーザーが入っても通知する
    • (前日に最初に入って次の日にもまた最初に入ったときに通知されなくて気づかれないの悲しい)

Vision API を使用した画像の内容まとめ発言

Vision API を使用して、#vc を見られない人でも画像の内容をだいたい把握できるようにする
多分画像とは異なることを言ったりするケースがあるだろうけど、それは面白い範疇なのでよし

APIの無料範囲内で利用できるように、うまく回数をコントロールする

ユーザーのVCへのjoin/leave後の読み上げの順番がおかしい

誰かがVCチャンネルにjoin/leaveすると
・#VCに新たに書き込まれるまで読み上げが一旦止まる
・#VCに新たに書き込まれると「最新の書き込み」を読み上げる
・その後join/leaveメッセージを読んでいる間の書き込みを読み上げ始める
という挙動になっていて、読み上げの順番がおかしくなっている

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.