neynar

Par bankrbot · skills

Interagissez avec Farcaster via l'API Neynar. À utiliser lorsque l'utilisateur souhaite lire des fils Farcaster, rechercher des utilisateurs, publier des casts, rechercher du contenu ou interagir avec le protocole social Farcaster. Nécessite une `NEYNAR_API_KEY`.

npx skills add https://github.com/bankrbot/skills --skill neynar

Neynar (Farcaster API)

Interagissez avec le protocole social décentralisé Farcaster via l'API de Neynar.

Démarrage rapide

Configuration

  1. Obtenez une clé API sur dev.neynar.com
  2. Créez la configuration :
mkdir -p ~/.clawdbot/skills/neynar
cat > ~/.clawdbot/skills/neynar/config.json << 'EOF'
{
  "apiKey": "YOUR_NEYNAR_API_KEY",
  "signerUuid": "YOUR_SIGNER_UUID"
}
EOF

Note : signerUuid est uniquement requis pour publier des casts. Obtenez-en un via la gestion des signers de Neynar.

Vérifier la configuration

scripts/neynar.sh user dwr.eth

Concepts clés

  • FID — Farcaster ID, un identifiant numérique permanent pour chaque utilisateur
  • Cast — Une publication sur Farcaster (comme un tweet)
  • Channel — Des fils thématiques (comme les subreddits)
  • Frame — Des mini-applications interactives intégrées dans les casts

Utilisation

Recherche d'utilisateur

# Par nom d'utilisateur
scripts/neynar.sh user vitalik.eth

# Par FID
scripts/neynar.sh user --fid 5650

# Plusieurs utilisateurs
scripts/neynar.sh users dwr.eth,v,jessepollak

Lire le fil

# Casts d'un utilisateur
scripts/neynar.sh feed --user dwr.eth

# Fil d'un channel
scripts/neynar.sh feed --channel base

# Fil tendance
scripts/neynar.sh feed --trending

# Fil des abonnements (requiert un signer)
scripts/neynar.sh feed --following

Recherche

# Rechercher des casts
scripts/neynar.sh search "ethereum"

# Rechercher des utilisateurs
scripts/neynar.sh search-users "vitalik"

# Rechercher dans un channel
scripts/neynar.sh search "onchain summer" --channel base

Obtenir un cast

# Par hash
scripts/neynar.sh cast 0x1234abcd...

# Par URL
scripts/neynar.sh cast "https://warpcast.com/dwr.eth/0x1234"

Publier un cast (requiert un signer)

# Cast simple
scripts/neynar.sh post "gm farcaster"

# Réponse à un cast
scripts/neynar.sh post "great point!" --reply-to 0x1234abcd

# Cast dans un channel
scripts/neynar.sh post "hello base" --channel base

# Cast avec embed
scripts/neynar.sh post "check this out" --embed "https://example.com"

Réactions

# Liker un cast
scripts/neynar.sh like 0x1234abcd

# Recast
scripts/neynar.sh recast 0x1234abcd

Suivre/Ne plus suivre

scripts/neynar.sh follow dwr.eth
scripts/neynar.sh unfollow dwr.eth

Référence API

Endpoints utilisés

Action Endpoint Auth
Recherche d'utilisateur GET /v2/farcaster/user/by_username Clé API
Utilisateur par FID GET /v2/farcaster/user/bulk Clé API
Fil d'utilisateur GET /v2/farcaster/feed/user/casts Clé API
Fil d'un channel GET /v2/farcaster/feed/channels Clé API
Tendances GET /v2/farcaster/feed/trending Clé API
Rechercher des casts GET /v2/farcaster/cast/search Clé API
Obtenir un cast GET /v2/farcaster/cast Clé API
Publier un cast POST /v2/farcaster/cast Clé API + Signer
Réagir POST /v2/farcaster/reaction Clé API + Signer
Suivre POST /v2/farcaster/user/follow Clé API + Signer

Format de réponse

Toutes les réponses sont en JSON. Le script extrait les champs clés pour la lisibilité :

{
  "user": {
    "fid": 3,
    "username": "dwr.eth",
    "display_name": "Dan Romero",
    "follower_count": 450000,
    "following_count": 2800,
    "verified_addresses": ["0x..."]
  }
}

Motifs courants

Surveiller un channel

# Obtenir les derniers casts du channel /base
scripts/neynar.sh feed --channel base --limit 20

Trouver des utilisateurs actifs

# Rechercher des utilisateurs par mot-clé
scripts/neynar.sh search-users "ethereum developer"

Partager depuis Twitter

# Publier le même contenu sur Farcaster
scripts/neynar.sh post "gm, just shipped a new feature 🚀"

Répondre aux mentions

# Obtenir vos notifications (requiert un signer)
scripts/neynar.sh notifications

# Répondre à un cast spécifique
scripts/neynar.sh post "thanks!" --reply-to 0xabc123

Gestion des erreurs

Erreur Cause Solution
401 Unauthorized Clé API invalide Vérifiez config.json
403 Forbidden Signer requis Configurez un signer pour les opérations d'écriture
404 Not Found Utilisateur/cast inexistant Vérifiez le nom d'utilisateur/hash
429 Rate Limited Trop de requêtes Attendez et réessayez

Configuration du signer

Pour les opérations d'écriture (publier, liker, suivre), vous avez besoin d'un signer :

  1. Allez sur dev.neynar.com
  2. Créez un nouveau signer ou utilisez un signer managé
  3. Ajoutez signerUuid à votre configuration

Les signers managés sont les plus simples — Neynar gère la garde des clés.

Limites de débit

  • Tier gratuit : 300 requêtes/minute
  • Tiers payants : Limites supérieures disponibles
  • Vérifiez l'en-tête X-RateLimit-Remaining

Bonnes pratiques

  1. Mettre en cache les recherches d'utilisateurs — Les FIDs ne changent pas, les noms d'utilisateur rarement
  2. Utiliser les channels — Meilleure portée qu'une publication aléatoire
  3. S'engager authentiquement — La culture Farcaster valorise l'authenticité
  4. Regrouper les requêtes — Utilisez les endpoints en masse quand c'est possible
  5. Gérer les limites de débit — Implémentez un backoff

Ressources

Dépannage

La clé API ne fonctionne pas

# Vérifier que la clé fonctionne
curl -H "x-api-key: YOUR_KEY" \
  "https://api.neynar.com/v2/farcaster/user/bulk?fids=1"

Problèmes de signer

  • Assurez-vous que le signer est approuvé et actif
  • Vérifiez que les permissions du signer correspondent à votre FID
  • Les signers managés sont plus simples que les signers auto-hébergés

Le cast n'apparaît pas

  • Les casts se propagent en quelques secondes, mais l'indexation peut prendre plus de temps
  • Vérifiez le hash du cast dans la réponse
  • Vérifiez directement sur warpcast.com

Skills similaires