Giter VIP home page Giter VIP logo

bukkitnicolivealert's People

Contributors

ucchyocean avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bukkitnicolivealert's Issues

特定の放送ツールを使用して枠取りを行うと、通知が2重に発生することがある(on鯖対応)

索子さんの放送をみていると、毎回通知が2個来ている。
特定の放送ツールを使用していると、枠取りが2重に行われているみたいで、通知が2つ来てしまうようだ。
原因は不明・・・
前回通知を実行した放送IDを覚えておき、次の通知が全く同じIDなら、通知を実行しないようにすることで対応する。

CraftBukkit v1.7.x で動作互換性を作成する

現在の実装は、各バージョンを使ってビルドしたクラスファイルを纏めているが、
ビルドに非常に手間がかかっており、またMinecraftのバージョンアップごとにリリースが必要になってしまうため、
そろそろ何らかの手を打ちたい。

具体的には、CraftBukkitのChatSerializerを呼び出していたところを、
Bukkit.dispatchCommand メソッドを使って /tellraw コマンドを直接呼び出して使用することで代替する。
この仕様変更により、/tellraw コマンドがまだ導入されていない Bukkit 1.7.2-R0.1 と Bukkit 1.7.2-R0.2 は動作しなくなるが、もうさすがにええやろ!感があるので、サポートバージョンから捨てる事にする。

ソケット通信が一旦切断した後に、CraftBukkitのstopを実行すると、サーバー停止処理が終了しない

CraftBukkitが停止しなくなるよ!
再現方法:
 1. NicoLiveAlertを入れて、CraftBukkit を起動する。
 2. 何らかの方法で、ソケット通信を強制切断させる。
   例えば、PCをサスペンドしてから、復帰させる。
   ※ネットワークケーブルを抜いた場合などは、input stream の読み取りでExceptionが発生するようなので、問題なく停止できる。
 3. CraftBukkit のコンソールで、stop を実行する。
   NicoLiveAlert のDisable中に、CraftBukkitの停止処理が止まってしまい、そのまま動かなくなる。

/nla list コマンドを追加する

フォーラムにていただいた要望。
http://forum.minecraftuser.jp/viewtopic.php?f=38&t=7768&sid=e57fdafc724637214bcccc7f15845c93&start=40#p280639

/nla list コマンドを追加し、過去のニコ生開始通知履歴を表示できるようにする。

仕様案:

  • /nla コマンドは、今まで管理者権限でのみ実行可能だったが、一般プレイヤーも実行可能に変更する。
    /nla list コマンドを、一般プレイヤー実行可能にする。
  • /nla disconnect、/nla connect、/nla reload には、それぞれ管理者権限チェックを実装して、一般プレイヤーに実行されないようにする。
  • 過去のアラートを表示するために、通知したアラートの履歴を保持する仕組みを新たに作成する。
    新クラス NicoLiveAlertHistoryContainer を作成し、ここで保持するようにする。
    放送の通知が発生するたびに、メモリ上の履歴を更新して、ファイル history.yml に保存する。
    サーバー起動時(onEnable時)に、ファイル history.yml からロードして履歴をオンメモリに復帰する。
  • 放送の履歴は、NicoLiveAlertFoundEvent の内容
    (id、community、user、title、communityName、communityNickname、userNickname)
    に加えて、放送開始時刻(≒NicoLiveAlertFoundEvent発生時刻)を記録する。
    /nla list 実行時に、開始時刻も併せて表示する。
  • /nla list で表示されるアラートの最大件数は、config.yml で設定できるものとする。
    設定項目は notifyAlertNumOnServerJoin alertHistoryCount、デフォルト値は 3 とする。
    また、マイナス値が指定された場合は0とみなし、11以上が指定された場合は10とみなす。
  • /nla list で表示されるアラートで、放送開始時刻から6時間以上経過している履歴は表示しない。
  • プレイヤーログイン時にも、/nla list と同じ内容を表示する。

URLが取得できない

2017-03-25_22 19 36
初期設定のまま表示設定は変えていませんが、URLが表示されません。
$urlが機能していないようです。

titleKeywords設定をconfig.yml に追加する。(FriendlyServer対応)

config.yml に、titleKeyword 設定を追加する。
titleKeywords 設定は、string array とする。
titleKeywords 設定が null(設定なし) または、空行列である場合は、従来どおりの通知を行う。
titleKeywords 設定がある場合は、AlertFoundEvent が発生した際に、titleKeywords に指定された文字列が存在する場合は通知を行い、存在しない場合は通知を行わない。
titleKeywords 設定は、OR 検索とする(いずれかのキーワードが引っかかれば、通知される)。

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.