Skip to content
globaloficialPublic

About

Repositório do bot Global

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Repository files navigation

Global

Global

Um chat só para o Fluxer e o Discord.

Site Fluxer Node.js MongoDB Licença


Mensagens do Fluxer e do Discord chegando no Global

Este repositório é o bot. O site fica em globaloficial/global_site.


Sobre

O Global junta comunidades do Fluxer e do Discord num mesmo chat.
Cada servidor escolhe um canal, e o que é escrito ali aparece nos canais dos outros.
Editar, apagar e responder também funciona entre os servidores.


Como funciona

O caminho de uma mensagem pelo Global

Etapa O que acontece
1 Alguém escreve no canal global do servidor
2 A mensagem passa pelos filtros: links, convites, spam, palavras e NSFW
3 O vínculo é guardado no MongoDB, para sincronizar edições e exclusões
4 Emojis e menções são convertidos para a plataforma de destino
5 Cada plataforma tem a sua fila, com limite de requisições
6 O bot envia por webhook, com o nome e o avatar de quem escreveu

O Global precisa da permissão Gerenciar Webhooks no canal conectado. Sem ela, a mensagem não chega e o bot avisa no canal.


Fluxer e Discord

Os dois bots rodam no mesmo processo.
Cada plataforma tem a sua fila de envio, então o limite de uma não segura a outra.


Pontes privadas

Quem não quer usar o chat global pode ligar canais de servidores amigos, entre Fluxer e Discord.
As mensagens ficam só dentro da ponte.

Comando O que faz
g.ponte criar [nome] Cria a ponte com o canal atual e gera um código
g.ponte entrar <código> Liga o canal atual a uma ponte
g.ponte listar Mostra as pontes do servidor
g.ponte sair Tira o canal atual da ponte
g.ponte remover <código> <id> O dono tira outro servidor da ponte
g.ponte encerrar <código> O dono apaga a ponte

Até 10 servidores por ponte. Um canal não pode estar no chat global e em uma ponte ao mesmo tempo.


Comandos

No Discord os comandos também existem como slash. É preciso ter a permissão Gerenciar Canais.

Comando O que faz
g.conectar · g.desconectar Define ou remove o canal do chat global
g.pausar · g.retomar Pausa e retoma a conexão
g.config Mostra o estado da conexão, do webhook e dos filtros
g.automod Ajusta os filtros automáticos
g.ponte Cria e gerencia pontes privadas
g.perfil · g.destacar Perfil do usuário e destaque de mensagens
g.report Envia uma mensagem para a moderação
g.botinfo · g.ping · g.ajuda Informações, latência e lista de comandos

Instalação

Requer Node.js 20+ ou Bun, um MongoDB em execução e o token de um bot do Fluxer.

git clone https://github.com/globaloficial/global
cd global
bun install
cp .env.example .env
Variável Obrigatória Padrão
TOKEN Sim nenhum
MONGODB_URI Não mongodb://127.0.0.1:27017/global
DISCORD_TOKEN Não vazio, e a ponte com o Discord fica desligada
NSFW_URL Não http://localhost:3000
NSFW_API_KEY Não vazio
ENTREGA_CONCORRENCIA Não 10
ENTREGA_REQS_POR_SEGUNDO Não 35
DISCORD_CONCORRENCIA Não 10
DISCORD_REQS_POR_SEGUNDO Não 30

Se o serviço NSFW estiver fora do ar, as mídias são bloqueadas. Ajuste o NSFW_URL ou deixe o serviço rodando.

Para o Discord, ative a Message Content Intent no Developer Portal. O bot também precisa de Gerenciar Webhooks e Gerenciar Mensagens nos canais conectados.


Execução

bun index.js

Com Node.js, passe o arquivo de ambiente explicitamente:

node --env-file=.env index.js

Desenvolvimento

bun run lint
bun run typecheck
bun run test

Estrutura

global/
├── index.js
├── migrations/
├── listas/
├── src/
│   ├── commands/        conexao, geral, staff e dono
│   ├── events/          eventos do Fluxer
│   ├── plataformas/     adaptadores do Fluxer e do Discord
│   ├── services/        filtros, retransmissão, sincronização, pontes e entrega
│   ├── models/          Guild, MensagemGlobal, Ponte e outros
│   ├── handlers/        carregamento e execução de comandos
│   └── util/
└── test/

Cores

Uso Cor
Oficial #0330ef
Fundo #0B0B0B
Cartões #0F0F0F

Privacidade e licença

A política de privacidade está em PRIVACIDADE.md.
Distribuído sob a PolyForm Noncommercial 1.0.0.


Criado por xMqR · Apoiado financeiramente por Joao.

About

Repositório do bot Global

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages