agent-messenger 2.29.0 → 2.30.0
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/.claude-plugin/plugin.json +1 -1
- package/README.md +27 -1
- package/dist/package.json +1 -1
- package/dist/src/platforms/discord/client.d.ts +1 -0
- package/dist/src/platforms/discord/client.d.ts.map +1 -1
- package/dist/src/platforms/discord/client.js +3 -0
- package/dist/src/platforms/discord/client.js.map +1 -1
- package/dist/src/platforms/discord/commands/message.d.ts +3 -0
- package/dist/src/platforms/discord/commands/message.d.ts.map +1 -1
- package/dist/src/platforms/discord/commands/message.js +30 -0
- package/dist/src/platforms/discord/commands/message.js.map +1 -1
- package/dist/src/platforms/discordbot/commands/message.d.ts +1 -1
- package/dist/src/platforms/discordbot/commands/message.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/commands/message.js +4 -4
- package/dist/src/platforms/discordbot/commands/message.js.map +1 -1
- package/dist/src/platforms/slack/commands/message.js +4 -4
- package/dist/src/platforms/slack/commands/message.js.map +1 -1
- package/dist/src/platforms/slackbot/commands/message.js +4 -4
- package/dist/src/platforms/slackbot/commands/message.js.map +1 -1
- package/dist/src/platforms/teams/client.d.ts +2 -0
- package/dist/src/platforms/teams/client.d.ts.map +1 -1
- package/dist/src/platforms/teams/client.js +35 -0
- package/dist/src/platforms/teams/client.js.map +1 -1
- package/dist/src/platforms/teams/commands/chat.d.ts +3 -0
- package/dist/src/platforms/teams/commands/chat.d.ts.map +1 -1
- package/dist/src/platforms/teams/commands/chat.js +34 -1
- package/dist/src/platforms/teams/commands/chat.js.map +1 -1
- package/dist/src/platforms/teams/index.d.ts +1 -1
- package/dist/src/platforms/teams/index.d.ts.map +1 -1
- package/dist/src/platforms/teams/index.js.map +1 -1
- package/dist/src/platforms/teams/listener.d.ts +5 -0
- package/dist/src/platforms/teams/listener.d.ts.map +1 -1
- package/dist/src/platforms/teams/listener.js +54 -4
- package/dist/src/platforms/teams/listener.js.map +1 -1
- package/dist/src/platforms/teams/trouter.d.ts +7 -0
- package/dist/src/platforms/teams/trouter.d.ts.map +1 -1
- package/dist/src/platforms/teams/trouter.js +85 -0
- package/dist/src/platforms/teams/trouter.js.map +1 -1
- package/dist/src/platforms/teams/types.d.ts +9 -0
- package/dist/src/platforms/teams/types.d.ts.map +1 -1
- package/dist/src/platforms/teams/types.js.map +1 -1
- package/dist/src/platforms/telegram/client.d.ts +1 -0
- package/dist/src/platforms/telegram/client.d.ts.map +1 -1
- package/dist/src/platforms/telegram/client.js +21 -0
- package/dist/src/platforms/telegram/client.js.map +1 -1
- package/dist/src/platforms/telegram/commands/message.d.ts.map +1 -1
- package/dist/src/platforms/telegram/commands/message.js +25 -1
- package/dist/src/platforms/telegram/commands/message.js.map +1 -1
- package/dist/src/platforms/telegrambot/commands/message.d.ts +1 -1
- package/dist/src/platforms/telegrambot/commands/message.d.ts.map +1 -1
- package/dist/src/platforms/telegrambot/commands/message.js +3 -3
- package/dist/src/platforms/telegrambot/commands/message.js.map +1 -1
- package/dist/src/platforms/whatsapp/client.d.ts +3 -1
- package/dist/src/platforms/whatsapp/client.d.ts.map +1 -1
- package/dist/src/platforms/whatsapp/client.js +19 -3
- package/dist/src/platforms/whatsapp/client.js.map +1 -1
- package/dist/src/platforms/whatsapp/commands/message.d.ts.map +1 -1
- package/dist/src/platforms/whatsapp/commands/message.js +18 -0
- package/dist/src/platforms/whatsapp/commands/message.js.map +1 -1
- package/docs/content/docs/cli/discordbot.mdx +2 -2
- package/docs/content/docs/cli/slack.mdx +2 -2
- package/docs/content/docs/cli/slackbot.mdx +2 -2
- package/docs/content/docs/cli/teams.mdx +15 -1
- package/docs/content/docs/cli/telegrambot.mdx +1 -1
- package/docs/content/docs/sdk/teams.mdx +30 -0
- package/e2e/README.md +3 -3
- package/e2e/discordbot.e2e.test.ts +2 -2
- package/e2e/slack.e2e.test.ts +2 -2
- package/e2e/slackbot.e2e.test.ts +2 -2
- package/e2e/telegrambot.e2e.test.ts +2 -2
- package/package.json +1 -1
- package/skills/agent-channeltalk/SKILL.md +1 -1
- package/skills/agent-channeltalkbot/SKILL.md +1 -1
- package/skills/agent-discord/SKILL.md +5 -1
- package/skills/agent-discordbot/SKILL.md +3 -3
- package/skills/agent-discordbot/references/common-patterns.md +2 -2
- package/skills/agent-imessage/SKILL.md +1 -1
- package/skills/agent-instagram/SKILL.md +1 -1
- package/skills/agent-kakaotalk/SKILL.md +1 -1
- package/skills/agent-line/SKILL.md +1 -1
- package/skills/agent-slack/SKILL.md +3 -3
- package/skills/agent-slack/references/common-patterns.md +2 -2
- package/skills/agent-slackbot/SKILL.md +3 -3
- package/skills/agent-slackbot/references/common-patterns.md +4 -4
- package/skills/agent-teams/SKILL.md +30 -2
- package/skills/agent-telegram/SKILL.md +4 -1
- package/skills/agent-telegrambot/SKILL.md +2 -2
- package/skills/agent-webex/SKILL.md +1 -1
- package/skills/agent-webexbot/SKILL.md +1 -1
- package/skills/agent-wechatbot/SKILL.md +1 -1
- package/skills/agent-whatsapp/SKILL.md +25 -1
- package/skills/agent-whatsappbot/SKILL.md +1 -1
- package/src/platforms/discord/client.test.ts +22 -0
- package/src/platforms/discord/client.ts +4 -0
- package/src/platforms/discord/commands/message.test.ts +26 -1
- package/src/platforms/discord/commands/message.ts +41 -0
- package/src/platforms/discordbot/commands/message.test.ts +6 -6
- package/src/platforms/discordbot/commands/message.ts +4 -4
- package/src/platforms/slack/commands/message.test.ts +4 -4
- package/src/platforms/slack/commands/message.ts +4 -4
- package/src/platforms/slackbot/commands/message.ts +4 -4
- package/src/platforms/teams/client.test.ts +24 -0
- package/src/platforms/teams/client.ts +56 -0
- package/src/platforms/teams/commands/chat.test.ts +23 -1
- package/src/platforms/teams/commands/chat.ts +44 -0
- package/src/platforms/teams/index.ts +1 -0
- package/src/platforms/teams/listener.test.ts +243 -0
- package/src/platforms/teams/listener.ts +59 -3
- package/src/platforms/teams/trouter.test.ts +60 -0
- package/src/platforms/teams/trouter.ts +95 -0
- package/src/platforms/teams/types.ts +10 -0
- package/src/platforms/telegram/client.test.ts +60 -0
- package/src/platforms/telegram/client.ts +24 -0
- package/src/platforms/telegram/commands/message.test.ts +38 -0
- package/src/platforms/telegram/commands/message.ts +39 -0
- package/src/platforms/telegrambot/commands/message.ts +3 -3
- package/src/platforms/whatsapp/client.test.ts +58 -0
- package/src/platforms/whatsapp/client.ts +23 -3
- package/src/platforms/whatsapp/commands/message.test.ts +43 -0
- package/src/platforms/whatsapp/commands/message.ts +25 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../src/platforms/whatsapp/commands/message.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../src/platforms/whatsapp/commands/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -173,8 +173,8 @@ agent-discordbot message get <channel> <message-id>
|
|
|
173
173
|
agent-discordbot message replies <channel> <thread-id>
|
|
174
174
|
agent-discordbot message replies general 9876543210987654321 --limit 50
|
|
175
175
|
|
|
176
|
-
#
|
|
177
|
-
agent-discordbot message
|
|
176
|
+
# Edit a message (bot's own messages only)
|
|
177
|
+
agent-discordbot message edit <channel> <message-id> <text>
|
|
178
178
|
|
|
179
179
|
# Delete a message (bot's own messages only)
|
|
180
180
|
agent-discordbot message delete <channel> <message-id> --force
|
|
@@ -128,8 +128,8 @@ agent-slack message replies general 1234567890.123456 --limit 50
|
|
|
128
128
|
agent-slack message search <query>
|
|
129
129
|
agent-slack message search "project update" --limit 50
|
|
130
130
|
|
|
131
|
-
#
|
|
132
|
-
agent-slack message
|
|
131
|
+
# Edit a message
|
|
132
|
+
agent-slack message edit <channel> <ts> <new-text>
|
|
133
133
|
|
|
134
134
|
# Delete a message
|
|
135
135
|
agent-slack message delete <channel> <ts> --force
|
|
@@ -165,8 +165,8 @@ agent-slackbot message get <channel> <ts>
|
|
|
165
165
|
agent-slackbot message replies <channel> <thread_ts>
|
|
166
166
|
agent-slackbot message replies C0ACZKTDDC0 1234567890.123456 --limit 50
|
|
167
167
|
|
|
168
|
-
#
|
|
169
|
-
agent-slackbot message
|
|
168
|
+
# Edit a message (bot's own messages only)
|
|
169
|
+
agent-slackbot message edit <channel> <ts> <new-text>
|
|
170
170
|
|
|
171
171
|
# Delete a message (bot's own messages only)
|
|
172
172
|
agent-slackbot message delete <channel> <ts> --force
|
|
@@ -265,13 +265,27 @@ import { TeamsClient, TeamsListener } from 'agent-messenger/teams'
|
|
|
265
265
|
const client = await new TeamsClient().login()
|
|
266
266
|
const listener = new TeamsListener(client)
|
|
267
267
|
|
|
268
|
-
listener.on('message', (message) => {
|
|
268
|
+
listener.on('message', async (message) => {
|
|
269
269
|
console.log(`New message in ${message.chatId}: ${message.content}`)
|
|
270
|
+
|
|
271
|
+
// Channel messages carry team/channel context and parsed @mentions.
|
|
272
|
+
if (message.conversationType === 'channel') {
|
|
273
|
+
for (const mention of message.mentions) {
|
|
274
|
+
console.log(`Mentioned: ${mention.displayName} (${mention.mri})`)
|
|
275
|
+
}
|
|
276
|
+
await client.sendMessage(message.teamId!, message.channelId!, 'On it 👍')
|
|
277
|
+
}
|
|
270
278
|
})
|
|
271
279
|
|
|
272
280
|
await listener.start()
|
|
273
281
|
```
|
|
274
282
|
|
|
283
|
+
Each `message` is a `TeamsRealtimeMessage`. Alongside the unchanged
|
|
284
|
+
`chatId`/`content`/`author`, it carries `conversationType` (`'chat'` or
|
|
285
|
+
`'channel'`), `teamId`/`channelId` (set for channel messages, for use with
|
|
286
|
+
`sendMessage`), and `mentions` (always present, empty when there are no
|
|
287
|
+
`@mentions`; each is `{ id, mri?, displayName }`).
|
|
288
|
+
|
|
275
289
|
The listener reuses your extracted credentials, so the Teams desktop app must be
|
|
276
290
|
logged in. It reconnects automatically and re-authenticates on token expiry.
|
|
277
291
|
|
|
@@ -80,7 +80,7 @@ agent-telegrambot message send <chat> "..." --silent
|
|
|
80
80
|
agent-telegrambot message send <chat> "..." --thread-id 5
|
|
81
81
|
|
|
82
82
|
# Edit a message
|
|
83
|
-
agent-telegrambot message
|
|
83
|
+
agent-telegrambot message edit <chat> <message-id> <new-text>
|
|
84
84
|
|
|
85
85
|
# Delete a message
|
|
86
86
|
agent-telegrambot message delete <chat> <message-id> --force
|
|
@@ -206,9 +206,39 @@ import type {
|
|
|
206
206
|
TeamsAccount,
|
|
207
207
|
TeamsConfig,
|
|
208
208
|
TeamsConfigLegacy,
|
|
209
|
+
TeamsRealtimeMessage,
|
|
210
|
+
TeamsMention,
|
|
211
|
+
TeamsListenerEventMap,
|
|
212
|
+
TeamsTrouterGenericEvent,
|
|
209
213
|
} from 'agent-messenger/teams'
|
|
210
214
|
```
|
|
211
215
|
|
|
216
|
+
The real-time listener emits `TeamsRealtimeMessage`:
|
|
217
|
+
|
|
218
|
+
```typescript
|
|
219
|
+
interface TeamsRealtimeMessage {
|
|
220
|
+
id: string
|
|
221
|
+
chatId: string
|
|
222
|
+
conversationType: 'chat' | 'channel'
|
|
223
|
+
teamId?: string // set for channel messages
|
|
224
|
+
channelId?: string // set for channel messages
|
|
225
|
+
content: string // HTML-stripped text
|
|
226
|
+
mentions: TeamsMention[] // always present; empty when no @mentions
|
|
227
|
+
author: { id: string; displayName: string }
|
|
228
|
+
messageType: string
|
|
229
|
+
timestamp: string
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
interface TeamsMention {
|
|
233
|
+
id: string // positional mention index
|
|
234
|
+
mri?: string // Skype MRI of the mentioned user/tag
|
|
235
|
+
displayName: string
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
These are type-only exports (no Zod schema — the listener constructs the event
|
|
240
|
+
internally rather than parsing untrusted input).
|
|
241
|
+
|
|
212
242
|
### Zod Schemas
|
|
213
243
|
|
|
214
244
|
Runtime-validated schemas are also exported for parsing API responses:
|
package/e2e/README.md
CHANGED
|
@@ -171,7 +171,7 @@ When triggering manually, you can select which platform to test:
|
|
|
171
171
|
| ------------- | -------------------------------------------------------------- |
|
|
172
172
|
| `auth` | status |
|
|
173
173
|
| `workspace` | list, current |
|
|
174
|
-
| `message` | send, list, get,
|
|
174
|
+
| `message` | send, list, get, edit, delete, thread reply, replies, search |
|
|
175
175
|
| `channel` | list, list --type, info, history |
|
|
176
176
|
| `user` | list, me, info |
|
|
177
177
|
| `reaction` | add, list, remove |
|
|
@@ -188,7 +188,7 @@ When triggering manually, you can select which platform to test:
|
|
|
188
188
|
| Command Group | Tests |
|
|
189
189
|
| ------------- | ------------------------------------------------------ |
|
|
190
190
|
| `auth` | status |
|
|
191
|
-
| `message` | send, list, get,
|
|
191
|
+
| `message` | send, list, get, edit, delete, thread reply, replies |
|
|
192
192
|
| `channel` | list, info |
|
|
193
193
|
| `user` | list, info |
|
|
194
194
|
| `reaction` | add, remove |
|
|
@@ -228,7 +228,7 @@ When triggering manually, you can select which platform to test:
|
|
|
228
228
|
| Command Group | Tests |
|
|
229
229
|
| ------------- | ------------------------------------------------ |
|
|
230
230
|
| `auth` | status |
|
|
231
|
-
| `message` | send, list, get,
|
|
231
|
+
| `message` | send, list, get, edit, delete, thread, replies |
|
|
232
232
|
| `channel` | list, info |
|
|
233
233
|
| `user` | list, info |
|
|
234
234
|
| `reaction` | add, remove |
|
|
@@ -114,7 +114,7 @@ describe('DiscordBot E2E Tests', () => {
|
|
|
114
114
|
expect(data?.id).toBe(sent!.id)
|
|
115
115
|
})
|
|
116
116
|
|
|
117
|
-
it('message
|
|
117
|
+
it('message edit modifies message', async () => {
|
|
118
118
|
const testId = generateTestId()
|
|
119
119
|
const sendResult = await runCLI('discordbot', [
|
|
120
120
|
'message',
|
|
@@ -130,7 +130,7 @@ describe('DiscordBot E2E Tests', () => {
|
|
|
130
130
|
|
|
131
131
|
const result = await runCLI('discordbot', [
|
|
132
132
|
'message',
|
|
133
|
-
'
|
|
133
|
+
'edit',
|
|
134
134
|
DISCORDBOT_TEST_CHANNEL_ID,
|
|
135
135
|
sent!.id,
|
|
136
136
|
`Updated ${testId}`,
|
package/e2e/slack.e2e.test.ts
CHANGED
|
@@ -95,14 +95,14 @@ describe('Slack E2E Tests', () => {
|
|
|
95
95
|
expect(data?.text).toContain(testId)
|
|
96
96
|
})
|
|
97
97
|
|
|
98
|
-
it('message
|
|
98
|
+
it('message edit modifies message', async () => {
|
|
99
99
|
const testId = generateTestId()
|
|
100
100
|
const { id: ts } = await createTestMessage('slack', SLACK_TEST_CHANNEL_ID, `Original ${testId}`)
|
|
101
101
|
testMessages.push(ts)
|
|
102
102
|
|
|
103
103
|
await waitForRateLimit()
|
|
104
104
|
|
|
105
|
-
const result = await runCLI('slack', ['message', '
|
|
105
|
+
const result = await runCLI('slack', ['message', 'edit', SLACK_TEST_CHANNEL_ID, ts, `Updated ${testId}`])
|
|
106
106
|
expect(result.exitCode).toBe(0)
|
|
107
107
|
|
|
108
108
|
await waitForRateLimit()
|
package/e2e/slackbot.e2e.test.ts
CHANGED
|
@@ -104,7 +104,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
104
104
|
expect(data?.ts).toBe(sent!.ts)
|
|
105
105
|
})
|
|
106
106
|
|
|
107
|
-
it('message
|
|
107
|
+
it('message edit modifies message', async () => {
|
|
108
108
|
const testId = generateTestId()
|
|
109
109
|
const sendResult = await runCLI('slackbot', ['message', 'send', SLACKBOT_TEST_CHANNEL_ID, `Original ${testId}`])
|
|
110
110
|
const sent = parseJSON<{ ts: string }>(sendResult.stdout)
|
|
@@ -115,7 +115,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
115
115
|
|
|
116
116
|
const result = await runCLI('slackbot', [
|
|
117
117
|
'message',
|
|
118
|
-
'
|
|
118
|
+
'edit',
|
|
119
119
|
SLACKBOT_TEST_CHANNEL_ID,
|
|
120
120
|
sent!.ts,
|
|
121
121
|
`Updated ${testId}`,
|
|
@@ -93,7 +93,7 @@ describe('Telegram Bot E2E Tests', () => {
|
|
|
93
93
|
if (data?.message?.message_id) trackedMessageIds.push(data.message.message_id)
|
|
94
94
|
})
|
|
95
95
|
|
|
96
|
-
it('message
|
|
96
|
+
it('message edit edits previously sent message', async () => {
|
|
97
97
|
if (!telegramBotAvailable) return
|
|
98
98
|
|
|
99
99
|
const testId = generateTestId()
|
|
@@ -111,7 +111,7 @@ describe('Telegram Bot E2E Tests', () => {
|
|
|
111
111
|
|
|
112
112
|
const updateResult = await runCLI('telegrambot', [
|
|
113
113
|
'message',
|
|
114
|
-
'
|
|
114
|
+
'edit',
|
|
115
115
|
TELEGRAMBOT_TEST_CHAT_ID,
|
|
116
116
|
String(sent!.message.message_id),
|
|
117
117
|
`Edited ${testId}`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-messenger",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.30.0",
|
|
4
4
|
"description": "Multi-platform messaging CLI for AI agents (Slack, Discord, Teams, Webex, Telegram, Telegram Bot, WhatsApp, LINE, iMessage, Instagram, KakaoTalk, Channel Talk)",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-channeltalk
|
|
3
3
|
description: Interact with Channel Talk using extracted desktop app or browser credentials - read chats, send messages, search messages, manage groups
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.30.0
|
|
5
5
|
allowed-tools: Bash(agent-channeltalk:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-discord
|
|
3
3
|
description: Interact with Discord servers - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.30.0
|
|
5
5
|
allowed-tools: Bash(agent-discord:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -193,6 +193,10 @@ agent-discord message list 1234567890123456789 --limit 50
|
|
|
193
193
|
agent-discord message get <channel-id> <message-id>
|
|
194
194
|
agent-discord message get 1234567890123456789 9876543210987654321
|
|
195
195
|
|
|
196
|
+
# Edit a message
|
|
197
|
+
agent-discord message edit <channel-id> <message-id> <content>
|
|
198
|
+
agent-discord message edit 1234567890123456789 9876543210987654321 "Updated text"
|
|
199
|
+
|
|
196
200
|
# Delete a message
|
|
197
201
|
agent-discord message delete <channel-id> <message-id> --force
|
|
198
202
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-discordbot
|
|
3
3
|
description: Interact with Discord servers using bot tokens - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.30.0
|
|
5
5
|
allowed-tools: Bash(agent-discordbot:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -220,8 +220,8 @@ agent-discordbot message get <channel-id> <message-id>
|
|
|
220
220
|
agent-discordbot message replies <channel-id> <message-id>
|
|
221
221
|
agent-discordbot message replies 1234567890123456789 9876543210987654321 --limit 50
|
|
222
222
|
|
|
223
|
-
#
|
|
224
|
-
agent-discordbot message
|
|
223
|
+
# Edit a message (bot's own messages only)
|
|
224
|
+
agent-discordbot message edit <channel-id> <message-id> <new-content>
|
|
225
225
|
|
|
226
226
|
# Delete a message (bot's own messages only)
|
|
227
227
|
agent-discordbot message delete <channel-id> <message-id> --force
|
|
@@ -107,8 +107,8 @@ sleep 5
|
|
|
107
107
|
agent-discordbot reaction remove "$CHANNEL" "$MSG_ID" hourglass
|
|
108
108
|
agent-discordbot reaction add "$CHANNEL" "$MSG_ID" white_check_mark
|
|
109
109
|
|
|
110
|
-
#
|
|
111
|
-
agent-discordbot message
|
|
110
|
+
# Edit message with result
|
|
111
|
+
agent-discordbot message edit "$CHANNEL" "$MSG_ID" "Request processed successfully!"
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
**When to use**: Visual status tracking, acknowledgments, workflow states.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-slack
|
|
3
3
|
description: Interact with Slack workspaces - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.30.0
|
|
5
5
|
allowed-tools: Bash(agent-slack:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -217,8 +217,8 @@ agent-slack message replies general 1234567890.123456 --limit 50
|
|
|
217
217
|
agent-slack message replies general 1234567890.123456 --oldest 1234567890.000000
|
|
218
218
|
agent-slack message replies general 1234567890.123456 --cursor <next_cursor>
|
|
219
219
|
|
|
220
|
-
#
|
|
221
|
-
agent-slack message
|
|
220
|
+
# Edit a message
|
|
221
|
+
agent-slack message edit <channel> <ts> <new-text>
|
|
222
222
|
|
|
223
223
|
# Delete a message
|
|
224
224
|
agent-slack message delete <channel> <ts> --force
|
|
@@ -287,8 +287,8 @@ sleep 5
|
|
|
287
287
|
agent-slack reaction remove "$CHANNEL" "$MSG_TS" hourglass_flowing_sand
|
|
288
288
|
agent-slack reaction add "$CHANNEL" "$MSG_TS" white_check_mark
|
|
289
289
|
|
|
290
|
-
#
|
|
291
|
-
agent-slack message
|
|
290
|
+
# Edit message
|
|
291
|
+
agent-slack message edit "$CHANNEL" "$MSG_TS" "✅ Deployed v2.1.0 to production successfully!"
|
|
292
292
|
```
|
|
293
293
|
|
|
294
294
|
**When to use**: Visual status tracking, workflow states, quick acknowledgments.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-slackbot
|
|
3
3
|
description: Interact with Slack workspaces using bot tokens - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.30.0
|
|
5
5
|
allowed-tools: Bash(agent-slackbot:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -206,8 +206,8 @@ agent-slackbot message get <channel> <ts>
|
|
|
206
206
|
agent-slackbot message replies <channel> <thread_ts>
|
|
207
207
|
agent-slackbot message replies C0ACZKTDDC0 1234567890.123456 --limit 50
|
|
208
208
|
|
|
209
|
-
#
|
|
210
|
-
agent-slackbot message
|
|
209
|
+
# Edit a message (bot's own messages only)
|
|
210
|
+
agent-slackbot message edit <channel> <ts> <new-text>
|
|
211
211
|
|
|
212
212
|
# Delete a message (bot's own messages only)
|
|
213
213
|
agent-slackbot message delete <channel> <ts> --force
|
|
@@ -47,8 +47,8 @@ sleep 2
|
|
|
47
47
|
agent-slackbot message send "$CHANNEL" "Deploying to production..." --thread "$THREAD_TS"
|
|
48
48
|
sleep 2
|
|
49
49
|
|
|
50
|
-
#
|
|
51
|
-
agent-slackbot message
|
|
50
|
+
# Edit parent with final status
|
|
51
|
+
agent-slackbot message edit "$CHANNEL" "$THREAD_TS" "Deployment complete!"
|
|
52
52
|
|
|
53
53
|
# Add reaction
|
|
54
54
|
agent-slackbot reaction add "$CHANNEL" "$THREAD_TS" white_check_mark
|
|
@@ -110,8 +110,8 @@ sleep 5
|
|
|
110
110
|
agent-slackbot reaction remove "$CHANNEL" "$MSG_TS" hourglass_flowing_sand
|
|
111
111
|
agent-slackbot reaction add "$CHANNEL" "$MSG_TS" white_check_mark
|
|
112
112
|
|
|
113
|
-
#
|
|
114
|
-
agent-slackbot message
|
|
113
|
+
# Edit message with result
|
|
114
|
+
agent-slackbot message edit "$CHANNEL" "$MSG_TS" "Request processed successfully!"
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
**When to use**: Visual status tracking, acknowledgments, workflow states.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-teams
|
|
3
3
|
description: Interact with Microsoft Teams - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.30.0
|
|
5
5
|
allowed-tools: Bash(agent-teams:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -249,10 +249,15 @@ agent-teams chat history <chat-id> --limit 100
|
|
|
249
249
|
|
|
250
250
|
# Send a message to a chat
|
|
251
251
|
agent-teams chat send <chat-id> "Hello"
|
|
252
|
+
|
|
253
|
+
# Edit one of your own chat messages
|
|
254
|
+
agent-teams chat edit <chat-id> <message-id> "Updated text"
|
|
252
255
|
```
|
|
253
256
|
|
|
254
257
|
Chat IDs look like `19:guid1_guid2@unq.gbl.spaces` (1:1) or `19:guid@thread.tacv2` (group). Get them from `chat list`. The `48:notes` chat (`type: self`) is your personal "to me" notes thread.
|
|
255
258
|
|
|
259
|
+
`chat edit` only works on your own messages, and only for chats — Teams channel messages are not editable through this API.
|
|
260
|
+
|
|
256
261
|
### Team Commands
|
|
257
262
|
|
|
258
263
|
```bash
|
|
@@ -473,13 +478,36 @@ import { TeamsClient, TeamsListener } from 'agent-messenger/teams'
|
|
|
473
478
|
const client = await new TeamsClient().login()
|
|
474
479
|
const listener = new TeamsListener(client)
|
|
475
480
|
|
|
476
|
-
listener.on('message', (message) => {
|
|
481
|
+
listener.on('message', async (message) => {
|
|
477
482
|
console.log(`New message in ${message.chatId}: ${message.content}`)
|
|
483
|
+
|
|
484
|
+
// Channel messages carry team/channel context and parsed @mentions.
|
|
485
|
+
if (message.conversationType === 'channel') {
|
|
486
|
+
for (const mention of message.mentions) {
|
|
487
|
+
console.log(`Mentioned: ${mention.displayName} (${mention.mri})`)
|
|
488
|
+
}
|
|
489
|
+
await client.sendMessage(message.teamId!, message.channelId!, 'On it 👍')
|
|
490
|
+
}
|
|
478
491
|
})
|
|
479
492
|
|
|
480
493
|
await listener.start()
|
|
481
494
|
```
|
|
482
495
|
|
|
496
|
+
Each `message` is a `TeamsRealtimeMessage`:
|
|
497
|
+
|
|
498
|
+
| Field | Type | Notes |
|
|
499
|
+
| --- | --- | --- |
|
|
500
|
+
| `id` | `string` | Message id |
|
|
501
|
+
| `chatId` | `string` | Conversation id (unchanged) |
|
|
502
|
+
| `conversationType` | `'chat' \| 'channel'` | `'channel'` for team-channel messages |
|
|
503
|
+
| `teamId` | `string?` | Set for channel messages (use with `sendMessage`) |
|
|
504
|
+
| `channelId` | `string?` | Set for channel messages (use with `sendMessage`) |
|
|
505
|
+
| `content` | `string` | HTML-stripped text (unchanged) |
|
|
506
|
+
| `mentions` | `TeamsMention[]` | Always present; empty when no `@mentions`. Each is `{ id, mri?, displayName }` |
|
|
507
|
+
| `author` | `{ id, displayName }` | Sender (unchanged) |
|
|
508
|
+
| `messageType` | `string` | e.g. `Text`, `RichText/Html` |
|
|
509
|
+
| `timestamp` | `string` | ISO timestamp |
|
|
510
|
+
|
|
483
511
|
### Full API Reference
|
|
484
512
|
|
|
485
513
|
See the [Teams SDK documentation](https://agent-messenger.dev/docs/sdk/teams) for complete method signatures, types, schemas, and examples.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-telegram
|
|
3
3
|
description: Interact with Telegram through TDLib - authenticate, inspect chats, and send messages
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.30.0
|
|
5
5
|
allowed-tools: Bash(agent-telegram:*)
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -117,6 +117,9 @@ agent-telegram chat get @durov
|
|
|
117
117
|
# List recent messages
|
|
118
118
|
agent-telegram message list @durov --limit 10
|
|
119
119
|
|
|
120
|
+
# Edit one of your own messages (within 48h)
|
|
121
|
+
agent-telegram message edit @durov <message-id> "Updated text"
|
|
122
|
+
|
|
120
123
|
# Logout
|
|
121
124
|
agent-telegram auth logout
|
|
122
125
|
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-telegrambot
|
|
3
3
|
description: Interact with Telegram using bot tokens - send messages, read chats, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.30.0
|
|
5
5
|
allowed-tools: Bash(agent-telegrambot:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -172,7 +172,7 @@ agent-telegrambot message send @username "Silent message" --silent
|
|
|
172
172
|
agent-telegrambot message send <chat> "Topic message" --thread-id 5
|
|
173
173
|
|
|
174
174
|
# Edit a message (bot's own messages only)
|
|
175
|
-
agent-telegrambot message
|
|
175
|
+
agent-telegrambot message edit <chat> <message-id> <new-text>
|
|
176
176
|
|
|
177
177
|
# Delete a message
|
|
178
178
|
agent-telegrambot message delete <chat> <message-id> --force
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-webexbot
|
|
3
3
|
description: Interact with Cisco Webex using bot tokens - send messages, reply in threads, upload and download files, look up people, read spaces, manage memberships, stream real-time events
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.30.0
|
|
5
5
|
allowed-tools: Bash(agent-webexbot:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-whatsapp
|
|
3
3
|
description: Interact with WhatsApp - send messages, read chats, manage conversations
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.30.0
|
|
5
5
|
allowed-tools: Bash(agent-whatsapp:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -251,6 +251,10 @@ agent-whatsapp message send +1234567890 "Hello!"
|
|
|
251
251
|
agent-whatsapp message send 123456789-123345@g.us "Hello team!"
|
|
252
252
|
agent-whatsapp message send +1234567890 "Hello!" --account <id>
|
|
253
253
|
|
|
254
|
+
# Edit one of your own messages (within ~15 minutes)
|
|
255
|
+
agent-whatsapp message edit <chat> <message-id> <text>
|
|
256
|
+
agent-whatsapp message edit +1234567890 ABC123DEF456 "Updated text"
|
|
257
|
+
|
|
254
258
|
# React to a message
|
|
255
259
|
agent-whatsapp message react <chat> <message-id> <emoji>
|
|
256
260
|
agent-whatsapp message react +1234567890 ABC123DEF456 "👍"
|
|
@@ -342,6 +346,26 @@ agent-whatsapp message list +1234567890 --limit 1
|
|
|
342
346
|
agent-whatsapp message react +1234567890 <message-id> "👍"
|
|
343
347
|
```
|
|
344
348
|
|
|
349
|
+
### Edit one of your own messages
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
# Get the message ID of a message you sent
|
|
353
|
+
agent-whatsapp message list +1234567890 --limit 5
|
|
354
|
+
|
|
355
|
+
# Edit it (only your own messages, within ~15 minutes)
|
|
356
|
+
agent-whatsapp message edit +1234567890 <message-id> "Updated text"
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
The SDK exposes the same capability via `WhatsAppClient.editMessage`:
|
|
360
|
+
|
|
361
|
+
```typescript
|
|
362
|
+
import { WhatsAppClient } from 'agent-messenger/whatsapp'
|
|
363
|
+
|
|
364
|
+
const client = await new WhatsAppClient().login()
|
|
365
|
+
const sent = await client.sendMessage('+1234567890', 'Deploying…')
|
|
366
|
+
await client.editMessage('+1234567890', sent.id, 'Deployed ✅')
|
|
367
|
+
```
|
|
368
|
+
|
|
345
369
|
## Error Handling
|
|
346
370
|
|
|
347
371
|
All commands return consistent error format:
|