discord-bot icon indicating copy to clipboard operation
discord-bot copied to clipboard

Desacoplar comandos e mensagens do commandUseCaseResolver

Open caioluis opened this issue 2 years ago • 1 comments

Contexto

Depois de uma alteração que fiz ao comando !ja, notei que as mensagens dos comandos estão todas acopladas ao resolver que lê os comandos. Para facilitar a manutenção, revisão do código e rapidez de aprovação de mudanças, sugiro que os comandos e suas respectivas mensagens sejam desacoplados do resto da lógica. Talvez podíamos fazer uma estrutura em formato json.

Acho que pode ser um bom first issue para alguém, mas se ninguém fizer, eu abro um PR e proponho mudanças.

caioluis avatar Feb 17 '23 14:02 caioluis

Parece-me uma boa ideia, mas que depende sempre de algum contexto específico que é um pouco o que o commandUseCaseResolver tenta transparecer.

Uma coisa que se poderia fazer talvez é, permitir que o commandUseCaseResolver, lê-se por ex. um ficheiro com uma estrutura de dados JSON como sugeriste e verifica-se se existia um match de um dos comandos que simplesmente envia uma mensagem (p.ex. o !ja ou o !oc).

Se sim, pegava na mensagem associada ao comando e chamava o SendMessageToChannelUseCase.

new SendMessageToChannelUseCase(deps).execute({
      channelId: context.channelId,
      message: ":warning: Este servidor é APENAS para questões relacionadas com programação! :warning:", // replace with message from JSON
}),

O que achas?

Se quiseres, fica à vontade para enviares um PR com isso :+1:

IvoPereira avatar Feb 21 '23 10:02 IvoPereira

@IvoPereira tb não me importo de fazer isto, é para aprender .ts 😎

diomonogatari avatar Oct 17 '24 12:10 diomonogatari