Tenho pensado sobre isso e li a documentação da API chat.postMessage do Slack, e acredito que posso resumir meu texto extenso em algo muito mais simples.
Apenas watch, e não follow, tem a capacidade de escolher respostas em threads, por meio de um mecanismo que ainda estou tentando determinar. Alternativamente, @david, o que você acha de um novo filtro de regra thread com precedência mute thread watch follow, e encaminhar essa regra até trigger_notification para habilitar comportamentos sensíveis à regra?
-
Se
watchestiver configurado para threads (ou, alternativamente, se uma regrathreadfor definida), ao enviar uma notificação de nova postagem para um canal do Slack, se o tópico da postagem tiver umtsdo Slack associado a ele, poste nessa thread do Slack definindothread_tscom o valor detsfornecido pelo Slack. -
Ao enviar uma notificação de nova postagem para um canal do Slack, e o tópico da postagem não tiver um
tsassociado a ele, armazene otsretornado na resposta para o tópico (para que futuras postagens sobre o tópico possam ser threadadas, casowatchesteja configurado para threads). -
Ao usar o comando
post thread :thread_url, armazene otsda thread no tópico criado, que será utilizado apenas por regraswatchem threads.
Aqui estão meus pensamentos e preocupações atuais:
-
Como determinar se deve postar em threads com base em cada regra. Um novo filtro parece ser a opção mais fácil para mim no momento, mas talvez eu esteja perdendo algo.
-
O fluxo do URL original da postagem no Slack e do ID da thread através do fluxo de transcrição é o que mais me parece opaco atualmente. Parece que realmente preciso adicionar um ID de thread específico por provedor em algum lugar e preservá-lo até salvar a postagem. Eu implementaria isso apenas para o
tsdo Slack, mas presumivelmente não será a única integração de chat com threads. -
Para postagem, acho que preciso armazenar o
tsdo Slack em um campo personalizado específico do Slack no Tópico, e não em um campo de thread genéricoDiscourseChat.