10-of-my-most-popular-text-to-image-series-prompts-78b0897e
generate a bunch of images, then you curate the results to handpick the best ones
Modify OpenClaw's Telegram pairing logic so unapproved users receive pairing codes on every /start message before approval. Use when users need to repeatedly access pairing codes after the initial request, ensuring consistent access to pairing instructions even if the initial code was missed or lost.
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
SkillHub CLI
skillhub install crazypeace/telegram-pairing-send-code-to-every-start打开来源仓库,查看说明和兼容环境后,按来源提供的命令或步骤安装。
将来源链接提供给你的 Agent,让它先读取说明、核对依赖,并向你说明将执行的安装步骤。
此技能描述如何修改 OpenClaw 的 Telegram 配对逻辑,使未批准的用户在配对被批准前,每次发送 /start 消息时都能收到配对码回复。
/start 都收到配对消息(而非仅首次)在你正在运行的代码中搜索下面的代码段
async function issuePairingChallenge(params) {
const { code, created } = await params.upsertPairingRequest({
id: params.senderId,
meta: params.meta
});
if (!created) return { created: false };
params.onCreated?.({ code });
const replyText = params.buildReplyText?.({
code,
senderIdLine: params.senderIdLine
}) ?? buildPairingReply({
channel: params.channel,
idLine: params.senderIdLine,
code
});
try {
await params.sendPairingReply(replyText);
} catch (err) {
params.onReplyError?.(err);
}
return {
created: true,
code
};
}
将条件判断从 if (created) 修改为 if (code):
async function issuePairingChallenge(params) {
const { code, created } = await params.upsertPairingRequest({
id: params.senderId,
meta: params.meta
});
if (!code) return { created: false }; // <-- 关键修改点
params.onCreated?.({ code });
const replyText = params.buildReplyText?.({
code,
senderIdLine: params.senderIdLine
}) ?? buildPairingReply({
channel: params.channel,
idLine: params.senderIdLine,
code
});
try {
await params.sendPairingReply(replyText);
} catch (err) {
params.onReplyError?.(err);
}
return {
created: true,
code
};
}
修改完成后需要重启 OpenClaw 服务以使更改生效:
openclaw gateway restart
在寻找需要修改的文件时, 建议先搜索 async function issuePairingChallenge(params) 可以帮助你先大幅缩小处理范围, 过滤出需要修改的文件.
一个建议的起始目录为 /usr/lib/node_modules/opencl...
这些信息来自收录时的来源分析,可能滞后;使用前请核对最新来源文件。
# Telegram 配对消息持续响应技能
## 概述
此技能描述如何修改 OpenClaw 的 Telegram 配对逻辑,使未批准的用户在配对被批准前,每次发送 `/start` 消息时都能收到配对码回复。
## 何时使用此技能
- 需要让未批准的用户每次发送 `/start` 都收到配对消息(而非仅首次)
- 用户可能错过首次配对消息,需要重新获取配对码
- 提升用户体验,确保用户始终能获得配对指引
## 执行步骤
### 1. 找到需要修改的文件
在你正在运行的代码中搜索下面的代码段
```
async function issuePairingChallenge(params) {
const { code, created } = await params.upsertPairingRequest({
id: params.senderId,
meta: params.meta
});
if (!created) return { created: false };
params.onCreated?.({ code });
const replyText = params.buildReplyText?.({
code,
senderIdLine: params.senderIdLine
}) ?? buildPairingReply({
channel: params.channel,
idLine: params.senderIdLine,
code
});
try {
await params.sendPairingReply(replyText);
} catch (err) {
params.onReplyError?.(err);
}
return {
created: true,
code
};
}
```
### 2. 实施修改
将条件判断从 `if (created)` 修改为 `if (code)`:
```
async function issuePairingChallenge(params) {
const { code, created } = await params.upsertPairingRequest({
id: params.senderId,
meta: params.meta
});
if (!code) return { created: false }; // <-- 关键修改点
params.onCreated?.({ code });
const replyText = params.buildReplyText?.({
code,
senderIdLine: params.senderIdLine
}) ?? buildPairingReply({
channel: params.channel,
idLine: params.senderIdLine,
code
});
try {
await params.sendPairingReply(replyText);
} catch (err) {
params.onReplyError?.(err);
}
return {
created: true,
code
};
}
```
### 3. 重启服务
修改完成后需要重启 OpenClaw 服务以使更改生效:
```bash
openclaw gateway restart
```
## 一些建议
在寻找需要修改的文件时, 建议先搜索 `async function issuePairingChallenge(params)` 可以帮助你先大幅缩小处理范围, 过滤出需要修改的文件.
一个建议的起始目录为 /usr/lib/node_modules/opencl...generate a bunch of images, then you curate the results to handpick the best ones
generate a bunch of images, then you curate the results to handpick the best ones
Productivity system based on Maya calendar with 13 natural tones for project management and personal development
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.