Criando bot no discourse

Existe uma maneira de criar um bot no Discourse que responda aos meus comandos, de forma semelhante a como construí muitos dos meus bots do Discord?

Basicamente, sei que existem vários plugins que posso instalar, mas na minha opinião, seria muito mais fácil para mim manter se eu pudesse ter um bot que pudesse ouvir o texto em um comentário em vez de tentar instalar plugins que são propensos a causar problemas e especialmente se o mantenedor decidir que não quer mais manter o plugin.

1 curtida

Você vai precisar de um plugin.

Dê uma olhada no meu plugin Frotz como exemplo/ponto de partida

Plugins apenas de API como este tendem a ser mais estáveis ao longo do tempo, então não se preocupe com instabilidade. Todo código requer manutenção em qualquer caso. Fiz alterações mínimas no Frotz-bot ao longo do tempo.

Dê uma olhada no meu plugin de bot do Discord para ver como você pode escrever código contra eventos como novas postagens:

Suas necessidades podem ser atendidas por:

Se você quiser mais controle sobre o destino do código, mantenha um fork/repositório você mesmo.

6 curtidas

Se você realmente quiser que seja totalmente separado, você pode usar uma combinação de webhooks para entregar eventos ao seu bot e a API de requisições HTTP para que seu bot faça alterações no Discourse.

Docs da API do Discourse

Como @merefield alude, é possível criar plugins que não substituem a funcionalidade principal, sendo notificados para eventos e interagindo com as APIs principais, que são mais fáceis de manter e menos propensos a ter efeitos colaterais indesejados.

Seguir a rota de webhooks/API também requer a configuração de uma stack para executar seu bot e garantir que ele esteja sempre disponível enquanto o Discourse estiver disponível, ambos os quais vêm gratuitamente com um plugin carregado no Discourse.

Escrever um plugin exigiria aprender Ruby e obter alguma familiaridade com as classes do Discourse, mas se você já é capaz de escrever e manter um bot em outra linguagem, tenho certeza de que você poderia aprender o necessário rapidamente.

3 curtidas

Ah sim, isso também, bom ponto Simon!

Obrigado a todos pelas sugestões — com certeza darei uma olhada em todas elas. :smiley:

isso pode ser feito na postagem/comentário,
é possível ter um bot em um chat em grupo?
Eu vejo que há um webhook de entrada que pode entregar mensagens para um chat em grupo,
mas parece que não há como ter uma conta de bot que ouça as mensagens do chat e, em seguida, faça algo de acordo…?

Sim, por exemplo:

suporta chat em grupo (assim como Tópicos, Mensagens Privadas…)

(Este é um bot puramente de IA sem comandos (a interface é 100% linguagem natural, então isso não é necessário), mas a estrutura seria a mesma)

1 curtida

obrigado @merefield

com um plugin, ele poderia adicionar um manipulador/ouvinte de eventos para mensagens de chat em grupo.
Eu tenho um servidor de endpoint REST que lida com os eventos de webhook, o que funciona bem para adicionar um bot à postagem/comentário.
mas, infelizmente, não há eventos disparados para mensagens de chat em grupo, não funciona dessa maneira… :frowning: