Por favor, verifique a página de lançamento para um download pré-compilado atualizado.
Um bot iMessage poderoso e facilmente extensível. Torna possível adicionar recursos de chat bot a qualquer conversa do iMessage. Inclui alguns comandos básicos integrados. Integrações de API, jogos, emotes personalizados e muito mais podem ser adicionados usando webhooks, a API REST ou instalando plug-ins.
Quaisquer solicitações pull e novos problemas do GitHub serão muito apreciados! Se você gostaria de desenvolver um plugin para Jared, consulte a seção de plugins abaixo. Estou sempre disponível no Twitter se você tiver alguma ideia/sugestão.
Jared deve executar uma máquina executando macOS com uma conta de mensagens ativa conectada. Ele só foi testado em 10.14 Mojave e posterior. Pode funcionar em versões antigas do macOS, mas isso não é garantido, pois pode ter havido alterações no esquema do banco de dados de mensagens. Se você não quiser que Jared poste como você, é recomendável criar um novo ID Apple e uma nova conta de usuário no seu Mac e executá-lo em segundo plano com esse usuário. Dessa forma, não estará usando seu ID Apple principal.
Veja a seção de download no topo.
Isso é necessário devido às permissões do macOS que limitam o acesso ao banco de dados de mensagens.
Se estiver executando o macOS Catalina ou posterior, você precisará permitir o acesso de Jared para automatizar o aplicativo de mensagens. Isso permite que Jared envie mensagens.
Opcionalmente, você pode permitir que Jared acesse seus contatos para que ele possa fornecer e atualizar nomes de contatos. Os contatos são usados apenas para definir/recuperar nomes.
Se desejar usar a API REST, você precisará habilitá-la. Se você tiver um firewall ativado em seu Mac, verá uma caixa de diálogo solicitando que você permita o acesso de Jared à porta à qual está vinculado.
Para referência, aqui está uma lista dos comandos integrados ao Jared. Como a funcionalidade pode ser adicionada com plug-ins, a funcionalidade integrada é mantida leve.
/help
: lista todos os comandos. /help,[command name]
fornecerá informações sobre uma rota específica./reload
: recarrega plug-ins/enable
: Habilita Jared/disable
: Desativa Jared/ping
: verifica se o bot de bate-papo está disponível/version
: Obtenha a versão do Jared em execução/send
: envia uma mensagem repetidamente/schedule
: agenda mensagens/name
: Mude como Jared chama você/whoami
: Obtenha seu nome/barf
: Retorna uma representação json da sua mensagem, usada para depuraçãoThank you Jared
: Obrigado Jared Um arquivo de configuração está localizado em ~/Library/Application Support/Jared/config.json
que permite:
Consulte config-sample.json para ver um exemplo.
Jared fornece uma variedade de APIs para permitir que você adicione facilmente seus próprios comandos, automatize mensagens e muito mais. Para toda a documentação da API, consulte o hub de documentação.
Rotas adicionais podem ser adicionadas por meio de plug-ins modularizados, escritos em código Swift nativo. Os plug-ins são carregados dinamicamente da pasta ~/Library/Application Support/Jared/Plugins
. Para instalar um módulo, arraste-o até lá e envie /reload
para Jared ou clique em Reload Plugins
na interface do usuário.
Para obter mais informações sobre como desenvolver seus próprios plug-ins, consulte a documentação do plug-in. Se você desenvolveu algum plugin, entre em contato comigo com um link para que eu possa adicionar um link aqui! Também estarei trabalhando em alguns módulos extras e os adicionarei aqui quando estiverem concluídos.
Jared suporta webhooks para enviar informações ao seu servidor sobre mensagens recebidas e enviadas. Seu servidor pode responder a essas solicitações para enviar mensagens ou usar a API REST para enviar mensagens a qualquer momento. Para configurar webhooks, adicione-os ao config.json
mencionado acima. Para obter mais informações sobre a API de webhooks, verifique a documentação do webhook.
Jared contém um servidor web com uma API REST que pode ser habilitada. Isso permite que você faça solicitações HTTP para enviar mensagens a qualquer destinatário. Para obter mais informações, consulte a documentação da API REST.
Jared lê o banco de dados Mensagens em um intervalo definido e consulta novas mensagens. Ele fornece uma estrutura de roteamento para ação em mensagens e usa AppleScript para enviar mensagens de saída. Também é multithread, portanto pode atender a várias solicitações ao mesmo tempo. Jared permite a expansão por meio de arquivos de plug-in .bundle
, webhooks e uma API REST. Isso permite que comandos sejam adicionados sem modificar a base de código Jared principal.
Tentei usar APIs privadas, como MessagesKit, para enviar/receber mensagens, sem sucesso até agora. Se você tiver alguma pista nesse sentido, adoraria ouvir sobre isso.