Hexchat: ZNC再生モジュールのサポートを追加

作成日 2014年08月24日  ·  13コメント  ·  ソース: hexchat/hexchat

高度な再生モジュール[ 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プラグインなしで、クライアントが自分自身からメッセージを受信できるようにすることを検討してください。

bounty enhancement

最も参考になるコメント

これの進捗状況に関するニュースはありますか?

全てのコメント13件

これはプラグインに属していると言っても過言ではありません。 かなり単純に見えますが、サーバー時間よりもはるかにZNC固有です。

@jpnurmiマインドチェックアウトhttps://github.com/hexchat/hexchat/tree/znc

編集:それについて考えた後、プラグインはサーバーごとに1つのタイムスタンプを保存する必要があると思います。 現在の使用状況でコンテキストごとに1つ保持する理由はありません。

有望に見えます! 私はそれをいじってみましたが、タイムスタンプに問題があることに気づきました。 私がすでに見たチャンネルメッセージを再生することがよくあります。 すぐに切断してから再接続すると、同じ再生が再び行われるように見えます。

私も気づきましたが、プラグインには何も含まれていませんでした。 WIPブランチでも同様の問題に気づきましたか?

wip / playbackで動作するようです。 問題の解決に役立つかもしれないいくつかのランダムな考え:

  • 接続ごとに1つのタイムスタンプで十分です
  • 再生モジュールは、キャップメッセージを除くすべてにサーバー時間を追加します
  • privmsgだけでなく、表示されたメッセージの最後のタイムスタンプを保存する必要があります
  • 最初の再生コマンドを送信する前に001のタイムスタンプを取得しないように注意してください。取得しないと、再生されません:)

接続ごとに1つのタイムスタンプで十分です

すでにローカルでそれを行いましたが、問題はまだ存在します。

すぐに切断してから再接続すると、同じ再生が再び行われるように見えます。

私も気づきましたが、プラグインには何も含まれていませんでした。

短い切断とZNCとの再接続があり、切断期間中に発生したチャネルでメッセージが送信されました(別のクライアントから確認されました)。 これは再生サポートなしでした。 おそらく、壊れた接続から新しい接続への未確認の送信を再試行します。 したがって、HCが再生サポートを要求した場合、おそらくそのメッセージが2回表示されたはずです。

これの進捗状況に関するニュースはありますか?

@jpnurmi 、あなたのリンクの404。 :泣く:

うまく機能していると思われるプラグインで別のショットを撮りました: https

短い切断とZNCとの再接続があり、切断期間中に発生したチャネルでメッセージが送信されました(別のクライアントから確認されました)。 これは再生サポートなしでした。 おそらく、壊れた接続から新しい接続への未確認の送信を再試行します。 したがって、HCが再生サポートを要求した場合、おそらくそのメッセージが2回表示されたはずです。

ただし、これは単なる標準のZNCバッファーではなく、zncの[[playback]]モジュールとは関係ありません。

@TingPingの最新のplayback.luaスクリプトは問題なく機能しましたが、すでに見たメッセージの再生もまだ観察しています。 これは何もないよりはましですがありがとう:)

@TingPingの最新のplayback.luaスクリプトは問題なく機能しましたが、すでに見たメッセージの再生もまだ観察しています。 これは何もないよりはましですがありがとう:)

スクリプトは意図的にタイムスタンプをディスクに保存しないことに注意してください。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

blasphemy picture blasphemy  ·  13コメント

xnite picture xnite  ·  7コメント

Davidj361 picture Davidj361  ·  9コメント

petterreinholdtsen picture petterreinholdtsen  ·  8コメント

ghost picture ghost  ·  13コメント