qqbot-remind

Lembretes agendados para o QQ Bot. Use apenas para solicitações explícitas do usuário para criar, listar ou cancelar lembretes únicos ou recorrentes; pergunte sobre horário, conteúdo ou fuso horário ausentes antes de agendar.

O que é qqbot-remind?

Esta skill permite que um agente de IA (como Claude Code, Cursor ou Codex) gerencie lembretes temporizados no QQ Bot, respondendo a comandos explícitos do usuário. Ela oferece dois fluxos de trabalho: o principal usa a ferramenta `qqbot_remind` para criar, listar ou remover tarefas cron, enquanto um plano de backup usa diretamente uma ferramenta `cron` quando a primeira não está disponível. A skill exige que o agente nunca finja ter memória ou threads em segundo plano — apenas chamadas reais de ferramentas registram lembretes. Ela suporta lembretes únicos (com tempo relativo como '5m' ou timestamp absoluto) e periódicos (expressão cron), sempre exigindo que o agente peça esclarecimentos sobre horário, conteúdo, destino ou fuso horário quando estiverem faltando. Projetada para salas de chat do QQ, ela usa o modo de entrega `announce` no canal `qqbot` e garante que o payload tenha `kind: agentTurn` para que o usuário receba a mensagem no QQ. A skill também fornece templates de resposta e uma tabela de decisão para ajudar o agente a escolher a ação e o formato de tempo corretos com base na entrada do usuário.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/extensions/qqbot/skills/qqbot-remind

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

QQ Bot Lembretes Agendados

⚠️ Regras de Intenção

Só chame a ferramenta quando o usuário pedir explicitamente para criar, consultar ou cancelar lembretes/alarmes/tarefas agendadas. Não chame a ferramenta em conversas casuais, hipóteses, explicações sobre a função de lembrete ou discussões sobre planos futuros sem solicitação de criação.

Se o usuário realmente pedir um lembrete, você não tem memória ou thread em segundo plano — prometer verbalmente "lembrar na hora" é ineficaz. Você deve chamar a ferramenta para realmente registrar a tarefa agendada. Se hora, conteúdo do lembrete, sessão de destino ou fuso horário não estiverem claros, pergunte primeiro; não adivinhe pelo usuário.


Fluxo Recomendado (usando a ferramenta qqbot_remind)

Passo 1: Chame a ferramenta qqbot_remind com parâmetros simples:

ParâmetroDescriçãoExemplo
actionTipo de operação"add" / "list" / "remove"
contentConteúdo do lembrete"Beber água"
toEndereço de destino (opcional, obtido automaticamente pelo sistema, geralmente não precisa preencher)—
timeHorário (tempo relativo ou expressão cron)"5m" / "1h30m" / "0 8 * * *"
timezoneFuso horário IANA (recomendado para lembretes periódicos)"America/Sao_Paulo" / "America/Los_Angeles"
jobIdID da tarefa (apenas para remove)"xxx"

Passo 2: Com base no resultado retornado por qqbot_remind, responda ao usuário. qqbot_remind criará, consultará ou cancelará diretamente a tarefa cron do Gateway; após o sucesso, não chame a ferramenta cron novamente.

Exemplo

Usuário diz: "Me lembre de beber água em 5 minutos"

  1. Chame qqbot_remind: { "action": "add", "content": "Beber água", "time": "5m" }
  2. Após a ferramenta retornar sucesso, responda: ⏰ OK, vou lembrar você de beber água em 5 minutos~

Plano Alternativo (usando diretamente a ferramenta cron)

Use o método abaixo apenas quando a ferramenta qqbot_remind não estiver disponível, mas a ferramenta cron estiver.

Regras Principais

payload.kind deve ser "agentTurn", nunca use "systemEvent"! systemEvent só injeta texto internamente na sessão da IA; o usuário não receberá a mensagem no QQ.

Campos que não podem ser alterados:

CampoValor FixoMotivo
payload.kind"agentTurn"systemEvent não envia mensagem para o QQ
delivery.mode"announce"Modo de entrega ativa
delivery.channel"qqbot"Identificador do canal QQ
delivery.toEndereço destinoObtido do contexto da sessão atual
delivery.accountIdID da conta atualObrigatório em cenários com múltiplas contas
sessionTarget"isolated"Isola a sessão para evitar contaminação

schedule.atMs deve ser um timestamp absoluto em milissegundos (ex.: 1770733800000), não suporta strings relativas como "5m". Cálculo: timestamp atual em ms + atraso em ms.

Lembrete Único (schedule.kind = "at")

{
  "action": "add",
  "job": {
    "name": "{Nome da tarefa}",
    "schedule": { "kind": "at", "atMs": "{timestamp atual ms + N*60000}" },
    "sessionTarget": "isolated",
    "wakeMode": "now",
    "deleteAfterRun": true,
    "payload": {
      "kind": "agentTurn",
      "message": "Você é um assistente de lembretes carinhoso. Lembre o usuário de: {conteúdo do lembrete} de forma calorosa e divertida. Requisitos: (1) Não responda HEARTBEAT_OK (2) Não explique quem você é (3) Envie diretamente uma mensagem de lembrete carinhosa (4) Pode adicionar uma frase curta de incentivo ou carinho (5) Limite a 2-3 frases (6) Use emojis para decorar"
    },
    "delivery": {
      "mode": "announce",
      "channel": "qqbot",
      "to": "qqbot:c2c:{openid}",
      "accountId": "{accountId}"
    }
  }
}

Lembrete Periódico (schedule.kind = "cron")

{
  "action": "add",
  "job": {
    "name": "{Nome da tarefa}",
    "schedule": { "kind": "cron", "expr": "0 8 * * *", "tz": "{Fuso horário IANA confirmado pelo usuário}" },
    "sessionTarget": "isolated",
    "wakeMode": "now",
    "payload": {
      "kind": "agentTurn",
      "message": "Você é um assistente de lembretes carinhoso. Lembre o usuário de: {conteúdo do lembrete} de forma calorosa e divertida. Requisitos: (1) Não responda HEARTBEAT_OK (2) Não explique quem você é (3) Envie diretamente uma mensagem de lembrete carinhosa (4) Pode adicionar uma frase curta de incentivo ou carinho (5) Limite a 2-3 frases (6) Use emojis para decorar"
    },
    "delivery": {
      "mode": "announce",
      "channel": "qqbot",
      "to": "qqbot:c2c:{openid}",
      "accountId": "{accountId}"
    }
  }
}

Tarefas periódicas não usam deleteAfterRun. Para grupos, o formato de delivery.to é "qqbot:group:{group_openid}".


Referência Rápida de Expressões Cron

Cenárioexpr
Todos os dias às 8h"0 8 * * *"
Todas as noites às 22h"0 22 * * *"
Dias úteis às 9h"0 9 * * 1-5"
Toda segunda-feira às 9h"0 9 * * 1"
Fins de semana às 10h"0 10 * * 0,6"
A cada hora cheia"0 * * * *"

Para lembretes periódicos, use o fuso horário IANA que o usuário forneceu explicitamente, que esteja disponível de forma confiável no perfil/sessão do usuário, ou que tenha sido confirmado pelo usuário. Se não puder determinar, pergunte; não assuma que todos os usuários estão no mesmo fuso horário.


Guia de Decisão para a IA

Fala do UsuárioactionFormato do time
"Me lembre de beber água em 5 minutos"add"5m"
"Me lembre da reunião em 1 hora"add"1h"
"Me lembre de bater o ponto todos os dias às 8h"add"0 8 * * *"
"Me lembre dias úteis às 9h"add"0 9 * * 1-5"
"Quais são meus lembretes?"list—
"Cancele o lembrete de beber água"remove—
"Modifique o horário do lembrete"remove → add—
"Me lembre" (sem horário)Perguntar—

Tempos relativos puros ("em 5 minutos", "em 1 hora") podem ser calculados diretamente, sem confirmação. Se horário, data, período, conteúdo ou fuso horário estiverem ambíguos/ausentes, pergunte. Para lembretes periódicos, explique o horário local e o fuso horário na resposta.


Modelos de Resposta

  • Único: ⏰ OK, vou lembrar você de {conteúdo} em {tempo}~
  • Periódico: ⏰ Entendido, vou lembrar você de {conteúdo} {periodicidade}~
  • Consulta sem resultados: 📋 No momento, não há lembretes~ Que tal dizer "Me lembre de xxx em 5 minutos"?
  • Exclusão bem-sucedida: ✅ O lembrete "{nome}" foi cancelado

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Habilidades Relacionadas