Comment créer des bots GChat facilement pour pas kopeck ?

Anthony Pena
@_Anthony_Pena
@_Anthony_Pena

Step 1 : Récupérer des données

@_Anthony_Pena
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
        "model": "gpt-4o",
        "messages": [
            {"role": "user", "content": "Raconte moi une blague en français"}
        ]
    }'
@_Anthony_Pena

Step 2 : Exécuter périodiquement

@_Anthony_Pena

Est-ce que vous avez en tête un service qui permet de lancer du code arbitraire à la demande ou avec un cron ? 🧐

@_Anthony_Pena
default:
  image: node:latest
  before_script:
    - npm ci --cache .npm --prefer-offline
  cache:
    key: ${CI_COMMIT_REF_SLUG}
    paths:
      - .npm/

stages:
  - send-message

send-message:
  stage: send-message
  script:
    - npm run start
@_Anthony_Pena
@_Anthony_Pena

Step 3 : envoyer un message sur GChat

@_Anthony_Pena
curl $GCHAT_WEBHOOK \
-X POST \
-H "Content-Type: application/json; charset=UTF-8" \
-d '{
        "text": "En direct live du SFEIR Share du 09/10/2024! 🖨"
    }'

So easy! 🤯

@_Anthony_Pena

On package tout ça ?

@_Anthony_Pena

npm i @anthonypena/simple-bot 🤖

@_Anthony_Pena
const jokeBot = createBot({
    name: 'Joke-Bot 🤖',
    trigger: always(),
    data: someData<{ ia: { message: GptMessage }[] }>({
        joke: gpt({
            messages: [{
                role: 'user',
                content: `Raconte moi une blague en français`,
            }]
        }),
    }),
    message: ({ botName, data: { joke } }) => `${joke}\n\n-- ${botName}`,
    emitter: dispatch(googleChat({ spaceUrl: process.env.GCHAT_WEBHOOK }))
})
@_Anthony_Pena
createBotSpace([
    jokeBot
], { env: process.env }).run()
@_Anthony_Pena