Veuillez consulter la page de version pour un téléchargement précompilé à jour.
Un bot iMessage puissant et facilement extensible. Il permet d'ajouter des fonctionnalités de chat bot à n'importe quelle conversation iMessage. Il comprend quelques commandes de base intégrées. Des intégrations d'API, des jeux, des émotes personnalisées et bien plus encore peuvent être ajoutés à l'aide de webhooks, de l'API REST ou en installant des plugins.
Toutes les demandes de tirage et les nouveaux problèmes GitHub sont très appréciés ! Si vous souhaitez développer un plugin pour Jared, consultez la section plugin ci-dessous. Je suis toujours disponible sur Twitter si vous avez des idées/suggestions.
Jared doit exécuter une machine exécutant macOS avec un compte de messagerie actif connecté. Il n'a été testé que sur 10.14 Mojave et versions ultérieures. Cela peut fonctionner sur les anciennes versions de macOS, mais cela n'est pas garanti car des modifications peuvent avoir été apportées au schéma de la base de données de messages. Si vous ne souhaitez pas que Jared publie en tant que vous, il est recommandé de créer un nouvel identifiant Apple et un nouveau compte utilisateur sur votre Mac, et de l'exécuter en arrière-plan sous cet utilisateur. De cette façon, il n'utilise pas votre identifiant Apple principal.
Voir la section de téléchargement en haut.
Ceci est requis en raison des autorisations macOS qui limitent l'accès à la base de données des messages.
Si vous utilisez macOS Catalina ou une version ultérieure, vous devrez autoriser Jared à accéder à l'automatisation de l'application de messagerie. Cela permet à Jared d'envoyer des messages.
Vous pouvez éventuellement autoriser Jared à accéder à vos contacts afin qu'il puisse fournir et mettre à jour les noms des contacts. Les contacts sont utilisés uniquement pour définir/récupérer des noms.
Si vous souhaitez utiliser l'API REST, vous devrez l'activer. Si un pare-feu est activé sur votre Mac, vous verrez une boîte de dialogue vous invitant à autoriser Jared à accéder au port qu'il lie.
Pour référence, voici une liste des commandes intégrées à Jared. Étant donné que des fonctionnalités peuvent être ajoutées avec des plugins, les fonctionnalités intégrées restent légères.
/help
: Répertorie toutes les commandes. /help,[command name]
vous donnera des informations sur un itinéraire spécifique./reload
: Recharger les plugins/enable
: Active Jared/disable
: Désactive Jared/ping
: Vérifiez si le chat bot est disponible/version
: Obtenez la version de Jared en cours d'exécution/send
: Envoyer un message à plusieurs reprises/schedule
: Programmer des messages/name
: Changez comment Jared vous appelle/whoami
: Obtenez votre nom/barf
: renvoie une représentation json de votre message, utilisée pour le débogageThank you Jared
: Merci Jared Un fichier de configuration se trouve dans ~/Library/Application Support/Jared/config.json
qui vous permet de :
Voir config-sample.json pour un exemple.
Jared fournit une variété d'API pour vous permettre d'ajouter facilement vos propres commandes, d'automatiser les messages, etc. Pour toute la documentation sur l'API, consultez le centre de documentation.
Des itinéraires supplémentaires peuvent être ajoutés via des plugins modularisés, écrits en code Swift natif. Les plugins sont chargés dynamiquement à partir du dossier ~/Library/Application Support/Jared/Plugins
. Pour installer un module, faites-le glisser là-dedans, puis envoyez /reload
à Jared, ou cliquez sur Reload Plugins
dans l'interface utilisateur.
Pour plus d'informations sur le développement de vos propres plugins, consultez la documentation des plugins. Si vous avez développé des plugins, veuillez me contacter avec un lien afin que je puisse ajouter un lien ici ! Je travaillerai également sur quelques modules supplémentaires et je les ajouterai ici lorsqu'ils seront terminés.
Jared prend en charge les webhooks pour envoyer à votre serveur des informations sur les messages entrants et sortants. Votre serveur peut répondre à ces demandes d'envoi de messages ou utiliser l'API REST pour envoyer des messages à tout moment. Pour configurer les webhooks, ajoutez-les au config.json
mentionné ci-dessus. Pour plus d'informations sur l'API des webhooks, consultez la documentation des webhooks.
Jared contient un serveur Web avec une API REST qui peut être activée. Cela vous permet de faire des requêtes HTTP pour envoyer des messages à n'importe quel destinataire. Pour plus d'informations, consultez la documentation de l'API REST.
Jared lit dans la base de données Messages à un intervalle défini et recherche de nouveaux messages. Il fournit un cadre de routage pour agir sur les messages et utilise AppleScript pour envoyer des messages sortants. Il est également multithread et peut donc traiter plusieurs requêtes à la fois. Jared permet l'expansion via des fichiers de plugin .bundle
, des webhooks et une API REST. Cela permet d'ajouter des commandes sans modifier la base de code principale de Jared.
J'ai essayé d'utiliser des API privées telles que MessagesKit pour envoyer/recevoir des messages, en vain jusqu'à présent. Si vous avez des pistes à ce sujet, j'aimerais en entendre parler.