openzca 0.1.43 → 0.1.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/dist/cli.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,8 +36,9 @@ openzca msg send USER_ID "Hello"
|
|
|
36
36
|
# Send to a group
|
|
37
37
|
openzca msg send GROUP_ID "Hello team" --group
|
|
38
38
|
|
|
39
|
-
# Mention a group member by display name or
|
|
39
|
+
# Mention a group member by display name, username, or member id
|
|
40
40
|
openzca msg send GROUP_ID "Hi @Alice Nguyen" --group
|
|
41
|
+
openzca msg send GROUP_ID "Hi @123456789" --group
|
|
41
42
|
|
|
42
43
|
# Listen for incoming messages
|
|
43
44
|
openzca listen
|
|
@@ -83,7 +84,7 @@ You can also open the saved file manually (for example: `open qr.png` on macOS).
|
|
|
83
84
|
|
|
84
85
|
Media commands accept local files, `file://` paths, and repeatable `--url` options. Add `--group` for group threads.
|
|
85
86
|
Local paths using `~` are expanded automatically (for positional file args, `--url`, and `OPENZCA_LISTEN_MEDIA_DIR`).
|
|
86
|
-
Group text sends via `openzca msg send --group` resolve unique `@Name` mentions against the current group member list using display names and usernames. Mention offsets are computed after formatting markers are parsed, so messages like `**@Alice Nguyen** hello` work. If multiple members share the same label, the command fails instead of guessing.
|
|
87
|
+
Group text sends via `openzca msg send --group` resolve unique `@Name` or `@userId` mentions against the current group member list using member ids, display names, and usernames. Mention offsets are computed after formatting markers are parsed, so messages like `**@Alice Nguyen** hello` work. If multiple members share the same label, the command fails instead of guessing.
|
|
87
88
|
|
|
88
89
|
### Debug Logging
|
|
89
90
|
|
package/dist/cli.js
CHANGED
|
@@ -642,7 +642,7 @@ function buildCandidates(members) {
|
|
|
642
642
|
for (const member of members) {
|
|
643
643
|
const userId = member.userId.trim();
|
|
644
644
|
if (!userId) continue;
|
|
645
|
-
for (const rawLabel of [member.displayName, member.zaloName]) {
|
|
645
|
+
for (const rawLabel of [member.userId, member.displayName, member.zaloName]) {
|
|
646
646
|
const label = rawLabel?.trim();
|
|
647
647
|
if (!label) continue;
|
|
648
648
|
const normalizedLabel = label.toLowerCase();
|
|
@@ -3329,7 +3329,7 @@ auth.command("cache-clear").description("Clear local cache").action(
|
|
|
3329
3329
|
})
|
|
3330
3330
|
);
|
|
3331
3331
|
var msg = program.command("msg").description("Messaging commands");
|
|
3332
|
-
msg.command("send <threadId> <message>").option("-g, --group", "Send to group").option("--raw", "Send raw text without parsing formatting markers").description("Send text message with formatting (**bold** *italic* __bold__ ~~strike~~ {underline}text{/underline} {red}color{/red} {big}size{/big} lists indents). Group sends also resolve unique @Name mentions.").action(
|
|
3332
|
+
msg.command("send <threadId> <message>").option("-g, --group", "Send to group").option("--raw", "Send raw text without parsing formatting markers").description("Send text message with formatting (**bold** *italic* __bold__ ~~strike~~ {underline}text{/underline} {red}color{/red} {big}size{/big} lists indents). Group sends also resolve unique @Name/@userId mentions.").action(
|
|
3333
3333
|
wrapAction(async (threadId, message, opts, command) => {
|
|
3334
3334
|
const { api } = await requireApi(command);
|
|
3335
3335
|
const threadType = asThreadType(opts.group);
|