Adoro que você esteja abordando essa questão tão atual. Mas sinto que ainda há uma falta de fluxos de trabalho adequados, melhores práticas e, idealmente, ferramentas para tornar o trabalho com esses dois produtos separados mais eficiente, agradável e fluido. Isso é verdade apesar de um post de blog muito similar (embora mais amplo) de 3 anos atrás, que gerou uma pequena discussão (e alguns pedidos semelhantes aos que vou elaborar a seguir).
Vou lançar alguns exemplos do que idealmente gostaria de poder fazer para harmonizar, por exemplo, Discord e Discourse, reconhecendo que nada disso pode ser realmente possível devido a limitações das APIs do Discord ou do Discourse, ou por outros motivos. Mas acho que vale a pena pensar e falar mais sobre isso e entrar em detalhes, porque a sincronização entre síncrono e assíncrono é um problema presente para muitas comunidades, e ainda não existem soluções ideais.
O primeiro e maior seria simplesmente alguma ferramenta (aparentemente) simples para facilitar a movimentação entre um sistema e o outro. Poder linkar uma #categoria do Discourse no Discord assim, sem mais nem menos, e da mesma forma com um canal do Discord no Discourse, para que eu não precise copiar um link em um ou no outro. Melhor ainda: busca de tópicos incorporada no Discord para que eu possa encontrar e postar um link sem sair do Discord. Também poder gerar um convite para um a partir do outro imediatamente, apenas com um atalho de teclado ou algo assim, em qualquer um dos sistemas.
Novo usuário: Como faço X? Usuário prestativo: Boa pergunta. Por favor, reposte isso no nosso fórum público para que qualquer resposta que você receba possa ser pesquisada e lida por qualquer outra pessoa que possa estar fazendo a mesma pergunta.
Essa é uma boa política para lidar com parte do problema, mas, do ponto de vista da experiência do usuário (UX), não é ideal para o usuário. Em vez disso, eu adoraria poder clicar na mensagem dele no Discord e, com um único comando, gerar um link de convite para o fórum, enviando-o à categoria correta e, idealmente, até iniciar a ação “Novo Tópico” depois que ele se cadastrar. E pontos extras por copiar o conteúdo real da mensagem dele do Discord para o tópico no Discourse.
Talvez também haja um viés automático para a integração de login do Discord, por exemplo: o usuário clica no link no Discord, uma nova janela do navegador se abre no fórum, com um pop-up dizendo “Você foi convidado a se juntar à comunidade Discourse X! Clique em ‘Entrar’ para fazer login com sua conta do Discord ou escolha uma opção de login alternativa à direita.” Depois que ele se cadastrar, talvez ele seja levado para um novo tópico.
A sugestão de “esperar até que as conversas terminem e então gerar um resumo” também poderia realmente precisar de ajuda das ferramentas. Vejo que vocês têm uma ferramenta para Slack que faz parte do trabalho semi-automaticamente, o que é ótimo. Não a usei, então não sei como ela lida com coisas como nomes de usuário, que idealmente se conectariam a qualquer nome de usuário existente no Discourse, mas, mais importante, seria ótimo ter essa capacidade para o Discord. Vejo naquele post de blog anterior um convite à colaboração de outros aplicativos de chat, mas estou supondo que isso não aconteceu. O que seria necessário para incentivar isso suficientemente? Poderia ser feito ainda mais poderoso, operando sobre uma seleção em vez de “últimas 20 mensagens”? E, se isso já não faz parte da versão do Slack, gerar automaticamente um link de volta para o chat na postagem do fórum também seria legal.
Estou apenas soltando ideias aqui, mas acho que pelo menos parte disso ajudaria muito.
Pessoalmente, a longo prazo, estou realmente esperando que surja uma única ferramenta que combine melhor ambas as abordagens, síncrona e assíncrona. Sei que houve discussões recentes sobre tópicos de alto volume no Discourse talvez poderem se transformar em chats, talvez com alguma efemeridade. Estou esperando que todo esse conceito receba uma consideração muito profunda e uma abordagem de “céu azul” para fornecer o melhor conjunto de ferramentas para que as comunidades realmente integrem os valores de ambas as abordagens.
Para mim, isso seria idealmente realizado dentro do Discourse. Talvez alguém pudesse criar um chat em qualquer lugar, conectado a um tópico existente ou não (chat no nível de categoria seria legal). Poderia funcionar um pouco como threads no Slack, de modo que ele “ramifica” de algum lugar, ou seja, você está lendo um tópico e chega a uma “resposta” que é, na verdade, um resumo visual de um chat em tempo real que aconteceu, “Chat gerou 243 mensagens em 31/05/21 com os usuários x, y, z [avatars]” ou algo assim. Uma modificação da barra de resumo de tópico existente, específica para chat, com estilo para diferenciá-la, e clique para abrir a janela do chat para revisá-la, ou expandir na linha ou algo assim.
Os chats poderiam ser arquivados automaticamente ou até mesmo excluídos, se desejado. Mas, idealmente, ferramentas seriam fornecidas para resumir um chat de volta ao tópico, talvez usando funções familiares de edição de mensagens do Discourse (seleção múltipla, etc.). Moderadores poderiam fazer isso, ou usuários poderiam selecionar uma ou mais mensagens próprias para contribuir de volta ao tópico, se desejado. Se não fizerem isso após um determinado período de tempo, tudo é arquivado (opcionalmente?). Para chats baseados em categoria, também seria possível “promover” uma mensagem de chat para um tópico.
De qualquer forma, há um milhão de ideias possíveis. Mas isso parece ser uma grande área de potencial valor se puder ser feito corretamente dentro do Discourse. Reduzir a tensão entre, por exemplo, Discord e Discourse, e a “rigidez” da abordagem do Discourse, mantendo os benefícios de ambos, e acho que seria uma grande vitória. Mais fácil dizer do que fazer, mas com certeza um desafio digno!
Edição: também sei que houve uma tonelada de discussões variadas sobre assuntos semelhantes no passado, por exemplo:
etc.
O Babble é legal, embora não pareça tão bem suportado. Mais importante, ele não resolve a maioria dos problemas de que estou falando acima, embora pelo menos integre tudo em um só lugar, o que facilita a movimentação entre modos de interação…
Edição 2: Também, também, provavelmente deveria haver categorias/canais apenas para chat. Mas, novamente, com a possibilidade de “promover” uma mensagem (ou série de mensagens?) para um tópico. E agora me pergunto se não deveria ter postado isso como um novo tópico em algum lugar. Bom, que seja.
Ótimo, obrigado. Definitivamente espero uma integração mais profunda e sofisticada, que pode estar fora do escopo do que você desenvolveu. Mas, de qualquer forma, é um ótimo plugin para ter no momento.
Aliás, de forma mais geral, descobri posteriormente esta postagem anterior do Sam, que mostra que isso tem estado na mente da equipe do Discourse há bastante tempo! Há ótimos detalhes sobre o raciocínio dele nesse tópico; aqui está apenas uma parte:
Escrevi um plugin que resolve esse problema em certa medida. Pelo menos no que diz respeito às permissões: Aqui está uma introdução de como funciona: https://www.youtube.com/watch?v=C5paAvTYty4
Ele conecta os sistemas de permissão de ambas as plataformas.
Acho que uma boa ideia seria pegar isso e inverter a lógica. Em vez de direcionar pessoas do Discord para o Discourse, poderíamos tratar as conversas que ocorrem no Discord como um ativo. É um enorme tesouro de conteúdo que pode ser usado para criar automaticamente tópicos no Discourse.
Quando escrevi o plugin para sincronizar cargos do Discord com grupos do Discourse, percebi o quão poderosa é a API do Discord. Podemos reagir a qualquer evento que ocorra no servidor do Discord. Então, por exemplo, poderíamos criar tópicos no Discourse sempre que alguém usar um ponto de interrogação. Acho que perguntas e suas respostas são provavelmente o fruto mais acessível e valioso do lado do Discord que poderíamos colher e colocar na cesta de frutos do Discourse. Isso também ampliaria o funil para a comunidade, pois, de repente, as partes mais valiosas das conversas do Discord se tornariam acessíveis pela web normal. As conversas do Discord não são indexadas por mecanismos de busca no momento, então isso poderia abrir uma grande oportunidade.
Claro! Na verdade, já destaquei algumas dessas ideias acima. Por exemplo:
Mas, para tentar descrever de forma geral (e lembrando que sei que parte disso pode ser impossível ou mais difícil do que vale a pena, esta é a visão idealizada):
Habilidade para Administradores, Moderadores ou qualquer pessoa (dependendo das configurações de permissão) criar instantaneamente Tópicos no Discourse a partir de uma (ou mais) mensagens no Discord com uma interface super simples, por exemplo, clique com o botão direito.
Interface para selecionar Categoria e tags (opcionalmente) para o novo Tópico
A seleção múltipla poderia ser usada para identificar várias mensagens a incluir
Uma versão básica poderia simplesmente criar um Tópico a partir de um usuário do Sistema ou outro usuário não pessoal do Discourse, com o conteúdo de 1 ou mais mensagens do Discord como uma única mensagem iniciando um novo tópico
Uma versão avançada idealmente corresponderia usuários do Discord aos do Discourse e criaria um Tópico a partir da primeira mensagem selecionada, atribuindo-o ao usuário correspondente correto, com as outras mensagens selecionadas como respostas, novamente corretamente atribuídas
Em ambos os casos, uma mensagem seria postada no Discord como: “Uma conversa aqui acabou de ser transformada em um tópico do Discourse. Vá até lá para continuar a discussão se quiser! [link].”
Role para baixo nesta página até “Encadeamento Retroativo” para um bom exemplo (tanto no conceito quanto na interface) do que tenho em mente: https://quill.chat/
Metas esticadas:
Outra funcionalidade legal seria notificar o(s) usuário(s) cuja(s) mensagem(s) estão sendo transformadas em um tópico do Discourse dentro do Discord, com um link para o novo tópico
Permitir que o(s) usuário(s) cujas mensagens foram selecionadas para criação de tópico neguem/se recusem também seria bom ter
Opção para automaticamente convidar os autores das mensagens selecionadas para o Discourse se eles ainda não tiverem uma conta (ou se uma não puder ser encontrada que corresponda, o que poderia ser resolvido no cadastro se eles tiverem uma conta, apenas com um e-mail diferente, etc.)
Integração com o comportamento de sugestão de threads existente (recém-adicionado) do Discord, onde diz (quando as pessoas respondem a uma mensagem anterior) “Quer facilitar o acompanhamento desta conversação de X respostas? Inicie uma [thread]”, adicionando outra opção, por exemplo, “Inicie uma [thread] ou um novo [tópico] no nosso fórum.”
Detecção de mensagens longas sendo compostas no Discord e, em seguida, oferecendo a sugestão, por exemplo: “Parece que você está escrevendo uma mensagem de bate-papo muito longa. Deseja [iniciar um tópico no fórum] em vez disso?”
Visualizações de tópicos em linha, expansíveis (pop-up, com rolagem?) para tópicos vinculados a uma mensagem/thread do Discord, ou seja, mostra uma prévia normal do tipo “onebox”, mas você pode clicar para ver mais da conversa real de alguma forma, como em um pop-up com rolagem
O objetivo geral é tornar mais fácil, se não transparente, para as pessoas iniciarem novos tópicos a partir de conversas existentes no Discord e continuarem suas conversas mais aprofundadas em uma plataforma onde faz mais sentido. E, idealmente, também fornecer dicas contextuais, mas não intrusivas (assim como o Discord já faz) quando as pessoas podem querer continuar uma conversa nos fóruns em vez de no Discord. Não pretendo que parte disso não seja um pouco trabalhosa ou estranha, mas acredito que seria uma melhoria em relação ao que temos.
Resta ver como o chat integrado ao próprio Discourse ficará, bem como o quanto será adotado, por exemplo, para comunidades que desejam ter um componente em tempo real ativo, além do fórum, versus aquelas que, por exemplo, começaram no Discord ou já possuem uma comunidade forte tanto no Discord quanto no fórum. A integração será suficiente para levar novos desenvolvedores de comunidade a apenas usar o Discourse para funções em tempo real e de fórum? Veremos. Mas a utilidade de grande parte do que propus acima pode depender muito desse resultado.
Não sou programador, mas penso frequentemente em financiar coisas. O problema é que tenho inúmeros itens que gostaria de ver adicionados/melhorados no Discourse e, certamente, não tenho dinheiro suficiente para financiar todos eles. Então, priorizo… Os recursos de integração com o Discord são mais algo de interesse para meus clientes de consultoria, então espero que um dia eu possa convencer um deles a financiar alguma expansão nessa área.
Sim, de fato me deparei com isso em algum momento, não tenho certeza se antes ou depois da minha postagem acima. É útil, então obrigado por isso. Ele cobre apenas parte do “problema”, mas é definitivamente parte de uma possível solução.
Concordo com você na maior parte, mas sou cauteloso quanto a postagens/repostagens automáticas. Cauteloso, mas interessado nas possibilidades, certamente. Se pudesse ser baseado em regras, como você descreve, poderia ser mais útil.
Isso é muito interessante! Não estou familiarizado com a API do Discord, então não sei o que é possível, mas o que você descreve parece permitir algumas soluções úteis. Algo baseado em regras, como mencionei acima, seria uma boa opção a ter.
No entanto, ainda acho que ferramentas poderosas para moderadores/administradores “curarem” manualmente o conteúdo do Discord podem ser a coisa mais importante ou útil. Certamente é o que temos menos capacidade de fazer agora, porque o Integromat (por exemplo) já pode essencialmente fazer o que você está descrevendo, observando tópicos do Discord que são postados, pesquisando por texto específico (por exemplo, ?), ou até reações específicas (por exemplo, uma reação com emoji restrita a moderadores/administradores que dispara via Integromat para postar apenas esses tópicos no Discourse) e, em seguida, criar um tópico no Discourse a partir disso. Então, embora fosse bom ter essa funcionalidade em um plugin/integração nativa, parece menos emocionante como área de foco para mim do que o que descrevi acima.
Não tenho certeza se entendi corretamente: você quer dizer que o clique com o botão direito deve ocorrer no Discord ou na interface do Discourse?
Eu também acho que isso deveria ser curado. Mas o problema é que não podemos adicionar recursos à interface do Discord. Isso está fora do nosso controle. Então, precisaríamos usar a API do Discord para importar todas as mensagens do Discord para o Discourse. E aí poderíamos ter uma espécie de “hub de análises do Discord” no Painel de Administração/Moderador do Discourse, que permitisse navegar pelas mensagens do Discord, analisá-las e criar automaticamente tópicos a partir delas. Talvez também pudesse haver uma notificação para um moderador sempre que alguém usar um ponto de interrogação ou outro símbolo no Discord. A notificação levaria o moderador a uma página onde ele poderia transformar a pergunta e as respostas em um tópico do Discourse imediatamente ou descartar a notificação.
Sim, o Discord não é de código aberto e acredito que modificar o cliente oficial vá contra seus termos de serviço.
(Vamos apreciar por um momento a diferença refrescante na forma como o Discourse é gerenciado e disponibilizado para modificação!)
Você poderia criar ou modificar um cliente alternativo, mas isso seria um grande esforço para acompanhar os recursos do cliente oficial (ao mesmo tempo em que adiciona mais!). Não estou tão atualizado sobre clientes alternativos, mas se você puder sugerir um que seja bem mantido e tenha um sistema de plugins…
Então, logo de cara, eu diria que modificações de UI no lado do Discord serão mais complicadas.
No entanto, estou prestes a lançar uma nova alteração no plugin Discord Bot que permite copiar as últimas x mensagens do Discord para um novo Tópico no Discourse.
Isso é feito por meio de um comando de “bot”, em vez de um clique no menu.
Ele respeita e corresponde às contas de usuários e permite que você especifique o título do Tópico de destino ou a Categoria.
Nesta versão, há também um recurso para copiar automaticamente o chat do Discord para o Discourse se os nomes do canal e da Categoria coincidirem.
Já existe a capacidade de postar novos Tópicos em um Canal de Anúncios.
Sim, eu não sabia disso, mas suspeitava. Isso faz parte do motivo pelo qual não apresentei tudo isso antes. Dito isso, parece que @merefield conseguiu realizar bastante com essa atualização recente! Então isso é bastante animador.
Essa é uma ideia interessante, mas parece ser uma solução um pouco “pesada”… (admito que a minha também é pesada em seus próprios aspectos, e a sua, pelo menos, é viável no sentido de que o Discourse é de código aberto, enquanto o Discord não é).
Eu concordo plenamente!
Infelizmente, clientes de terceiros parecem estar contra os Termos de Serviço do Discord, e os únicos que vi estão ou abandonados, ou de código fechado (e provavelmente serão banidos em algum momento de qualquer forma). O Matrix tem uma ponte para o Discord, mas é só isso.
Sim, faz sentido. O que descrevi era meu caso ideal, mas eu imaginava que provavelmente não seria viável.
Nossa, eu não esperava por isso. Fantástico! Embora possa não ser tão conveniente ou personalizável quanto eu imaginei, parece que isso pode realmente cumprir a maioria dos objetivos básicos que eu tinha em mente para melhorias. Fico muito feliz em saber que isso também pareceu útil o suficiente para outras pessoas, o que motivou seu trabalho nisso. Obrigado!
Quando você diz que ele corresponde às contas de usuários, isso cria um único Tópico com a mensagem mais antiga do Discord no conjunto como a primeira mensagem, e o restante como respostas?
Hmm, interessante. Então, ele transforma cada mensagem em um novo tópico, ou o quê? Se não, como ele determina o que é um iniciador de Tópico e o que são respostas?
Obrigado novamente por trabalhar nisso. Estou animado para testar as atualizações quando estiverem disponíveis.
Ao dizer que as contas correspondem, quero dizer que, se a pessoa fizer login usando suas credenciais do Discord, de modo que exista um login associado, a mensagem no Discord será atribuída corretamente e acompanhada do Avatar correto no Discourse.
Não, isso seria desperdício, eu acho; ele tem como alvo um único Tópico na Categoria.
Sim, entendi isso. O que eu estava querendo saber é: você usa “contas” no plural, e a modificação importa as “últimas x mensagens”. E se essas mensagens forem de 5 pessoas diferentes? Nesse caso, seria criado um único tópico com 5 mensagens separadas (como respostas), cada uma atribuída a uma conta correspondente no Discourse (se disponível)?
Concordo. Eu já imaginava que não funcionava assim, mas não tenho certeza sobre os detalhes de como funciona. Dito isso, acho que faz sentido eu esperar até que você o lance e, se eu tiver alguma dúvida restante na época, aí sim posso perguntar. Obrigado novamente!