O módulo de reprodução avançado [ 1 ] possibilita aos clientes IRC evitar a reprodução repetitiva indesejada do buffer. Os clientes IRC podem solicitar que o módulo envie uma reprodução parcial do buffer a partir de um determinado ponto do tempo.
Além disso, o mestre ZNC mais recente [ 2 ] tem suporte para buffers de consulta persistente [ 3 ]. Um cliente pode optar por manter os buffers de consulta até que sejam explicitamente fechados na GUI. Isso também pode ser feito mais facilmente através do mesmo módulo de reprodução para evitar respostas indesejadas do ZNC [ 4 ].
Junto com o plugin mymsg [ 5 ], esses dois recursos trazem a experiência IRC com ZNC em um nível totalmente diferente.
EDIT: Removidas referências à implementação de exemplo rápida e suja que não existe mais. A bifurcação onde estava armazenado não existe mais.
[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. Por favor, considere tornar o cliente capaz de receber mensagens de si mesmo sem um plugin mymsg adicional.
Quase diria que isso pertence a um plugin. Parece bastante simples, mas é muito mais específico do ZNC do que do tempo do servidor.
@jpnurmi Mind conferindo https://github.com/hexchat/hexchat/tree/znc
EDIT: Depois de pensar sobre isso, acho que o plugin deve apenas armazenar um único carimbo de data / hora por servidor. Não há razão para manter um por contexto com o uso atual.
Parece promissor! Eu tenho brincado com isso e percebi que algo dá errado com os carimbos de data / hora, no entanto. Freqüentemente, repete as mensagens do canal que já vi. Parece que se eu desconectar imediatamente e reconectar, obtenho a mesma reprodução novamente.
Eu também percebi que não poderia ser nada no plugin. Você notou problemas semelhantes em seu branch WIP?
Parece funcionar com wip / playback. Alguns pensamentos aleatórios que podem ajudar a resolver o problema:
um carimbo de data / hora por conexão é suficiente
Já fiz isso localmente, o problema ainda existe.
Parece que se eu desconectar imediatamente e reconectar, obtenho a mesma reprodução novamente.
Eu também percebi que não poderia ser nada no plugin.
Tive uma curta desconexão e reconexão com o ZNC e ele me enviou uma mensagem em um canal que aconteceu durante o período de desconexão (confirmado de outro cliente). Isso era _sem_ suporte de reprodução. Talvez ele tente enviar novamente da conexão interrompida para a nova. Portanto, se o HC tivesse solicitado suporte de reprodução, provavelmente teria recebido essa mensagem duas vezes.
Alguma notícia sobre o progresso disso?
@jpnurmi , 404 em seus links. :choro:
Tentei novamente um plugin que parece funcionar melhor: https://github.com/TingPing/plugins/blob/master/HexChat/playback.lua
Tive uma curta desconexão e reconexão com o ZNC e ele me enviou uma mensagem em um canal que aconteceu durante o período de desconexão (confirmado de outro cliente). Isso era sem suporte de reprodução. Talvez ele tente enviar novamente da conexão interrompida para a nova. Portanto, se o HC tivesse solicitado suporte de reprodução, provavelmente teria recebido essa mensagem duas vezes.
não é apenas um buffer ZNC padrão, nada a ver com o módulo [[playback]] para znc.
@TingPing seu playback.lua
mais recente funcionou bem para mim, embora eu ainda observe mensagens repetidas que já vi também. Obrigado, embora isso seja melhor do que nada :)
@TingPing seu script playback.lua mais recente funcionou bem para mim, embora eu ainda observe mensagens repetidas que já vi também. Obrigado, embora isso seja melhor do que nada :)
Observe que o script não salva carimbos de data / hora no disco propositalmente.
Comentários muito úteis
Alguma notícia sobre o progresso disso?