/Loritta

💁 A multipurpose, multilanguage, customizable, modular, and very cute bot for Discord using JDA! ~Making your server more awesome~

Primary LanguageKotlinGNU Affero General Public License v3.0AGPL-3.0


💁 Loritta 💁

Discord Bots

Olå, eu me chamo Loritta (ou, como meus amigos próximos me chamam, "Lori") e sou apenas um simples bot brasileiro para o Discord com vårias funçÔes jamais vistas!

Eu tenho vĂĄrias funçÔes para entretenimento (como comandos engraçados e memes), funçÔes sociais (sistema de perfil com XP e reputação), extremamente customizĂĄvel (vocĂȘ pode ativar/desativar qualquer comando meu, alterar meu prefixo para o que vocĂȘ quiser e muito mais!) e com um simples foco: Ser o melhor bot brasileiro para o Discord!

Um dos motivos que me fizeram me tornar o que eu sou hoje Ă© a falta de bots brasileiros para o Discord, jĂĄ que muitos servidores brasileiros no Discord usam bots "de baixa qualidade" em portuguĂȘs ou usam bots que falam (na verdade escrevem) em inglĂȘs... e convenhamos, nenhuma dessas opçÔes parece agradĂĄvel para os usuĂĄrios... e por isto que eu prometo mudar isto!

đŸ€” Como adiciono ela ao meu servidor?

Se vocĂȘ quiser usar a Loritta no seu servidor, vocĂȘ pode adicionar ela clicando aqui.

Enquanto Ă© possĂ­vel fazer "self hosting" (hospedar vocĂȘ mesmo) ela, eu nĂŁo irei dar suporte para quem quiser fazer isto para evitar pessoas criando "clones" e levando todo o crĂ©dito por terem criado o bot, eu dou suporte se vocĂȘ quer fazer "self hosting" para ajudar e contribuir para ela.

💁 Suporte

VocĂȘ pode obter suporte sobre a Loritta clicando aqui!

🙋 Como ajudar?

Existem vĂĄrios repositĂłrios na nossa organização de vĂĄrias partes da Loritta, caso vocĂȘ queria contribuir em outras partes da Loritta, clique nos links abaixo para ir no repositĂłrio deles.

  • Loritta: CĂłdigo-fonte da Loritta ("backend"), isto inclui toda a parte do bot em si (comandos, funcionalidades, etc) e a parte "backend" do website dela.
  • LorittaLocales: Arquivos de tradução da Loritta.
  • LorittaWebsite: "Frontend" do website da Loritta, isto inclui imagens, CSS, HTML, etc do website dela.
  • PerfectDreams: Servidor de Minecraft da Loritta!

đŸ’” Como Doar?

Mesmo que vocĂȘ nĂŁo saiba programar, vocĂȘ pode ajudar no desenvolvimento da Loritta doando! https://loritta.website/donate

🙌 Como Usar?

đŸ‘šâ€đŸ’» Como Compilar e Selfhostear?

VocĂȘ tambĂ©m pode hospedar a Loritta vocĂȘ mesmo (afinal, Ă© por isso que se chama selfhosting) caso vocĂȘ preferia ter total controle sobre os bots que vocĂȘ tem no seu servidor, mas lembre-se...

  • NĂłs deixamos o cĂłdigo-fonte de nossos projetos para que outras pessoas possam se inspirar e aprender com nossos projetos, o objetivo Ă© que pessoas que sĂŁo fĂŁs da Loritta aprendam como ela funciona e, caso queiram, podem ajudar ela com bug fixes e novas funcionalidades.
  • Eu nĂŁo irei dar suporte caso vocĂȘ queria fazer self hosting apenas para vocĂȘ querer fazer "fama" falando que vocĂȘ criou um bot, mesmo que na verdade vocĂȘ apenas pegou o cĂłdigo-fonte dela e hospedou, lembre-se, a licença do projeto Ă© AGPL v3, vocĂȘ Ă© obrigado a deixar todas as suas alteraçÔes no projeto pĂșblicas!
  • Eu nĂŁo irei ficar explicando e te ajudando a como arrumar problemas na sua versĂŁo selfhosted dela, vocĂȘ estĂĄ por sua conta e risco. A Ășnica exceção Ă© se vocĂȘ estĂĄ planejando selfhostear para ajudar a desenvolver ela.
  • A Lori precisa de vĂĄrias API Keys para vĂĄrias funcionalidades diferentes, enquanto nem todas sĂŁo obrigatĂłrias, a falta de alguma irĂĄ causar problemas em algumas funcionalidades dela.
  • Os "assets" (imagens, fontes, etc) nĂŁo sĂŁo distribuĂ­dos junto com o cĂłdigo-fonte, vocĂȘ terĂĄ que criar e incluir seus prĂłprios assets.
  • NĂłs utilizamos Ubuntu 18.04, talvez ela irĂĄ funcionar em outros sistemas Linux ou atĂ© em Windows, mas recomendamos que vocĂȘ tente hospedar em uma mĂĄquina que rode Ubuntu ou derivados.
  • Para evitar confusĂ”es e problemas, vocĂȘ nĂŁo pode utilizar o nome ou a personagem "Loritta", "Lori" ou nomes parecidos na sua versĂŁo selfhosted.

NĂłs recomendamos utilizar a versĂŁo pĂșblica da Loritta, mas se vocĂȘ realmente quiser hospedar ou ajudar a desenvolver a Loritta, siga os seguintes passos:

  1. Tenha o JDK 11 (ou superior) instalado na sua mĂĄquina e certifique-se que o Java estĂĄ acessĂ­vel pelo terminal. (Tente executar java no terminal, caso nĂŁo funcione, procure como incluir a pasta do JDK no PATH do seu sistema operacional)
  2. Tenha o MongoDB instalado na sua mĂĄquina. (No futuro o MongoDB serĂĄ removido da Loritta e serĂĄ 100% substituido pelo PostgreSQL)
  3. Tenha o PostgreSQL instalado na sua mĂĄquina. (No futuro serĂĄ possĂ­vel executar a Loritta utilizando uma database SQLite)
  4. Tenha o git-shell ou o git-cli instalados. No Windows vocĂȘ pode utilizar o Git Bash.
  5. Caso vocĂȘ precise fazer modificaçÔes no cĂłdigo-fonte da Lori, Ă© recomendado utilizar o IntelliJ IDEA.
  6. Faça git clone https://github.com/LorittaBot/Loritta.git em alguma pasta no seu computador.
  7. Agora, usando o PowerShell (ou o Git Bash), entre na pasta criada e utilize gradle w build
  8. Ao terminar de compilar todos os mĂłdulos, vĂĄ em loritta-discord\build\libs. (Troque loritta-discord pelo mĂłdulo da Loritta que vocĂȘ deseja utilizar)
  9. Caso tenha uma JAR loritta-discord-fat-YYYY.MM.DD-SNAPSHOT.jar, quer dizer que tudo compilou corretamente, yay! 🎉
  10. Copie a JAR acima para uma nova pasta.
  11. VĂĄ para a pasta principal do repositĂłrio, copie a pasta libs para a nova pasta que vocĂȘ tinha criado anteriormente.
  12. Antes de inicializar a Lori, vocĂȘ deverĂĄ criar quatro arquivos para configurar a Loritta, sendo eles...

Salve cada arquivo na mesma pasta da JAR e configure cada um utilizando o seu editor de texto favorito. (Visual Studio Code, Notepad++, etc)

VocĂȘ pode pegar os arquivos de linguagem "locales" utilizando git clone https://github.com/LorittaBot/LorittaLocales

VocĂȘ pode pegar os arquivos do website utilizando git clone https://github.com/LorittaBot/LorittaWebsite

Algumas funcionalidades da Lori estĂŁo em plugins separados, vocĂȘ pode pegar eles na pasta loritta-plugins/nome-do-plugin/build/libs/.

  1. Pelo terminal, utilize java -Xmx1G -Xms1G -jar NomeDaJarQueVocĂȘCopiouAnteriormente.jar.
  2. Caso tenha dado tudo certo, a sua versĂŁo selfhosted da Lori irĂĄ iniciar e vocĂȘ poderĂĄ utilizar os comandos dela! 🎉

Para editar o cĂłdigo-fonte da Loritta, abra o IntelliJ IDEA e importe o build.gradle.kts, espere o IDEA baixar todas as dependĂȘncias e divirta-se aprendendo, modificando e melhorando a Loritta!

🔀 Pull Requests

No seu Pull Request, vocĂȘ deverĂĄ seguir o meu estilo de cĂłdigo bonitinho que eu faço, Ă© recomendado que vocĂȘ coloque comentĂĄrios nas partes do seu cĂłdigo para que seja mais fĂĄcil na hora da leitura.

Caso o seu cĂłdigo possua texto, vocĂȘ Ă© obrigado a utilizar o sistema de localização da Loritta, para que o seu Pull Request possa ser traduzido para outras linguagens, ou seja, apĂłs criar o seu Pull Request, crie um Pull Request no repositĂłrio de linguagens da Loritta com as keys necessĂĄrias.

O seu cĂłdigo nĂŁo pode ser algo "gambiarra", meu cĂłdigo pode ter algumas gambiarras mas isto nĂŁo significa que vocĂȘ tambĂ©m deve encher a Lori com mais gambiarras no seu Pull Request.

VocĂȘ precisa pensar "serĂĄ que alguĂ©m iria utilizar isto?", se vocĂȘ criar um comando que sĂł seja Ăștil no seu servidor, provavelmente eu irei negar o seu Pull Request, se for algo apenas Ăștil para o seu servidor, seria melhor vocĂȘ criar o comando utilizando a API de comandos em JavaScript da Loritta.

Funcionalidades (como comandos) relacionados a coisas NSFW nĂŁo serĂŁo adicionadas na Loritta e seu Pull Request serĂĄ negado, eu prefiro que as pessoas, ao olharem o avatar dela, pensem que ela Ă© um bot que cria memes toscos do que um bot que fica mandando coisas NSFW no chat.

📩 DependĂȘncias

A Lori utiliza vĂĄrias dependĂȘncias no cĂłdigo-fonte dela, obrigado a todos os mantenedores das dependĂȘncias! Sem vocĂȘs, talvez a Loritta nĂŁo iria existir (ou teria vĂĄrias funcionalidades reduzidas ou talvez atĂ© inexistentes!)

Nome Mantenedor
Kotlin JetBrains
Kotlin Coroutines JetBrains
Guava Google
Caffeine Ben Manes
JDA DV8FromTheWorld, kantenkugel, MinnDevelopment, Almighty-Alpaca, etc
MongoDB Java Driver MongoDB
TemmieWebhook MrPowerGamerBR
TemmieMercadoPago MrPowerGamerBR
AminoREAPI MrPowerGamerBR
Apache Commons Lang Apache
Apache Commons Codec Apache
Apache Commons IO Apache
Apache Commons Text Apache
Jooby Jooby Project
Jooby Netty Jooby Project
Jooby Kotlin Jooby Project
Jooby MongoDB Jooby Project
Pebble Pebble Templates
jsoup jhy
Http Request kevinsawicki
LavaPlayer sedmelluq
JDA-NAS sedmelluq
JRakNet Whirvis
Kotson SalomonBrys

đŸ’« Agradecimentos especiais para...

YourKit-Logo

YourKit, criadores do YourKit Java Profiler, suportam projetos open source de todos os tipos com o excelente profiler de aplicaçÔes Java e .NET. Nós agradecemos por darem uma licença open source para conseguir deixar a Lori mais incrível e maravilhosa para todos os nossos usuårios!

📄 Licença

O cĂłdigo-fonte da Loritta estĂĄ licenciado sob a GNU Affero General Public License v3.0

A personagem Loritta Ă© © MrPowerGamerBR & PerfectDreams — Todos os direitos reservados

Ao utilizar a Loritta vocĂȘ aceita os termos de uso dela.



"Discord", "DiscordApp" and any associated logos are registered trademarks of Discord Inc.