高度な再生モジュール[ 1 ]により、IRCクライアントは望ましくない繰り返しのバッファ再生を回避できます。 IRCクライアントは、特定の時点から開始する部分的なバッファ再生を送信するようにモジュールに要求する場合があります。
さらに、最新のZNCマスター[ 2 ]は、永続クエリバッファー[ 3 ]をサポートしています。 クライアントは、GUIで明示的に閉じられるまでクエリバッファを保持することを選択できます。 これは、同じ再生モジュールを介して行うのが最も簡単で、ZNCからの望ましくない応答を回避することもできます[ 4 ]。
mymsgプラグイン[ 5 ]とともに、これら2つの機能は、まったく異なるレベルでZNCを使用したIRCエクスペリエンスをもたらします。
編集:もはや存在しない迅速で汚い実装例への参照を削除しました。 それが保存されていたフォークはもう存在しません。
[1] http://wiki.znc.in/Playback
[2] https://github.com/znc/znc/pull/598
[3] http://wiki.znc.in/Query_buffers
[4] https://github.com/znc/znc/pull/620
[5] https://github.com/TingPing/plugins/blob/master/HexChat/mymsg.py
PS。 追加のmymsgプラグインなしで、クライアントが自分自身からメッセージを受信できるようにすることを検討してください。
これはプラグインに属していると言っても過言ではありません。 かなり単純に見えますが、サーバー時間よりもはるかにZNC固有です。
@jpnurmiマインドチェックアウトhttps://github.com/hexchat/hexchat/tree/znc
編集:それについて考えた後、プラグインはサーバーごとに1つのタイムスタンプを保存する必要があると思います。 現在の使用状況でコンテキストごとに1つ保持する理由はありません。
有望に見えます! 私はそれをいじってみましたが、タイムスタンプに問題があることに気づきました。 私がすでに見たチャンネルメッセージを再生することがよくあります。 すぐに切断してから再接続すると、同じ再生が再び行われるように見えます。
私も気づきましたが、プラグインには何も含まれていませんでした。 WIPブランチでも同様の問題に気づきましたか?
wip / playbackで動作するようです。 問題の解決に役立つかもしれないいくつかのランダムな考え:
接続ごとに1つのタイムスタンプで十分です
すでにローカルでそれを行いましたが、問題はまだ存在します。
すぐに切断してから再接続すると、同じ再生が再び行われるように見えます。
私も気づきましたが、プラグインには何も含まれていませんでした。
短い切断とZNCとの再接続があり、切断期間中に発生したチャネルでメッセージが送信されました(別のクライアントから確認されました)。 これは再生サポートなしでした。 おそらく、壊れた接続から新しい接続への未確認の送信を再試行します。 したがって、HCが再生サポートを要求した場合、おそらくそのメッセージが2回表示されたはずです。
これの進捗状況に関するニュースはありますか?
@jpnurmi 、あなたのリンクの404。 :泣く:
うまく機能していると思われるプラグインで別のショットを撮りました: https :
短い切断とZNCとの再接続があり、切断期間中に発生したチャネルでメッセージが送信されました(別のクライアントから確認されました)。 これは再生サポートなしでした。 おそらく、壊れた接続から新しい接続への未確認の送信を再試行します。 したがって、HCが再生サポートを要求した場合、おそらくそのメッセージが2回表示されたはずです。
ただし、これは単なる標準のZNCバッファーではなく、zncの[[playback]]モジュールとは関係ありません。
@TingPingの最新のplayback.lua
スクリプトは問題なく機能しましたが、すでに見たメッセージの再生もまだ観察しています。 これは何もないよりはましですがありがとう:)
@TingPingの最新のplayback.luaスクリプトは問題なく機能しましたが、すでに見たメッセージの再生もまだ観察しています。 これは何もないよりはましですがありがとう:)
スクリプトは意図的にタイムスタンプをディスクに保存しないことに注意してください。
最も参考になるコメント
これの進捗状況に関するニュースはありますか?