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!
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.
VocĂȘ pode obter suporte sobre a Loritta clicando aqui!
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!
Mesmo que vocĂȘ nĂŁo saiba programar, vocĂȘ pode ajudar no desenvolvimento da Loritta doando! https://loritta.website/donate
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:
- 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 noPATH
do seu sistema operacional) - Tenha o MongoDB instalado na sua mĂĄquina. (No futuro o MongoDB serĂĄ removido da Loritta e serĂĄ 100% substituido pelo PostgreSQL)
- Tenha o PostgreSQL instalado na sua mĂĄquina. (No futuro serĂĄ possĂvel executar a Loritta utilizando uma database SQLite)
- Tenha o
git-shell
ou ogit-cli
instalados. No Windows vocĂȘ pode utilizar o Git Bash. - Caso vocĂȘ precise fazer modificaçÔes no cĂłdigo-fonte da Lori, Ă© recomendado utilizar o IntelliJ IDEA.
- Faça
git clone https://github.com/LorittaBot/Loritta.git
em alguma pasta no seu computador. - Agora, usando o PowerShell (ou o Git Bash), entre na pasta criada e utilize
gradle w build
- Ao terminar de compilar todos os mĂłdulos, vĂĄ em
loritta-discord\build\libs
. (Troqueloritta-discord
pelo mĂłdulo da Loritta que vocĂȘ deseja utilizar) - Caso tenha uma JAR
loritta-discord-fat-YYYY.MM.DD-SNAPSHOT.jar
, quer dizer que tudo compilou corretamente, yay! đ - Copie a JAR acima para uma nova pasta.
- VĂĄ para a pasta principal do repositĂłrio, copie a pasta
libs
para a nova pasta que vocĂȘ tinha criado anteriormente. - 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/
.
- Pelo terminal, utilize
java -Xmx1G -Xms1G -jar NomeDaJarQueVocĂȘCopiouAnteriormente.jar
. - 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!
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.
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 | |
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 |
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!
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.