beepctl 0.1.4 → 0.1.5
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
CHANGED
|
@@ -97,9 +97,18 @@ beepctl messages <chat-id> # List recent messages
|
|
|
97
97
|
beepctl messages <chat-id> --limit 20 # Limit results
|
|
98
98
|
beepctl messages <chat-id> --after "1d ago" # Messages after a time
|
|
99
99
|
beepctl messages <chat-id> --before "1h ago" # Messages before a time
|
|
100
|
+
beepctl messages <chat-id> --json # JSON output (includes attachment mxc URLs)
|
|
100
101
|
beepctl messages work # Use alias
|
|
101
102
|
```
|
|
102
103
|
|
|
104
|
+
Download attachments from recent messages with `jq`:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
beepctl messages <chat-id> --limit 50 --json \
|
|
108
|
+
| jq -r '.[].attachments[]?.mxcUrl | select(startswith("mxc://") or startswith("localmxc://"))' \
|
|
109
|
+
| while read -r url; do beepctl download "$url"; done
|
|
110
|
+
```
|
|
111
|
+
|
|
103
112
|
### Search
|
|
104
113
|
|
|
105
114
|
Search messages across all chats:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,eAAe,SA8EzB,CAAC"}
|
|
@@ -9,6 +9,7 @@ export const messagesCommand = new Command("messages")
|
|
|
9
9
|
.option("-l, --limit <number>", "Maximum messages to show", "20")
|
|
10
10
|
.option("--after <date>", "Messages after date (e.g., '1d ago', 'yesterday')")
|
|
11
11
|
.option("--before <date>", "Messages before date (e.g., '1h ago', 'today')")
|
|
12
|
+
.option("--json", "Output messages as JSON")
|
|
12
13
|
.action(async (chatIdArg, options) => {
|
|
13
14
|
try {
|
|
14
15
|
const client = getClient();
|
|
@@ -28,12 +29,8 @@ export const messagesCommand = new Command("messages")
|
|
|
28
29
|
if (options.before)
|
|
29
30
|
filterParts.push(`before: ${options.before}`);
|
|
30
31
|
const filters = filterParts.length > 0 ? kleur.dim(` [${filterParts.join(", ")}]`) : "";
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const accounts = await client.accounts.list();
|
|
34
|
-
const networkMap = new Map();
|
|
35
|
-
for (const account of accounts) {
|
|
36
|
-
networkMap.set(account.accountID, account.network || account.accountID);
|
|
32
|
+
if (!options.json) {
|
|
33
|
+
console.log(kleur.dim(`Listing messages from chat ${chatID}${filters}...`));
|
|
37
34
|
}
|
|
38
35
|
// Fetch messages with client-side date filtering
|
|
39
36
|
const messages = [];
|
|
@@ -48,12 +45,26 @@ export const messagesCommand = new Command("messages")
|
|
|
48
45
|
break;
|
|
49
46
|
}
|
|
50
47
|
if (messages.length === 0) {
|
|
48
|
+
if (options.json) {
|
|
49
|
+
console.log("[]");
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
51
52
|
console.log(kleur.yellow(`\nNo messages found in chat ${chatID}`));
|
|
52
53
|
if (options.after || options.before) {
|
|
53
54
|
console.log(kleur.dim(" Try adjusting the date filters"));
|
|
54
55
|
}
|
|
55
56
|
return;
|
|
56
57
|
}
|
|
58
|
+
if (options.json) {
|
|
59
|
+
console.log(JSON.stringify(messages.map(formatMessageForJson), null, 2));
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
// Build accountID -> network map
|
|
63
|
+
const accounts = await client.accounts.list();
|
|
64
|
+
const networkMap = new Map();
|
|
65
|
+
for (const account of accounts) {
|
|
66
|
+
networkMap.set(account.accountID, account.network || account.accountID);
|
|
67
|
+
}
|
|
57
68
|
console.log(kleur.bold(`\nMessages (${messages.length})`));
|
|
58
69
|
console.log(SEPARATOR);
|
|
59
70
|
for (let i = 0; i < messages.length; i++) {
|
|
@@ -81,7 +92,9 @@ function printMessage(msg, index, networkMap) {
|
|
|
81
92
|
const icon = getAttachmentIcon(att.type);
|
|
82
93
|
const size = att.fileSize ? ` (${formatSize(att.fileSize)})` : "";
|
|
83
94
|
const name = att.fileName || att.type || "attachment";
|
|
84
|
-
|
|
95
|
+
const mxcUrl = getAttachmentMxcUrl(att);
|
|
96
|
+
const url = mxcUrl ? ` ${mxcUrl}` : "";
|
|
97
|
+
console.log(kleur.dim(` ${icon} ${name}${size}${url}`));
|
|
85
98
|
}
|
|
86
99
|
}
|
|
87
100
|
// Display reactions
|
|
@@ -102,4 +115,37 @@ function getAttachmentIcon(type) {
|
|
|
102
115
|
return "att";
|
|
103
116
|
}
|
|
104
117
|
}
|
|
118
|
+
function getAttachmentMxcUrl(attachment) {
|
|
119
|
+
if (!attachment || typeof attachment !== "object")
|
|
120
|
+
return undefined;
|
|
121
|
+
const entry = attachment;
|
|
122
|
+
const candidates = [
|
|
123
|
+
entry.url,
|
|
124
|
+
entry.mxcUrl,
|
|
125
|
+
entry.mxc,
|
|
126
|
+
entry.contentUrl,
|
|
127
|
+
entry.sourceUrl,
|
|
128
|
+
entry.srcURL,
|
|
129
|
+
entry.id,
|
|
130
|
+
];
|
|
131
|
+
for (const candidate of candidates) {
|
|
132
|
+
if (typeof candidate === "string" &&
|
|
133
|
+
(candidate.startsWith("mxc://") || candidate.startsWith("localmxc://"))) {
|
|
134
|
+
return candidate;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
function formatMessageForJson(msg) {
|
|
140
|
+
return {
|
|
141
|
+
...msg,
|
|
142
|
+
attachments: msg.attachments?.map((att) => formatAttachmentForJson(att)),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function formatAttachmentForJson(att) {
|
|
146
|
+
return {
|
|
147
|
+
...att,
|
|
148
|
+
mxcUrl: getAttachmentMxcUrl(att),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
105
151
|
//# sourceMappingURL=messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACN,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,uBAAuB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KACpD,WAAW,CAAC,oCAAoC,CAAC;KACjD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;KACzC,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,EAAE,IAAI,CAAC;KAChE,MAAM,CAAC,gBAAgB,EAAE,mDAAmD,CAAC;KAC7E,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;KAC3E,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAAO,EAAE,EAAE;IAC5C,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEtD,cAAc;QACd,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5F,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;YAC7B,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;QAED,2BAA2B;QAC3B,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,KAAK;YAAE,WAAW,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"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"}
|