Furia Compendium é um chatbot que integra APIs do OpenAI, Discord e Telegram para fornecer informações especializadas sobre o time de E-Sports FURIA. Desenvolvido como parte do desafio para a vaga de Assistente de Engenharia de Software da FURIA.
- Texto gerado por IA pode nem sempre estar correto, em caso de dúvidas, consulte em outras fontes.
- O Discord pode ser mais efetivo para converas continuas por conta de limitações na API do Telegram.
- Respostas Inteligentes: usa o poder da API da OpenAI para gerar respostas precisas e naturais.
- Multiplataforma: roda simultaneamente em Discord e Telegram.
- Configuração Flexível: personalização via
config.yamlno mesmo diretório do.jar.
- Java 21
- Gradle (para build, opcional se já tiver o JAR)
- Contas e tokens válidos para:
-
Clone este repositório :
git clone https://github.com/seu-usuario/furia-compendium.git cd furia-compendium -
Compile o projeto:
- Gradle
./gradlew clean jar
- Gradle
-
Após o build, o arquivo
furia-challenge-0.0.2-SNAPSHOT-all.jarficará embuild/libs/.
Ao iniciar, o bot gera um arquivo config.yaml no mesmo diretório do .jar. Edite este arquivo para inserir seus tokens e ajustar comportamentos:
discord:
token: "TOKEN_HERE" # Same as setting DISCORD_TOKEN env variable
status:
text: "FURIA Compendium chatbot"
activity: "WATCHING" # "PLAYING", "LISTENING", "WATCHING", "COMPETING"
telegram:
token: "TOKEN_HERE" # Same as setting TELEGRAM_TOKEN env variable
openai:
token: "TOKEN_HERE" # Same as setting OPENAI_TOKEN env variable
model: "gpt-4o-search-preview" # It's advised to use a model that supports search
systemMessage: |
Você é um assistente especializado no time de E-Sports FURIA.
Só pode responder perguntas relacionadas à FURIA: jogadores, partidas, campeonatos, jogos... tudo que envolva a equipe.
Qualquer outra pergunta deve ser recusada com educação. Use um tom informal e amigável. Seja direto, mas simpático.
Você está atendendo o ${user}, não ultrapassar 1024 caracteres.
maxCharacters: 1024
chatbotText:
tooManyCharacters: "O texto é muito longo. Tente resumir ou dividi-lo em partes menores."
tooManyRequests: "Estou com dificuldades para responder. Tente novamente mais tarde."
genericError: "Upss! Ocorreu um erro. Tente novamente mais tarde."
startMessage: |
Faala Furioso! Eu sou o assistente da FURIA!!! 🐾
Eu posso te ajudar com informações sobre o time como jogadores, partidas, até mesmo onde assistir, ou te dizer onde comprar uma camiseta!
É só me contar o que precisa!- discord.token / telegram.token / openai.token: substitua
CHANGE_MEpelos seus tokens. - openai.systemMessage: prompt de sistema que guia o comportamento do bot.
- chatbotText: mensagens de erro customizáveis.
No diretório onde está o furia-challenge-0.0.2-SNAPSHOT-all.jar, rode:
java -jar furia-challenge-0.0.4-SNAPSHOT-all.jarNa primeira execução, o bot criará o arquivo config.yaml com as configurações padrão. Edite-o conforme necessário e inicie de novo.
O bot irá conectar simultaneamente ao Discord e Telegram e ficará aguardando comandos e mensagens.
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.