agent-messenger 1.15.0 → 2.0.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/README.md +73 -13
- package/.claude-plugin/marketplace.json +51 -12
- package/.claude-plugin/plugin.json +14 -3
- package/CONTRIBUTING.md +24 -3
- package/README.md +209 -52
- package/bun.lock +350 -2
- package/cubic.yaml +69 -0
- package/dist/package.json +118 -9
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +27 -6
- package/dist/src/cli.js.map +1 -1
- package/dist/src/platforms/channeltalk/client.d.ts +5 -1
- package/dist/src/platforms/channeltalk/client.d.ts.map +1 -1
- package/dist/src/platforms/channeltalk/client.js +23 -6
- package/dist/src/platforms/channeltalk/client.js.map +1 -1
- package/dist/src/platforms/channeltalk/commands/auth.d.ts +1 -1
- package/dist/src/platforms/channeltalk/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/channeltalk/commands/auth.js +4 -4
- package/dist/src/platforms/channeltalk/commands/auth.js.map +1 -1
- package/dist/src/platforms/channeltalk/commands/shared.js +1 -1
- package/dist/src/platforms/channeltalk/commands/shared.js.map +1 -1
- package/dist/src/platforms/channeltalk/ensure-auth.d.ts +2 -2
- package/dist/src/platforms/channeltalk/ensure-auth.d.ts.map +1 -1
- package/dist/src/platforms/channeltalk/ensure-auth.js +4 -4
- package/dist/src/platforms/channeltalk/ensure-auth.js.map +1 -1
- package/dist/src/platforms/channeltalk/index.d.ts +2 -2
- package/dist/src/platforms/channeltalk/index.d.ts.map +1 -1
- package/dist/src/platforms/channeltalk/index.js +1 -2
- package/dist/src/platforms/channeltalk/index.js.map +1 -1
- package/dist/src/platforms/channeltalk/token-extractor.d.ts +8 -0
- package/dist/src/platforms/channeltalk/token-extractor.d.ts.map +1 -1
- package/dist/src/platforms/channeltalk/token-extractor.js +127 -13
- package/dist/src/platforms/channeltalk/token-extractor.js.map +1 -1
- package/dist/src/platforms/channeltalk/types.d.ts +52 -949
- package/dist/src/platforms/channeltalk/types.d.ts.map +1 -1
- package/dist/src/platforms/channeltalk/types.js +1 -1
- package/dist/src/platforms/channeltalk/types.js.map +1 -1
- package/dist/src/platforms/channeltalkbot/client.d.ts +5 -1
- package/dist/src/platforms/channeltalkbot/client.d.ts.map +1 -1
- package/dist/src/platforms/channeltalkbot/client.js +24 -9
- package/dist/src/platforms/channeltalkbot/client.js.map +1 -1
- package/dist/src/platforms/channeltalkbot/commands/auth.js +2 -2
- package/dist/src/platforms/channeltalkbot/commands/auth.js.map +1 -1
- package/dist/src/platforms/channeltalkbot/commands/shared.js +1 -1
- package/dist/src/platforms/channeltalkbot/commands/shared.js.map +1 -1
- package/dist/src/platforms/channeltalkbot/index.d.ts +2 -1
- package/dist/src/platforms/channeltalkbot/index.d.ts.map +1 -1
- package/dist/src/platforms/channeltalkbot/index.js.map +1 -1
- package/dist/src/platforms/channeltalkbot/types.d.ts +24 -186
- package/dist/src/platforms/channeltalkbot/types.d.ts.map +1 -1
- package/dist/src/platforms/discord/client.d.ts +7 -1
- package/dist/src/platforms/discord/client.d.ts.map +1 -1
- package/dist/src/platforms/discord/client.js +27 -6
- package/dist/src/platforms/discord/client.js.map +1 -1
- package/dist/src/platforms/discord/commands/auth.js +2 -2
- package/dist/src/platforms/discord/commands/auth.js.map +1 -1
- package/dist/src/platforms/discord/commands/channel.js +3 -3
- package/dist/src/platforms/discord/commands/channel.js.map +1 -1
- package/dist/src/platforms/discord/commands/dm.js +2 -2
- package/dist/src/platforms/discord/commands/dm.js.map +1 -1
- package/dist/src/platforms/discord/commands/file.js +3 -3
- package/dist/src/platforms/discord/commands/file.js.map +1 -1
- package/dist/src/platforms/discord/commands/friend.js +1 -1
- package/dist/src/platforms/discord/commands/friend.js.map +1 -1
- package/dist/src/platforms/discord/commands/member.js +1 -1
- package/dist/src/platforms/discord/commands/member.js.map +1 -1
- package/dist/src/platforms/discord/commands/mention.js +1 -1
- package/dist/src/platforms/discord/commands/mention.js.map +1 -1
- package/dist/src/platforms/discord/commands/message.js +6 -6
- package/dist/src/platforms/discord/commands/message.js.map +1 -1
- package/dist/src/platforms/discord/commands/note.js +2 -2
- package/dist/src/platforms/discord/commands/note.js.map +1 -1
- package/dist/src/platforms/discord/commands/profile.js +1 -1
- package/dist/src/platforms/discord/commands/profile.js.map +1 -1
- package/dist/src/platforms/discord/commands/reaction.js +3 -3
- package/dist/src/platforms/discord/commands/reaction.js.map +1 -1
- package/dist/src/platforms/discord/commands/server.js +1 -1
- package/dist/src/platforms/discord/commands/server.js.map +1 -1
- package/dist/src/platforms/discord/commands/snapshot.js +1 -1
- package/dist/src/platforms/discord/commands/snapshot.js.map +1 -1
- package/dist/src/platforms/discord/commands/thread.js +2 -2
- package/dist/src/platforms/discord/commands/thread.js.map +1 -1
- package/dist/src/platforms/discord/commands/user.js +3 -3
- package/dist/src/platforms/discord/commands/user.js.map +1 -1
- package/dist/src/platforms/discord/ensure-auth.js +1 -1
- package/dist/src/platforms/discord/ensure-auth.js.map +1 -1
- package/dist/src/platforms/discord/index.d.ts +6 -0
- package/dist/src/platforms/discord/index.d.ts.map +1 -0
- package/dist/src/platforms/discord/index.js +5 -0
- package/dist/src/platforms/discord/index.js.map +1 -0
- package/dist/src/platforms/discord/listener.d.ts +41 -0
- package/dist/src/platforms/discord/listener.d.ts.map +1 -0
- package/dist/src/platforms/discord/listener.js +262 -0
- package/dist/src/platforms/discord/listener.js.map +1 -0
- package/dist/src/platforms/discord/types.d.ts +150 -352
- package/dist/src/platforms/discord/types.d.ts.map +1 -1
- package/dist/src/platforms/discord/types.js +28 -0
- package/dist/src/platforms/discord/types.js.map +1 -1
- package/dist/src/platforms/discordbot/client.d.ts +4 -1
- package/dist/src/platforms/discordbot/client.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/client.js +23 -7
- package/dist/src/platforms/discordbot/client.js.map +1 -1
- package/dist/src/platforms/discordbot/commands/auth.js +2 -2
- package/dist/src/platforms/discordbot/commands/auth.js.map +1 -1
- package/dist/src/platforms/discordbot/commands/shared.js +1 -1
- package/dist/src/platforms/discordbot/commands/shared.js.map +1 -1
- package/dist/src/platforms/discordbot/types.d.ts +15 -203
- package/dist/src/platforms/discordbot/types.d.ts.map +1 -1
- package/dist/src/platforms/instagram/cli.d.ts +5 -0
- package/dist/src/platforms/instagram/cli.d.ts.map +1 -0
- package/dist/src/platforms/instagram/cli.js +30 -0
- package/dist/src/platforms/instagram/cli.js.map +1 -0
- package/dist/src/platforms/instagram/client.d.ts +65 -0
- package/dist/src/platforms/instagram/client.d.ts.map +1 -0
- package/dist/src/platforms/instagram/client.js +524 -0
- package/dist/src/platforms/instagram/client.js.map +1 -0
- package/dist/src/platforms/instagram/commands/auth.d.ts +3 -0
- package/dist/src/platforms/instagram/commands/auth.d.ts.map +1 -0
- package/dist/src/platforms/instagram/commands/auth.js +330 -0
- package/dist/src/platforms/instagram/commands/auth.js.map +1 -0
- package/dist/src/platforms/instagram/commands/chat.d.ts +3 -0
- package/dist/src/platforms/instagram/commands/chat.d.ts.map +1 -0
- package/dist/src/platforms/instagram/commands/chat.js +42 -0
- package/dist/src/platforms/instagram/commands/chat.js.map +1 -0
- package/dist/src/platforms/instagram/commands/index.d.ts +4 -0
- package/dist/src/platforms/instagram/commands/index.d.ts.map +1 -0
- package/dist/src/platforms/instagram/commands/index.js +4 -0
- package/dist/src/platforms/instagram/commands/index.js.map +1 -0
- package/dist/src/platforms/instagram/commands/message.d.ts +3 -0
- package/dist/src/platforms/instagram/commands/message.d.ts.map +1 -0
- package/dist/src/platforms/instagram/commands/message.js +102 -0
- package/dist/src/platforms/instagram/commands/message.js.map +1 -0
- package/dist/src/platforms/instagram/commands/shared.d.ts +8 -0
- package/dist/src/platforms/instagram/commands/shared.d.ts.map +1 -0
- package/dist/src/platforms/instagram/commands/shared.js +31 -0
- package/dist/src/platforms/instagram/commands/shared.js.map +1 -0
- package/dist/src/platforms/instagram/credential-manager.d.ts +20 -0
- package/dist/src/platforms/instagram/credential-manager.d.ts.map +1 -0
- package/dist/src/platforms/instagram/credential-manager.js +104 -0
- package/dist/src/platforms/instagram/credential-manager.js.map +1 -0
- package/dist/src/platforms/instagram/ensure-auth.d.ts +2 -0
- package/dist/src/platforms/instagram/ensure-auth.d.ts.map +1 -0
- package/dist/src/platforms/instagram/ensure-auth.js +21 -0
- package/dist/src/platforms/instagram/ensure-auth.js.map +1 -0
- package/dist/src/platforms/instagram/index.d.ts +5 -0
- package/dist/src/platforms/instagram/index.d.ts.map +1 -0
- package/dist/src/platforms/instagram/index.js +5 -0
- package/dist/src/platforms/instagram/index.js.map +1 -0
- package/dist/src/platforms/instagram/listener.d.ts +32 -0
- package/dist/src/platforms/instagram/listener.d.ts.map +1 -0
- package/dist/src/platforms/instagram/listener.js +87 -0
- package/dist/src/platforms/instagram/listener.js.map +1 -0
- package/dist/src/platforms/instagram/types.d.ts +61 -0
- package/dist/src/platforms/instagram/types.d.ts.map +1 -0
- package/dist/src/platforms/instagram/types.js +89 -0
- package/dist/src/platforms/instagram/types.js.map +1 -0
- package/dist/src/platforms/kakaotalk/auth/kakao-login.d.ts +27 -0
- package/dist/src/platforms/kakaotalk/auth/kakao-login.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/auth/kakao-login.js +213 -0
- package/dist/src/platforms/kakaotalk/auth/kakao-login.js.map +1 -0
- package/dist/src/platforms/kakaotalk/cli.d.ts +5 -0
- package/dist/src/platforms/kakaotalk/cli.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/cli.js +30 -0
- package/dist/src/platforms/kakaotalk/cli.js.map +1 -0
- package/dist/src/platforms/kakaotalk/client.d.ts +40 -0
- package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/client.js +290 -0
- package/dist/src/platforms/kakaotalk/client.js.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/auth.d.ts +3 -0
- package/dist/src/platforms/kakaotalk/commands/auth.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/auth.js +515 -0
- package/dist/src/platforms/kakaotalk/commands/auth.js.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/chat.d.ts +3 -0
- package/dist/src/platforms/kakaotalk/commands/chat.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/chat.js +23 -0
- package/dist/src/platforms/kakaotalk/commands/chat.js.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/index.d.ts +4 -0
- package/dist/src/platforms/kakaotalk/commands/index.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/index.js +4 -0
- package/dist/src/platforms/kakaotalk/commands/index.js.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/message.d.ts +3 -0
- package/dist/src/platforms/kakaotalk/commands/message.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/message.js +41 -0
- package/dist/src/platforms/kakaotalk/commands/message.js.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/shared.d.ts +7 -0
- package/dist/src/platforms/kakaotalk/commands/shared.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/shared.js +24 -0
- package/dist/src/platforms/kakaotalk/commands/shared.js.map +1 -0
- package/dist/src/platforms/kakaotalk/credential-manager.d.ts +27 -0
- package/dist/src/platforms/kakaotalk/credential-manager.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/credential-manager.js +82 -0
- package/dist/src/platforms/kakaotalk/credential-manager.js.map +1 -0
- package/dist/src/platforms/kakaotalk/ensure-auth.d.ts +3 -0
- package/dist/src/platforms/kakaotalk/ensure-auth.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/ensure-auth.js +11 -0
- package/dist/src/platforms/kakaotalk/ensure-auth.js.map +1 -0
- package/dist/src/platforms/kakaotalk/index.d.ts +7 -0
- package/dist/src/platforms/kakaotalk/index.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/index.js +5 -0
- package/dist/src/platforms/kakaotalk/index.js.map +1 -0
- package/dist/src/platforms/kakaotalk/listener.d.ts +24 -0
- package/dist/src/platforms/kakaotalk/listener.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/listener.js +171 -0
- package/dist/src/platforms/kakaotalk/listener.js.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/config.d.ts +14 -0
- package/dist/src/platforms/kakaotalk/protocol/config.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/config.js +23 -0
- package/dist/src/platforms/kakaotalk/protocol/config.js.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/connection.d.ts +25 -0
- package/dist/src/platforms/kakaotalk/protocol/connection.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/connection.js +144 -0
- package/dist/src/platforms/kakaotalk/protocol/connection.js.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/crypto.d.ts +8 -0
- package/dist/src/platforms/kakaotalk/protocol/crypto.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/crypto.js +51 -0
- package/dist/src/platforms/kakaotalk/protocol/crypto.js.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/packet.d.ts +7 -0
- package/dist/src/platforms/kakaotalk/protocol/packet.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/packet.js +38 -0
- package/dist/src/platforms/kakaotalk/protocol/packet.js.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/session.d.ts +18 -0
- package/dist/src/platforms/kakaotalk/protocol/session.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/session.js +127 -0
- package/dist/src/platforms/kakaotalk/protocol/session.js.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/types.d.ts +41 -0
- package/dist/src/platforms/kakaotalk/protocol/types.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/types.js +8 -0
- package/dist/src/platforms/kakaotalk/protocol/types.js.map +1 -0
- package/dist/src/platforms/kakaotalk/token-extractor.d.ts +17 -0
- package/dist/src/platforms/kakaotalk/token-extractor.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/token-extractor.js +273 -0
- package/dist/src/platforms/kakaotalk/token-extractor.js.map +1 -0
- package/dist/src/platforms/kakaotalk/types.d.ts +198 -0
- package/dist/src/platforms/kakaotalk/types.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/types.js +74 -0
- package/dist/src/platforms/kakaotalk/types.js.map +1 -0
- package/dist/src/platforms/line/cli.d.ts +5 -0
- package/dist/src/platforms/line/cli.d.ts.map +1 -0
- package/dist/src/platforms/line/cli.js +32 -0
- package/dist/src/platforms/line/cli.js.map +1 -0
- package/dist/src/platforms/line/client.d.ts +31 -0
- package/dist/src/platforms/line/client.d.ts.map +1 -0
- package/dist/src/platforms/line/client.js +296 -0
- package/dist/src/platforms/line/client.js.map +1 -0
- package/dist/src/platforms/line/commands/auth.d.ts +3 -0
- package/dist/src/platforms/line/commands/auth.d.ts.map +1 -0
- package/dist/src/platforms/line/commands/auth.js +199 -0
- package/dist/src/platforms/line/commands/auth.js.map +1 -0
- package/dist/src/platforms/line/commands/chat.d.ts +3 -0
- package/dist/src/platforms/line/commands/chat.d.ts.map +1 -0
- package/dist/src/platforms/line/commands/chat.js +28 -0
- package/dist/src/platforms/line/commands/chat.js.map +1 -0
- package/dist/src/platforms/line/commands/friend.d.ts +3 -0
- package/dist/src/platforms/line/commands/friend.d.ts.map +1 -0
- package/dist/src/platforms/line/commands/friend.js +25 -0
- package/dist/src/platforms/line/commands/friend.js.map +1 -0
- package/dist/src/platforms/line/commands/index.d.ts +6 -0
- package/dist/src/platforms/line/commands/index.d.ts.map +1 -0
- package/dist/src/platforms/line/commands/index.js +6 -0
- package/dist/src/platforms/line/commands/index.js.map +1 -0
- package/dist/src/platforms/line/commands/message.d.ts +3 -0
- package/dist/src/platforms/line/commands/message.d.ts.map +1 -0
- package/dist/src/platforms/line/commands/message.js +48 -0
- package/dist/src/platforms/line/commands/message.js.map +1 -0
- package/dist/src/platforms/line/commands/profile.d.ts +3 -0
- package/dist/src/platforms/line/commands/profile.d.ts.map +1 -0
- package/dist/src/platforms/line/commands/profile.js +23 -0
- package/dist/src/platforms/line/commands/profile.js.map +1 -0
- package/dist/src/platforms/line/credential-manager.d.ts +22 -0
- package/dist/src/platforms/line/credential-manager.d.ts.map +1 -0
- package/dist/src/platforms/line/credential-manager.js +71 -0
- package/dist/src/platforms/line/credential-manager.js.map +1 -0
- package/dist/src/platforms/line/ensure-auth.d.ts +3 -0
- package/dist/src/platforms/line/ensure-auth.d.ts.map +1 -0
- package/dist/src/platforms/line/ensure-auth.js +10 -0
- package/dist/src/platforms/line/ensure-auth.js.map +1 -0
- package/dist/src/platforms/line/index.d.ts +7 -0
- package/dist/src/platforms/line/index.d.ts.map +1 -0
- package/dist/src/platforms/line/index.js +6 -0
- package/dist/src/platforms/line/index.js.map +1 -0
- package/dist/src/platforms/line/listener.d.ts +22 -0
- package/dist/src/platforms/line/listener.d.ts.map +1 -0
- package/dist/src/platforms/line/listener.js +121 -0
- package/dist/src/platforms/line/listener.js.map +1 -0
- package/dist/src/platforms/line/types.d.ts +165 -0
- package/dist/src/platforms/line/types.d.ts.map +1 -0
- package/dist/src/platforms/line/types.js +79 -0
- package/dist/src/platforms/line/types.js.map +1 -0
- package/dist/src/platforms/slack/cli.d.ts.map +1 -1
- package/dist/src/platforms/slack/cli.js +6 -1
- package/dist/src/platforms/slack/cli.js.map +1 -1
- package/dist/src/platforms/slack/client.d.ts +81 -3
- package/dist/src/platforms/slack/client.d.ts.map +1 -1
- package/dist/src/platforms/slack/client.js +568 -41
- package/dist/src/platforms/slack/client.js.map +1 -1
- package/dist/src/platforms/slack/commands/activity.js +1 -1
- package/dist/src/platforms/slack/commands/activity.js.map +1 -1
- package/dist/src/platforms/slack/commands/auth.js +2 -2
- package/dist/src/platforms/slack/commands/auth.js.map +1 -1
- package/dist/src/platforms/slack/commands/bookmark.d.ts +3 -0
- package/dist/src/platforms/slack/commands/bookmark.d.ts.map +1 -0
- package/dist/src/platforms/slack/commands/bookmark.js +116 -0
- package/dist/src/platforms/slack/commands/bookmark.js.map +1 -0
- package/dist/src/platforms/slack/commands/channel.d.ts.map +1 -1
- package/dist/src/platforms/slack/commands/channel.js +178 -6
- package/dist/src/platforms/slack/commands/channel.js.map +1 -1
- package/dist/src/platforms/slack/commands/drafts.js +1 -1
- package/dist/src/platforms/slack/commands/drafts.js.map +1 -1
- package/dist/src/platforms/slack/commands/emoji.d.ts +3 -0
- package/dist/src/platforms/slack/commands/emoji.d.ts.map +1 -0
- package/dist/src/platforms/slack/commands/emoji.js +27 -0
- package/dist/src/platforms/slack/commands/emoji.js.map +1 -0
- package/dist/src/platforms/slack/commands/file.d.ts.map +1 -1
- package/dist/src/platforms/slack/commands/file.js +26 -5
- package/dist/src/platforms/slack/commands/file.js.map +1 -1
- package/dist/src/platforms/slack/commands/index.d.ts +5 -0
- package/dist/src/platforms/slack/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/slack/commands/index.js +5 -0
- package/dist/src/platforms/slack/commands/index.js.map +1 -1
- package/dist/src/platforms/slack/commands/message.d.ts.map +1 -1
- package/dist/src/platforms/slack/commands/message.js +134 -8
- package/dist/src/platforms/slack/commands/message.js.map +1 -1
- package/dist/src/platforms/slack/commands/pin.d.ts +3 -0
- package/dist/src/platforms/slack/commands/pin.d.ts.map +1 -0
- package/dist/src/platforms/slack/commands/pin.js +76 -0
- package/dist/src/platforms/slack/commands/pin.js.map +1 -0
- package/dist/src/platforms/slack/commands/reaction.js +3 -3
- package/dist/src/platforms/slack/commands/reaction.js.map +1 -1
- package/dist/src/platforms/slack/commands/reminder.d.ts +3 -0
- package/dist/src/platforms/slack/commands/reminder.d.ts.map +1 -0
- package/dist/src/platforms/slack/commands/reminder.js +98 -0
- package/dist/src/platforms/slack/commands/reminder.js.map +1 -0
- package/dist/src/platforms/slack/commands/saved.js +1 -1
- package/dist/src/platforms/slack/commands/saved.js.map +1 -1
- package/dist/src/platforms/slack/commands/sections.js +1 -1
- package/dist/src/platforms/slack/commands/sections.js.map +1 -1
- package/dist/src/platforms/slack/commands/snapshot.d.ts.map +1 -1
- package/dist/src/platforms/slack/commands/snapshot.js +12 -1
- package/dist/src/platforms/slack/commands/snapshot.js.map +1 -1
- package/dist/src/platforms/slack/commands/unread.js +3 -3
- package/dist/src/platforms/slack/commands/unread.js.map +1 -1
- package/dist/src/platforms/slack/commands/user.d.ts.map +1 -1
- package/dist/src/platforms/slack/commands/user.js +78 -1
- package/dist/src/platforms/slack/commands/user.js.map +1 -1
- package/dist/src/platforms/slack/commands/usergroup.d.ts +3 -0
- package/dist/src/platforms/slack/commands/usergroup.d.ts.map +1 -0
- package/dist/src/platforms/slack/commands/usergroup.js +190 -0
- package/dist/src/platforms/slack/commands/usergroup.js.map +1 -0
- package/dist/src/platforms/slack/credential-manager.d.ts +2 -1
- package/dist/src/platforms/slack/credential-manager.d.ts.map +1 -1
- package/dist/src/platforms/slack/credential-manager.js +2 -1
- package/dist/src/platforms/slack/credential-manager.js.map +1 -1
- package/dist/src/platforms/slack/ensure-auth.js +4 -4
- package/dist/src/platforms/slack/ensure-auth.js.map +1 -1
- package/dist/src/platforms/slack/index.d.ts +4 -1
- package/dist/src/platforms/slack/index.d.ts.map +1 -1
- package/dist/src/platforms/slack/index.js +3 -1
- package/dist/src/platforms/slack/index.js.map +1 -1
- package/dist/src/platforms/slack/listener.d.ts +30 -0
- package/dist/src/platforms/slack/listener.d.ts.map +1 -0
- package/dist/src/platforms/slack/listener.js +157 -0
- package/dist/src/platforms/slack/listener.js.map +1 -0
- package/dist/src/platforms/slack/types.d.ts +198 -275
- package/dist/src/platforms/slack/types.d.ts.map +1 -1
- package/dist/src/platforms/slack/types.js +22 -0
- package/dist/src/platforms/slack/types.js.map +1 -1
- package/dist/src/platforms/slackbot/client.d.ts +4 -1
- package/dist/src/platforms/slackbot/client.d.ts.map +1 -1
- package/dist/src/platforms/slackbot/client.js +40 -21
- package/dist/src/platforms/slackbot/client.js.map +1 -1
- package/dist/src/platforms/slackbot/commands/auth.js +2 -2
- package/dist/src/platforms/slackbot/commands/auth.js.map +1 -1
- package/dist/src/platforms/slackbot/commands/shared.js +1 -1
- package/dist/src/platforms/slackbot/commands/shared.js.map +1 -1
- package/dist/src/platforms/slackbot/types.d.ts +20 -282
- package/dist/src/platforms/slackbot/types.d.ts.map +1 -1
- package/dist/src/platforms/teams/client.d.ts +5 -1
- package/dist/src/platforms/teams/client.d.ts.map +1 -1
- package/dist/src/platforms/teams/client.js +27 -9
- package/dist/src/platforms/teams/client.js.map +1 -1
- package/dist/src/platforms/teams/commands/auth.js +3 -3
- package/dist/src/platforms/teams/commands/auth.js.map +1 -1
- package/dist/src/platforms/teams/commands/channel.js +3 -3
- package/dist/src/platforms/teams/commands/channel.js.map +1 -1
- package/dist/src/platforms/teams/commands/file.js +3 -3
- package/dist/src/platforms/teams/commands/file.js.map +1 -1
- package/dist/src/platforms/teams/commands/message.js +4 -4
- package/dist/src/platforms/teams/commands/message.js.map +1 -1
- package/dist/src/platforms/teams/commands/reaction.js +2 -2
- package/dist/src/platforms/teams/commands/reaction.js.map +1 -1
- package/dist/src/platforms/teams/commands/snapshot.js +1 -1
- package/dist/src/platforms/teams/commands/snapshot.js.map +1 -1
- package/dist/src/platforms/teams/commands/team.js +1 -1
- package/dist/src/platforms/teams/commands/team.js.map +1 -1
- package/dist/src/platforms/teams/commands/user.js +3 -3
- package/dist/src/platforms/teams/commands/user.js.map +1 -1
- package/dist/src/platforms/teams/ensure-auth.js +1 -1
- package/dist/src/platforms/teams/ensure-auth.js.map +1 -1
- package/dist/src/platforms/teams/index.d.ts +6 -0
- package/dist/src/platforms/teams/index.d.ts.map +1 -0
- package/dist/src/platforms/teams/index.js +5 -0
- package/dist/src/platforms/teams/index.js.map +1 -0
- package/dist/src/platforms/teams/types.d.ts +26 -193
- package/dist/src/platforms/teams/types.d.ts.map +1 -1
- package/dist/src/platforms/telegram/app-config.d.ts +7 -0
- package/dist/src/platforms/telegram/app-config.d.ts.map +1 -0
- package/dist/src/platforms/telegram/app-config.js +39 -0
- package/dist/src/platforms/telegram/app-config.js.map +1 -0
- package/dist/src/platforms/telegram/chat-utils.d.ts +5 -0
- package/dist/src/platforms/telegram/chat-utils.d.ts.map +1 -0
- package/dist/src/platforms/telegram/chat-utils.js +33 -0
- package/dist/src/platforms/telegram/chat-utils.js.map +1 -0
- package/dist/src/platforms/telegram/cli.d.ts +5 -0
- package/dist/src/platforms/telegram/cli.d.ts.map +1 -0
- package/dist/src/platforms/telegram/cli.js +15 -0
- package/dist/src/platforms/telegram/cli.js.map +1 -0
- package/dist/src/platforms/telegram/client.d.ts +47 -0
- package/dist/src/platforms/telegram/client.d.ts.map +1 -0
- package/dist/src/platforms/telegram/client.js +481 -0
- package/dist/src/platforms/telegram/client.js.map +1 -0
- package/dist/src/platforms/telegram/commands/auth.d.ts +44 -0
- package/dist/src/platforms/telegram/commands/auth.d.ts.map +1 -0
- package/dist/src/platforms/telegram/commands/auth.js +522 -0
- package/dist/src/platforms/telegram/commands/auth.js.map +1 -0
- package/dist/src/platforms/telegram/commands/chat.d.ts +3 -0
- package/dist/src/platforms/telegram/commands/chat.d.ts.map +1 -0
- package/dist/src/platforms/telegram/commands/chat.js +55 -0
- package/dist/src/platforms/telegram/commands/chat.js.map +1 -0
- package/dist/src/platforms/telegram/commands/index.d.ts +4 -0
- package/dist/src/platforms/telegram/commands/index.d.ts.map +1 -0
- package/dist/src/platforms/telegram/commands/index.js +4 -0
- package/dist/src/platforms/telegram/commands/index.js.map +1 -0
- package/dist/src/platforms/telegram/commands/message.d.ts +3 -0
- package/dist/src/platforms/telegram/commands/message.d.ts.map +1 -0
- package/dist/src/platforms/telegram/commands/message.js +40 -0
- package/dist/src/platforms/telegram/commands/message.js.map +1 -0
- package/dist/src/platforms/telegram/commands/shared.d.ts +10 -0
- package/dist/src/platforms/telegram/commands/shared.d.ts.map +1 -0
- package/dist/src/platforms/telegram/commands/shared.js +32 -0
- package/dist/src/platforms/telegram/commands/shared.js.map +1 -0
- package/dist/src/platforms/telegram/credential-manager.d.ts +25 -0
- package/dist/src/platforms/telegram/credential-manager.d.ts.map +1 -0
- package/dist/src/platforms/telegram/credential-manager.js +159 -0
- package/dist/src/platforms/telegram/credential-manager.js.map +1 -0
- package/dist/src/platforms/telegram/my-telegram-org.d.ts +14 -0
- package/dist/src/platforms/telegram/my-telegram-org.d.ts.map +1 -0
- package/dist/src/platforms/telegram/my-telegram-org.js +164 -0
- package/dist/src/platforms/telegram/my-telegram-org.js.map +1 -0
- package/dist/src/platforms/telegram/tdlib.d.ts +11 -0
- package/dist/src/platforms/telegram/tdlib.d.ts.map +1 -0
- package/dist/src/platforms/telegram/tdlib.js +113 -0
- package/dist/src/platforms/telegram/tdlib.js.map +1 -0
- package/dist/src/platforms/telegram/types.d.ts +192 -0
- package/dist/src/platforms/telegram/types.d.ts.map +1 -0
- package/dist/src/platforms/telegram/types.js +183 -0
- package/dist/src/platforms/telegram/types.js.map +1 -0
- package/dist/src/platforms/whatsapp/cli.d.ts +6 -0
- package/dist/src/platforms/whatsapp/cli.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/cli.js +31 -0
- package/dist/src/platforms/whatsapp/cli.js.map +1 -0
- package/dist/src/platforms/whatsapp/client.d.ts +39 -0
- package/dist/src/platforms/whatsapp/client.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/client.js +436 -0
- package/dist/src/platforms/whatsapp/client.js.map +1 -0
- package/dist/src/platforms/whatsapp/commands/auth.d.ts +3 -0
- package/dist/src/platforms/whatsapp/commands/auth.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/commands/auth.js +170 -0
- package/dist/src/platforms/whatsapp/commands/auth.js.map +1 -0
- package/dist/src/platforms/whatsapp/commands/chat.d.ts +3 -0
- package/dist/src/platforms/whatsapp/commands/chat.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/commands/chat.js +42 -0
- package/dist/src/platforms/whatsapp/commands/chat.js.map +1 -0
- package/dist/src/platforms/whatsapp/commands/index.d.ts +4 -0
- package/dist/src/platforms/whatsapp/commands/index.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/commands/index.js +4 -0
- package/dist/src/platforms/whatsapp/commands/index.js.map +1 -0
- package/dist/src/platforms/whatsapp/commands/message.d.ts +3 -0
- package/dist/src/platforms/whatsapp/commands/message.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/commands/message.js +61 -0
- package/dist/src/platforms/whatsapp/commands/message.js.map +1 -0
- package/dist/src/platforms/whatsapp/commands/shared.d.ts +8 -0
- package/dist/src/platforms/whatsapp/commands/shared.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/commands/shared.js +37 -0
- package/dist/src/platforms/whatsapp/commands/shared.js.map +1 -0
- package/dist/src/platforms/whatsapp/credential-manager.d.ts +20 -0
- package/dist/src/platforms/whatsapp/credential-manager.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/credential-manager.js +104 -0
- package/dist/src/platforms/whatsapp/credential-manager.js.map +1 -0
- package/dist/src/platforms/whatsapp/ensure-auth.d.ts +2 -0
- package/dist/src/platforms/whatsapp/ensure-auth.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/ensure-auth.js +23 -0
- package/dist/src/platforms/whatsapp/ensure-auth.js.map +1 -0
- package/dist/src/platforms/whatsapp/index.d.ts +4 -0
- package/dist/src/platforms/whatsapp/index.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/index.js +4 -0
- package/dist/src/platforms/whatsapp/index.js.map +1 -0
- package/dist/src/platforms/whatsapp/suppress-ws-warnings.d.ts +11 -0
- package/dist/src/platforms/whatsapp/suppress-ws-warnings.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/suppress-ws-warnings.js +24 -0
- package/dist/src/platforms/whatsapp/suppress-ws-warnings.js.map +1 -0
- package/dist/src/platforms/whatsapp/types.d.ts +42 -0
- package/dist/src/platforms/whatsapp/types.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/types.js +75 -0
- package/dist/src/platforms/whatsapp/types.js.map +1 -0
- package/dist/src/platforms/whatsappbot/cli.d.ts +5 -0
- package/dist/src/platforms/whatsappbot/cli.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/cli.js +17 -0
- package/dist/src/platforms/whatsappbot/cli.js.map +1 -0
- package/dist/src/platforms/whatsappbot/client.d.ts +31 -0
- package/dist/src/platforms/whatsappbot/client.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/client.js +202 -0
- package/dist/src/platforms/whatsappbot/client.js.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/auth.d.ts +28 -0
- package/dist/src/platforms/whatsappbot/commands/auth.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/auth.js +163 -0
- package/dist/src/platforms/whatsappbot/commands/auth.js.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/index.d.ts +4 -0
- package/dist/src/platforms/whatsappbot/commands/index.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/index.js +4 -0
- package/dist/src/platforms/whatsappbot/commands/index.js.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/message.d.ts +27 -0
- package/dist/src/platforms/whatsappbot/commands/message.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/message.js +122 -0
- package/dist/src/platforms/whatsappbot/commands/message.js.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/shared.d.ts +9 -0
- package/dist/src/platforms/whatsappbot/commands/shared.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/shared.js +13 -0
- package/dist/src/platforms/whatsappbot/commands/shared.js.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/template.d.ts +16 -0
- package/dist/src/platforms/whatsappbot/commands/template.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/template.js +51 -0
- package/dist/src/platforms/whatsappbot/commands/template.js.map +1 -0
- package/dist/src/platforms/whatsappbot/credential-manager.d.ts +17 -0
- package/dist/src/platforms/whatsappbot/credential-manager.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/credential-manager.js +121 -0
- package/dist/src/platforms/whatsappbot/credential-manager.js.map +1 -0
- package/dist/src/platforms/whatsappbot/index.d.ts +5 -0
- package/dist/src/platforms/whatsappbot/index.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/index.js +4 -0
- package/dist/src/platforms/whatsappbot/index.js.map +1 -0
- package/dist/src/platforms/whatsappbot/types.d.ts +66 -0
- package/dist/src/platforms/whatsappbot/types.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/types.js +28 -0
- package/dist/src/platforms/whatsappbot/types.js.map +1 -0
- package/dist/src/tui/adapters/channeltalk-adapter.d.ts +19 -0
- package/dist/src/tui/adapters/channeltalk-adapter.d.ts.map +1 -0
- package/dist/src/tui/adapters/channeltalk-adapter.js +88 -0
- package/dist/src/tui/adapters/channeltalk-adapter.js.map +1 -0
- package/dist/src/tui/adapters/discord-adapter.d.ts +22 -0
- package/dist/src/tui/adapters/discord-adapter.d.ts.map +1 -0
- package/dist/src/tui/adapters/discord-adapter.js +100 -0
- package/dist/src/tui/adapters/discord-adapter.js.map +1 -0
- package/dist/src/tui/adapters/instagram-adapter.d.ts +18 -0
- package/dist/src/tui/adapters/instagram-adapter.d.ts.map +1 -0
- package/dist/src/tui/adapters/instagram-adapter.js +115 -0
- package/dist/src/tui/adapters/instagram-adapter.js.map +1 -0
- package/dist/src/tui/adapters/kakaotalk-adapter.d.ts +18 -0
- package/dist/src/tui/adapters/kakaotalk-adapter.d.ts.map +1 -0
- package/dist/src/tui/adapters/kakaotalk-adapter.js +146 -0
- package/dist/src/tui/adapters/kakaotalk-adapter.js.map +1 -0
- package/dist/src/tui/adapters/line-adapter.d.ts +18 -0
- package/dist/src/tui/adapters/line-adapter.d.ts.map +1 -0
- package/dist/src/tui/adapters/line-adapter.js +92 -0
- package/dist/src/tui/adapters/line-adapter.js.map +1 -0
- package/dist/src/tui/adapters/slack-adapter.d.ts +23 -0
- package/dist/src/tui/adapters/slack-adapter.d.ts.map +1 -0
- package/dist/src/tui/adapters/slack-adapter.js +111 -0
- package/dist/src/tui/adapters/slack-adapter.js.map +1 -0
- package/dist/src/tui/adapters/teams-adapter.d.ts +20 -0
- package/dist/src/tui/adapters/teams-adapter.d.ts.map +1 -0
- package/dist/src/tui/adapters/teams-adapter.js +85 -0
- package/dist/src/tui/adapters/teams-adapter.js.map +1 -0
- package/dist/src/tui/adapters/telegram-adapter.d.ts +18 -0
- package/dist/src/tui/adapters/telegram-adapter.d.ts.map +1 -0
- package/dist/src/tui/adapters/telegram-adapter.js +183 -0
- package/dist/src/tui/adapters/telegram-adapter.js.map +1 -0
- package/dist/src/tui/adapters/types.d.ts +41 -0
- package/dist/src/tui/adapters/types.d.ts.map +1 -0
- package/dist/src/tui/adapters/types.js +2 -0
- package/dist/src/tui/adapters/types.js.map +1 -0
- package/dist/src/tui/adapters/whatsapp-adapter.d.ts +18 -0
- package/dist/src/tui/adapters/whatsapp-adapter.d.ts.map +1 -0
- package/dist/src/tui/adapters/whatsapp-adapter.js +120 -0
- package/dist/src/tui/adapters/whatsapp-adapter.js.map +1 -0
- package/dist/src/tui/app.d.ts +2 -0
- package/dist/src/tui/app.d.ts.map +1 -0
- package/dist/src/tui/app.js +652 -0
- package/dist/src/tui/app.js.map +1 -0
- package/dist/src/tui/cli.d.ts +3 -0
- package/dist/src/tui/cli.d.ts.map +1 -0
- package/dist/src/tui/cli.js +14 -0
- package/dist/src/tui/cli.js.map +1 -0
- package/dist/src/tui/utils.d.ts +5 -0
- package/dist/src/tui/utils.d.ts.map +1 -0
- package/dist/src/tui/utils.js +54 -0
- package/dist/src/tui/utils.js.map +1 -0
- package/dist/src/tui/views/channel-picker.d.ts +18 -0
- package/dist/src/tui/views/channel-picker.d.ts.map +1 -0
- package/dist/src/tui/views/channel-picker.js +131 -0
- package/dist/src/tui/views/channel-picker.js.map +1 -0
- package/dist/src/tui/views/workspace-picker.d.ts +18 -0
- package/dist/src/tui/views/workspace-picker.d.ts.map +1 -0
- package/dist/src/tui/views/workspace-picker.js +131 -0
- package/dist/src/tui/views/workspace-picker.js.map +1 -0
- package/docs/bun.lock +2 -666
- package/docs/content/docs/agent-skills.mdx +1 -1
- package/docs/content/docs/{integrations → cli}/channeltalk.mdx +9 -5
- package/docs/content/docs/{integrations → cli}/channeltalkbot.mdx +1 -1
- package/docs/content/docs/cli/instagram.mdx +211 -0
- package/docs/content/docs/cli/kakaotalk.mdx +286 -0
- package/docs/content/docs/cli/line.mdx +306 -0
- package/docs/content/docs/cli/meta.json +18 -0
- package/docs/content/docs/cli/slack.mdx +395 -0
- package/docs/content/docs/{integrations → cli}/slackbot.mdx +1 -1
- package/docs/content/docs/{integrations → cli}/teams.mdx +2 -2
- package/docs/content/docs/cli/telegram.mdx +107 -0
- package/docs/content/docs/cli/whatsapp.mdx +163 -0
- package/docs/content/docs/cli/whatsappbot.mdx +169 -0
- package/docs/content/docs/index.mdx +21 -15
- package/docs/content/docs/meta.json +9 -1
- package/docs/content/docs/quick-start.mdx +24 -8
- package/docs/content/docs/sdk/channeltalk.mdx +384 -0
- package/docs/content/docs/sdk/channeltalkbot.mdx +395 -0
- package/docs/content/docs/sdk/discord.mdx +535 -0
- package/docs/content/docs/sdk/instagram.mdx +367 -0
- package/docs/content/docs/sdk/kakaotalk.mdx +290 -0
- package/docs/content/docs/sdk/line.mdx +347 -0
- package/docs/content/docs/sdk/meta.json +4 -0
- package/docs/content/docs/sdk/slack.mdx +671 -0
- package/docs/content/docs/sdk/teams.mdx +350 -0
- package/docs/content/docs/sdk/whatsapp.mdx +293 -0
- package/docs/content/docs/sdk/whatsappbot.mdx +266 -0
- package/docs/content/docs/tui.mdx +137 -0
- package/docs/public/tui.png +0 -0
- package/docs/src/app/page.tsx +885 -308
- package/e2e/discordbot.e2e.test.ts +1 -1
- package/examples/discord-listen.ts +56 -0
- package/examples/kakaotalk-listen.ts +49 -0
- package/examples/slack-listen.ts +60 -0
- package/package.json +118 -9
- package/scripts/postbuild.ts +1 -0
- package/scripts/prepublish.ts +21 -1
- package/skills/agent-channeltalk/SKILL.md +18 -6
- package/skills/agent-channeltalkbot/SKILL.md +1 -1
- package/skills/agent-discord/SKILL.md +77 -2
- package/skills/agent-discord/references/common-patterns.md +1 -1
- package/skills/agent-discordbot/SKILL.md +1 -1
- package/skills/agent-instagram/SKILL.md +383 -0
- package/skills/agent-instagram/references/authentication.md +256 -0
- package/skills/agent-instagram/references/common-patterns.md +362 -0
- package/skills/agent-instagram/templates/chat-summary.sh +124 -0
- package/skills/agent-instagram/templates/monitor-chat.sh +143 -0
- package/skills/agent-instagram/templates/post-message.sh +130 -0
- package/skills/agent-kakaotalk/SKILL.md +587 -0
- package/skills/agent-kakaotalk/references/authentication.md +343 -0
- package/skills/agent-kakaotalk/references/common-patterns.md +403 -0
- package/skills/agent-kakaotalk/templates/chat-summary.sh +121 -0
- package/skills/agent-kakaotalk/templates/monitor-chat.sh +160 -0
- package/skills/agent-kakaotalk/templates/post-message.sh +123 -0
- package/skills/agent-line/SKILL.md +490 -0
- package/skills/agent-line/references/authentication.md +297 -0
- package/skills/agent-line/references/common-patterns.md +355 -0
- package/skills/agent-line/templates/chat-summary.sh +63 -0
- package/skills/agent-line/templates/monitor-chat.sh +76 -0
- package/skills/agent-line/templates/post-message.sh +123 -0
- package/skills/agent-slack/SKILL.md +259 -7
- package/skills/agent-slack/references/common-patterns.md +105 -39
- package/skills/agent-slackbot/SKILL.md +1 -1
- package/skills/agent-slackbot/references/common-patterns.md +52 -0
- package/skills/agent-teams/SKILL.md +49 -1
- package/skills/agent-telegram/SKILL.md +123 -0
- package/skills/agent-whatsapp/SKILL.md +382 -0
- package/skills/agent-whatsapp/references/authentication.md +191 -0
- package/skills/agent-whatsapp/references/common-patterns.md +336 -0
- package/skills/agent-whatsapp/templates/chat-summary.sh +122 -0
- package/skills/agent-whatsapp/templates/monitor-chat.sh +157 -0
- package/skills/agent-whatsapp/templates/post-message.sh +120 -0
- package/skills/agent-whatsappbot/SKILL.md +371 -0
- package/skills/agent-whatsappbot/references/authentication.md +216 -0
- package/skills/agent-whatsappbot/references/common-patterns.md +331 -0
- package/skills/agent-whatsappbot/templates/account-summary.sh +127 -0
- package/skills/agent-whatsappbot/templates/post-message.sh +120 -0
- package/skills/agent-whatsappbot/templates/send-template.sh +153 -0
- package/src/cli.ts +34 -6
- package/src/platforms/channeltalk/client.test.ts +30 -28
- package/src/platforms/channeltalk/client.ts +29 -8
- package/src/platforms/channeltalk/commands/auth.ts +9 -7
- package/src/platforms/channeltalk/commands/shared.ts +1 -1
- package/src/platforms/channeltalk/ensure-auth.ts +10 -8
- package/src/platforms/channeltalk/index.test.ts +114 -0
- package/src/platforms/channeltalk/index.ts +27 -14
- package/src/platforms/channeltalk/token-extractor.test.ts +227 -65
- package/src/platforms/channeltalk/token-extractor.ts +146 -25
- package/src/platforms/channeltalk/types.ts +3 -1
- package/src/platforms/channeltalkbot/client.test.ts +12 -12
- package/src/platforms/channeltalkbot/client.ts +31 -11
- package/src/platforms/channeltalkbot/commands/auth.test.ts +1 -5
- package/src/platforms/channeltalkbot/commands/auth.ts +2 -2
- package/src/platforms/channeltalkbot/commands/shared.ts +1 -1
- package/src/platforms/channeltalkbot/index.test.ts +76 -0
- package/src/platforms/channeltalkbot/index.ts +14 -11
- package/src/platforms/discord/client.test.ts +30 -30
- package/src/platforms/discord/client.ts +33 -6
- package/src/platforms/discord/commands/auth.test.ts +2 -2
- package/src/platforms/discord/commands/auth.ts +2 -2
- package/src/platforms/discord/commands/channel.test.ts +6 -6
- package/src/platforms/discord/commands/channel.ts +3 -3
- package/src/platforms/discord/commands/dm.ts +2 -2
- package/src/platforms/discord/commands/file.ts +3 -3
- package/src/platforms/discord/commands/friend.test.ts +5 -5
- package/src/platforms/discord/commands/friend.ts +1 -1
- package/src/platforms/discord/commands/member.test.ts +4 -4
- package/src/platforms/discord/commands/member.ts +1 -1
- package/src/platforms/discord/commands/mention.test.ts +4 -4
- package/src/platforms/discord/commands/mention.ts +1 -1
- package/src/platforms/discord/commands/message.ts +6 -6
- package/src/platforms/discord/commands/note.ts +2 -2
- package/src/platforms/discord/commands/profile.ts +1 -1
- package/src/platforms/discord/commands/reaction.ts +3 -3
- package/src/platforms/discord/commands/server.test.ts +2 -2
- package/src/platforms/discord/commands/server.ts +1 -1
- package/src/platforms/discord/commands/snapshot.ts +1 -1
- package/src/platforms/discord/commands/thread.test.ts +5 -5
- package/src/platforms/discord/commands/thread.ts +2 -2
- package/src/platforms/discord/commands/user.ts +3 -3
- package/src/platforms/discord/ensure-auth.ts +1 -1
- package/src/platforms/discord/index.test.ts +84 -0
- package/src/platforms/discord/index.ts +51 -0
- package/src/platforms/discord/listener.test.ts +782 -0
- package/src/platforms/discord/listener.ts +297 -0
- package/src/platforms/discord/types.ts +133 -0
- package/src/platforms/discordbot/client.test.ts +33 -33
- package/src/platforms/discordbot/client.ts +28 -7
- package/src/platforms/discordbot/commands/auth.test.ts +1 -5
- package/src/platforms/discordbot/commands/auth.ts +2 -2
- package/src/platforms/discordbot/commands/channel.test.ts +1 -5
- package/src/platforms/discordbot/commands/message.test.ts +1 -3
- package/src/platforms/discordbot/commands/server.test.ts +1 -5
- package/src/platforms/discordbot/commands/shared.ts +1 -1
- package/src/platforms/discordbot/commands/snapshot.test.ts +1 -3
- package/src/platforms/discordbot/commands/thread.test.ts +1 -3
- package/src/platforms/discordbot/commands/user.test.ts +1 -5
- package/src/platforms/instagram/cli.ts +37 -0
- package/src/platforms/instagram/client.test.ts +396 -0
- package/src/platforms/instagram/client.ts +655 -0
- package/src/platforms/instagram/commands/auth.ts +401 -0
- package/src/platforms/instagram/commands/chat.ts +49 -0
- package/src/platforms/instagram/commands/index.ts +3 -0
- package/src/platforms/instagram/commands/message.ts +134 -0
- package/src/platforms/instagram/commands/shared.test.ts +51 -0
- package/src/platforms/instagram/commands/shared.ts +55 -0
- package/src/platforms/instagram/credential-manager.test.ts +277 -0
- package/src/platforms/instagram/credential-manager.ts +134 -0
- package/src/platforms/instagram/ensure-auth.test.ts +84 -0
- package/src/platforms/instagram/ensure-auth.ts +24 -0
- package/src/platforms/instagram/index.test.ts +44 -0
- package/src/platforms/instagram/index.ts +16 -0
- package/src/platforms/instagram/listener.test.ts +130 -0
- package/src/platforms/instagram/listener.ts +106 -0
- package/src/platforms/instagram/types.test.ts +228 -0
- package/src/platforms/instagram/types.ts +153 -0
- package/src/platforms/kakaotalk/auth/kakao-login.ts +296 -0
- package/src/platforms/kakaotalk/cli.ts +37 -0
- package/src/platforms/kakaotalk/client.test.ts +490 -0
- package/src/platforms/kakaotalk/client.ts +328 -0
- package/src/platforms/kakaotalk/commands/auth.ts +569 -0
- package/src/platforms/kakaotalk/commands/chat.ts +34 -0
- package/src/platforms/kakaotalk/commands/index.ts +3 -0
- package/src/platforms/kakaotalk/commands/message.ts +56 -0
- package/src/platforms/kakaotalk/commands/shared.ts +38 -0
- package/src/platforms/kakaotalk/credential-manager.test.ts +231 -0
- package/src/platforms/kakaotalk/credential-manager.ts +110 -0
- package/src/platforms/kakaotalk/ensure-auth.ts +16 -0
- package/src/platforms/kakaotalk/index.test.ts +68 -0
- package/src/platforms/kakaotalk/index.ts +30 -0
- package/src/platforms/kakaotalk/listener.test.ts +370 -0
- package/src/platforms/kakaotalk/listener.ts +203 -0
- package/src/platforms/kakaotalk/protocol/NOTICE.md +51 -0
- package/src/platforms/kakaotalk/protocol/config.ts +28 -0
- package/src/platforms/kakaotalk/protocol/connection.ts +159 -0
- package/src/platforms/kakaotalk/protocol/crypto.ts +71 -0
- package/src/platforms/kakaotalk/protocol/packet.ts +47 -0
- package/src/platforms/kakaotalk/protocol/session.ts +156 -0
- package/src/platforms/kakaotalk/protocol/types.ts +42 -0
- package/src/platforms/kakaotalk/token-extractor.ts +320 -0
- package/src/platforms/kakaotalk/types.ts +212 -0
- package/src/platforms/line/cli.ts +39 -0
- package/src/platforms/line/client.test.ts +162 -0
- package/src/platforms/line/client.ts +352 -0
- package/src/platforms/line/commands/auth.ts +219 -0
- package/src/platforms/line/commands/chat.ts +34 -0
- package/src/platforms/line/commands/friend.ts +28 -0
- package/src/platforms/line/commands/index.ts +5 -0
- package/src/platforms/line/commands/message.ts +59 -0
- package/src/platforms/line/commands/profile.ts +24 -0
- package/src/platforms/line/credential-manager.test.ts +163 -0
- package/src/platforms/line/credential-manager.ts +99 -0
- package/src/platforms/line/ensure-auth.ts +13 -0
- package/src/platforms/line/index.test.ts +48 -0
- package/src/platforms/line/index.ts +27 -0
- package/src/platforms/line/listener.test.ts +341 -0
- package/src/platforms/line/listener.ts +138 -0
- package/src/platforms/line/types.test.ts +157 -0
- package/src/platforms/line/types.ts +181 -0
- package/src/platforms/slack/cli.ts +10 -0
- package/src/platforms/slack/client.test.ts +703 -69
- package/src/platforms/slack/client.ts +653 -44
- package/src/platforms/slack/commands/activity.ts +1 -1
- package/src/platforms/slack/commands/auth.ts +2 -2
- package/src/platforms/slack/commands/bookmark.test.ts +91 -0
- package/src/platforms/slack/commands/bookmark.ts +148 -0
- package/src/platforms/slack/commands/channel.test.ts +1 -1
- package/src/platforms/slack/commands/channel.ts +230 -5
- package/src/platforms/slack/commands/drafts.ts +1 -1
- package/src/platforms/slack/commands/emoji.test.ts +32 -0
- package/src/platforms/slack/commands/emoji.ts +33 -0
- package/src/platforms/slack/commands/file.ts +30 -4
- package/src/platforms/slack/commands/index.ts +5 -0
- package/src/platforms/slack/commands/message.ts +173 -7
- package/src/platforms/slack/commands/pin.test.ts +72 -0
- package/src/platforms/slack/commands/pin.ts +93 -0
- package/src/platforms/slack/commands/reaction.ts +3 -3
- package/src/platforms/slack/commands/reminder.test.ts +86 -0
- package/src/platforms/slack/commands/reminder.ts +125 -0
- package/src/platforms/slack/commands/saved.ts +1 -1
- package/src/platforms/slack/commands/sections.ts +1 -1
- package/src/platforms/slack/commands/snapshot.test.ts +4 -4
- package/src/platforms/slack/commands/snapshot.ts +14 -1
- package/src/platforms/slack/commands/unread.test.ts +3 -3
- package/src/platforms/slack/commands/unread.ts +3 -3
- package/src/platforms/slack/commands/user.ts +90 -1
- package/src/platforms/slack/commands/usergroup.test.ts +157 -0
- package/src/platforms/slack/commands/usergroup.ts +242 -0
- package/src/platforms/slack/credential-manager.ts +3 -1
- package/src/platforms/slack/ensure-auth.ts +4 -4
- package/src/platforms/slack/index.test.ts +59 -0
- package/src/platforms/slack/index.ts +46 -1
- package/src/platforms/slack/listener.test.ts +370 -0
- package/src/platforms/slack/listener.ts +181 -0
- package/src/platforms/slack/types.ts +187 -0
- package/src/platforms/slackbot/client.test.ts +26 -26
- package/src/platforms/slackbot/client.ts +40 -22
- package/src/platforms/slackbot/commands/auth.test.ts +1 -5
- package/src/platforms/slackbot/commands/auth.ts +2 -2
- package/src/platforms/slackbot/commands/shared.ts +1 -1
- package/src/platforms/teams/client.test.ts +34 -34
- package/src/platforms/teams/client.ts +32 -9
- package/src/platforms/teams/commands/auth.test.ts +2 -2
- package/src/platforms/teams/commands/auth.ts +3 -3
- package/src/platforms/teams/commands/channel.test.ts +6 -6
- package/src/platforms/teams/commands/channel.ts +3 -3
- package/src/platforms/teams/commands/file.ts +3 -3
- package/src/platforms/teams/commands/message.ts +4 -4
- package/src/platforms/teams/commands/reaction.ts +2 -2
- package/src/platforms/teams/commands/snapshot.ts +1 -1
- package/src/platforms/teams/commands/team.test.ts +2 -2
- package/src/platforms/teams/commands/team.ts +1 -1
- package/src/platforms/teams/commands/user.ts +3 -3
- package/src/platforms/teams/ensure-auth.ts +1 -1
- package/src/platforms/teams/index.test.ts +74 -0
- package/src/platforms/teams/index.ts +30 -0
- package/src/platforms/telegram/app-config.test.ts +44 -0
- package/src/platforms/telegram/app-config.ts +53 -0
- package/src/platforms/telegram/chat-utils.test.ts +71 -0
- package/src/platforms/telegram/chat-utils.ts +39 -0
- package/src/platforms/telegram/cli.ts +20 -0
- package/src/platforms/telegram/client.test.ts +90 -0
- package/src/platforms/telegram/client.ts +623 -0
- package/src/platforms/telegram/commands/auth.test.ts +113 -0
- package/src/platforms/telegram/commands/auth.ts +662 -0
- package/src/platforms/telegram/commands/chat.ts +65 -0
- package/src/platforms/telegram/commands/index.ts +3 -0
- package/src/platforms/telegram/commands/message.ts +51 -0
- package/src/platforms/telegram/commands/shared.test.ts +15 -0
- package/src/platforms/telegram/commands/shared.ts +50 -0
- package/src/platforms/telegram/credential-manager.test.ts +152 -0
- package/src/platforms/telegram/credential-manager.ts +203 -0
- package/src/platforms/telegram/my-telegram-org.ts +206 -0
- package/src/platforms/telegram/tdlib.ts +159 -0
- package/src/platforms/telegram/types.test.ts +74 -0
- package/src/platforms/telegram/types.ts +417 -0
- package/src/platforms/whatsapp/cli.ts +38 -0
- package/src/platforms/whatsapp/client.ts +526 -0
- package/src/platforms/whatsapp/commands/auth.ts +205 -0
- package/src/platforms/whatsapp/commands/chat.ts +49 -0
- package/src/platforms/whatsapp/commands/index.ts +3 -0
- package/src/platforms/whatsapp/commands/message.ts +79 -0
- package/src/platforms/whatsapp/commands/shared.ts +61 -0
- package/src/platforms/whatsapp/credential-manager.test.ts +278 -0
- package/src/platforms/whatsapp/credential-manager.ts +134 -0
- package/src/platforms/whatsapp/ensure-auth.test.ts +85 -0
- package/src/platforms/whatsapp/ensure-auth.ts +26 -0
- package/src/platforms/whatsapp/index.test.ts +39 -0
- package/src/platforms/whatsapp/index.ts +16 -0
- package/src/platforms/whatsapp/suppress-ws-warnings.ts +21 -0
- package/src/platforms/whatsapp/types.test.ts +190 -0
- package/src/platforms/whatsapp/types.ts +95 -0
- package/src/platforms/whatsappbot/cli.ts +23 -0
- package/src/platforms/whatsappbot/client.test.ts +411 -0
- package/src/platforms/whatsappbot/client.ts +256 -0
- package/src/platforms/whatsappbot/commands/auth.ts +206 -0
- package/src/platforms/whatsappbot/commands/index.ts +3 -0
- package/src/platforms/whatsappbot/commands/message.ts +148 -0
- package/src/platforms/whatsappbot/commands/shared.ts +22 -0
- package/src/platforms/whatsappbot/commands/template.ts +69 -0
- package/src/platforms/whatsappbot/credential-manager.test.ts +303 -0
- package/src/platforms/whatsappbot/credential-manager.ts +148 -0
- package/src/platforms/whatsappbot/index.test.ts +34 -0
- package/src/platforms/whatsappbot/index.ts +18 -0
- package/src/platforms/whatsappbot/types.test.ts +141 -0
- package/src/platforms/whatsappbot/types.ts +71 -0
- package/src/tui/adapters/channeltalk-adapter.ts +102 -0
- package/src/tui/adapters/discord-adapter.ts +112 -0
- package/src/tui/adapters/instagram-adapter.ts +132 -0
- package/src/tui/adapters/kakaotalk-adapter.ts +163 -0
- package/src/tui/adapters/line-adapter.ts +109 -0
- package/src/tui/adapters/slack-adapter.ts +128 -0
- package/src/tui/adapters/teams-adapter.ts +95 -0
- package/src/tui/adapters/telegram-adapter.ts +203 -0
- package/src/tui/adapters/types.ts +43 -0
- package/src/tui/adapters/whatsapp-adapter.ts +138 -0
- package/src/tui/app.ts +689 -0
- package/src/tui/cli.ts +18 -0
- package/src/tui/utils.test.ts +149 -0
- package/src/tui/utils.ts +58 -0
- package/src/tui/views/channel-picker.ts +146 -0
- package/src/tui/views/workspace-picker.ts +146 -0
- package/docs/content/docs/integrations/meta.json +0 -5
- package/docs/content/docs/integrations/slack.mdx +0 -218
- package/docs/content/docs/{integrations → cli}/discord.mdx +19 -19
- package/docs/content/docs/{integrations → cli}/discordbot.mdx +8 -8
|
@@ -48,13 +48,13 @@ describe('DiscordClient', () => {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
describe('constructor', () => {
|
|
51
|
-
test('requires token', () => {
|
|
52
|
-
expect(()
|
|
53
|
-
expect(()
|
|
51
|
+
test('requires token', async () => {
|
|
52
|
+
await expect(new DiscordClient().login({ token: '' })).rejects.toThrow(DiscordError)
|
|
53
|
+
await expect(new DiscordClient().login({ token: '' })).rejects.toThrow('Token is required')
|
|
54
54
|
})
|
|
55
55
|
|
|
56
|
-
test('accepts valid token', () => {
|
|
57
|
-
const client = new DiscordClient('test-token')
|
|
56
|
+
test('accepts valid token', async () => {
|
|
57
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
58
58
|
expect(client).toBeInstanceOf(DiscordClient)
|
|
59
59
|
})
|
|
60
60
|
})
|
|
@@ -68,7 +68,7 @@ describe('DiscordClient', () => {
|
|
|
68
68
|
avatar: 'abc123',
|
|
69
69
|
})
|
|
70
70
|
|
|
71
|
-
const client = new DiscordClient('test-token')
|
|
71
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
72
72
|
const user = await client.testAuth()
|
|
73
73
|
|
|
74
74
|
expect(user.id).toBe('123456789')
|
|
@@ -83,7 +83,7 @@ describe('DiscordClient', () => {
|
|
|
83
83
|
test('throws DiscordError on API error', async () => {
|
|
84
84
|
mockResponse({ message: 'Unauthorized', code: 401 }, 401)
|
|
85
85
|
|
|
86
|
-
const client = new DiscordClient('bad-token')
|
|
86
|
+
const client = await new DiscordClient().login({ token: 'bad-token' })
|
|
87
87
|
await expect(client.testAuth()).rejects.toThrow(DiscordError)
|
|
88
88
|
})
|
|
89
89
|
})
|
|
@@ -95,7 +95,7 @@ describe('DiscordClient', () => {
|
|
|
95
95
|
{ id: '222', name: 'Server Two' },
|
|
96
96
|
])
|
|
97
97
|
|
|
98
|
-
const client = new DiscordClient('test-token')
|
|
98
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
99
99
|
const servers = await client.listServers()
|
|
100
100
|
|
|
101
101
|
expect(servers).toHaveLength(2)
|
|
@@ -108,7 +108,7 @@ describe('DiscordClient', () => {
|
|
|
108
108
|
test('returns server info', async () => {
|
|
109
109
|
mockResponse({ id: '111', name: 'Test Server' })
|
|
110
110
|
|
|
111
|
-
const client = new DiscordClient('test-token')
|
|
111
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
112
112
|
const server = await client.getServer('111')
|
|
113
113
|
|
|
114
114
|
expect(server.id).toBe('111')
|
|
@@ -124,7 +124,7 @@ describe('DiscordClient', () => {
|
|
|
124
124
|
{ id: 'ch2', guild_id: '111', name: 'random', type: 0 },
|
|
125
125
|
])
|
|
126
126
|
|
|
127
|
-
const client = new DiscordClient('test-token')
|
|
127
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
128
128
|
const channels = await client.listChannels('111')
|
|
129
129
|
|
|
130
130
|
expect(channels).toHaveLength(2)
|
|
@@ -137,7 +137,7 @@ describe('DiscordClient', () => {
|
|
|
137
137
|
test('returns channel info', async () => {
|
|
138
138
|
mockResponse({ id: 'ch1', guild_id: '111', name: 'general', type: 0 })
|
|
139
139
|
|
|
140
|
-
const client = new DiscordClient('test-token')
|
|
140
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
141
141
|
const channel = await client.getChannel('ch1')
|
|
142
142
|
|
|
143
143
|
expect(channel.id).toBe('ch1')
|
|
@@ -156,7 +156,7 @@ describe('DiscordClient', () => {
|
|
|
156
156
|
timestamp: '2024-01-01T00:00:00.000Z',
|
|
157
157
|
})
|
|
158
158
|
|
|
159
|
-
const client = new DiscordClient('test-token')
|
|
159
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
160
160
|
const message = await client.sendMessage('ch1', 'Hello world')
|
|
161
161
|
|
|
162
162
|
expect(message.content).toBe('Hello world')
|
|
@@ -178,7 +178,7 @@ describe('DiscordClient', () => {
|
|
|
178
178
|
},
|
|
179
179
|
])
|
|
180
180
|
|
|
181
|
-
const client = new DiscordClient('test-token')
|
|
181
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
182
182
|
const messages = await client.getMessages('ch1', 50)
|
|
183
183
|
|
|
184
184
|
expect(messages).toHaveLength(1)
|
|
@@ -189,7 +189,7 @@ describe('DiscordClient', () => {
|
|
|
189
189
|
test('uses default limit of 50', async () => {
|
|
190
190
|
mockResponse([])
|
|
191
191
|
|
|
192
|
-
const client = new DiscordClient('test-token')
|
|
192
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
193
193
|
await client.getMessages('ch1')
|
|
194
194
|
|
|
195
195
|
expect(fetchCalls[0].url).toBe('https://discord.com/api/v10/channels/ch1/messages?limit=50')
|
|
@@ -206,7 +206,7 @@ describe('DiscordClient', () => {
|
|
|
206
206
|
timestamp: '2024-01-01T00:00:00.000Z',
|
|
207
207
|
})
|
|
208
208
|
|
|
209
|
-
const client = new DiscordClient('test-token')
|
|
209
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
210
210
|
const message = await client.getMessage('ch1', 'msg1')
|
|
211
211
|
|
|
212
212
|
expect(message.id).toBe('msg1')
|
|
@@ -218,7 +218,7 @@ describe('DiscordClient', () => {
|
|
|
218
218
|
test('deletes message', async () => {
|
|
219
219
|
mockResponse(null, 204)
|
|
220
220
|
|
|
221
|
-
const client = new DiscordClient('test-token')
|
|
221
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
222
222
|
await client.deleteMessage('ch1', 'msg1')
|
|
223
223
|
|
|
224
224
|
expect(fetchCalls[0].url).toBe('https://discord.com/api/v10/channels/ch1/messages/msg1')
|
|
@@ -230,7 +230,7 @@ describe('DiscordClient', () => {
|
|
|
230
230
|
test('adds reaction to message', async () => {
|
|
231
231
|
mockResponse(null, 204)
|
|
232
232
|
|
|
233
|
-
const client = new DiscordClient('test-token')
|
|
233
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
234
234
|
await client.addReaction('ch1', 'msg1', '👍')
|
|
235
235
|
|
|
236
236
|
expect(fetchCalls[0].url).toBe(
|
|
@@ -244,7 +244,7 @@ describe('DiscordClient', () => {
|
|
|
244
244
|
test('removes reaction from message', async () => {
|
|
245
245
|
mockResponse(null, 204)
|
|
246
246
|
|
|
247
|
-
const client = new DiscordClient('test-token')
|
|
247
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
248
248
|
await client.removeReaction('ch1', 'msg1', '👍')
|
|
249
249
|
|
|
250
250
|
expect(fetchCalls[0].url).toBe(
|
|
@@ -258,7 +258,7 @@ describe('DiscordClient', () => {
|
|
|
258
258
|
test('returns list of server members', async () => {
|
|
259
259
|
mockResponse([{ user: { id: 'u1', username: 'user1' } }, { user: { id: 'u2', username: 'user2' } }])
|
|
260
260
|
|
|
261
|
-
const client = new DiscordClient('test-token')
|
|
261
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
262
262
|
const users = await client.listUsers('111')
|
|
263
263
|
|
|
264
264
|
expect(users).toHaveLength(2)
|
|
@@ -271,7 +271,7 @@ describe('DiscordClient', () => {
|
|
|
271
271
|
test('returns user info', async () => {
|
|
272
272
|
mockResponse({ id: 'u1', username: 'testuser' })
|
|
273
273
|
|
|
274
|
-
const client = new DiscordClient('test-token')
|
|
274
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
275
275
|
const user = await client.getUser('u1')
|
|
276
276
|
|
|
277
277
|
expect(user.id).toBe('u1')
|
|
@@ -301,7 +301,7 @@ describe('DiscordClient', () => {
|
|
|
301
301
|
],
|
|
302
302
|
})
|
|
303
303
|
|
|
304
|
-
const client = new DiscordClient('test-token')
|
|
304
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
305
305
|
const file = await client.uploadFile('ch1', tempFile)
|
|
306
306
|
|
|
307
307
|
expect(file.filename).toBe('test-upload.txt')
|
|
@@ -331,7 +331,7 @@ describe('DiscordClient', () => {
|
|
|
331
331
|
},
|
|
332
332
|
])
|
|
333
333
|
|
|
334
|
-
const client = new DiscordClient('test-token')
|
|
334
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
335
335
|
const files = await client.listFiles('ch1')
|
|
336
336
|
|
|
337
337
|
expect(files).toHaveLength(1)
|
|
@@ -352,7 +352,7 @@ describe('DiscordClient', () => {
|
|
|
352
352
|
'X-RateLimit-Bucket': 'user-bucket',
|
|
353
353
|
})
|
|
354
354
|
|
|
355
|
-
const client = new DiscordClient('test-token')
|
|
355
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
356
356
|
await client.testAuth()
|
|
357
357
|
|
|
358
358
|
const startTime = Date.now()
|
|
@@ -367,7 +367,7 @@ describe('DiscordClient', () => {
|
|
|
367
367
|
mockResponse({ message: 'Rate limited', retry_after: 0.1 }, 429, { 'Retry-After': '0.1' })
|
|
368
368
|
mockResponse({ id: '123', username: 'user' })
|
|
369
369
|
|
|
370
|
-
const client = new DiscordClient('test-token')
|
|
370
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
371
371
|
const user = await client.testAuth()
|
|
372
372
|
|
|
373
373
|
expect(user.id).toBe('123')
|
|
@@ -381,7 +381,7 @@ describe('DiscordClient', () => {
|
|
|
381
381
|
})
|
|
382
382
|
mockResponse({ id: '123', username: 'user' })
|
|
383
383
|
|
|
384
|
-
const client = new DiscordClient('test-token')
|
|
384
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
385
385
|
const user = await client.testAuth()
|
|
386
386
|
|
|
387
387
|
expect(user.id).toBe('123')
|
|
@@ -393,7 +393,7 @@ describe('DiscordClient', () => {
|
|
|
393
393
|
mockResponse({ message: 'Rate limited' }, 429, { 'Retry-After': '0.01' })
|
|
394
394
|
}
|
|
395
395
|
|
|
396
|
-
const client = new DiscordClient('test-token')
|
|
396
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
397
397
|
await expect(client.testAuth()).rejects.toThrow(DiscordError)
|
|
398
398
|
expect(fetchCalls.length).toBeLessThanOrEqual(4)
|
|
399
399
|
})
|
|
@@ -404,7 +404,7 @@ describe('DiscordClient', () => {
|
|
|
404
404
|
mockResponse({ message: 'Internal Server Error' }, 500)
|
|
405
405
|
mockResponse({ id: '123', username: 'user' })
|
|
406
406
|
|
|
407
|
-
const client = new DiscordClient('test-token')
|
|
407
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
408
408
|
const user = await client.testAuth()
|
|
409
409
|
|
|
410
410
|
expect(user.id).toBe('123')
|
|
@@ -414,7 +414,7 @@ describe('DiscordClient', () => {
|
|
|
414
414
|
test('does not retry on 4xx client errors (except 429)', async () => {
|
|
415
415
|
mockResponse({ message: 'Not Found' }, 404)
|
|
416
416
|
|
|
417
|
-
const client = new DiscordClient('test-token')
|
|
417
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
418
418
|
await expect(client.testAuth()).rejects.toThrow(DiscordError)
|
|
419
419
|
expect(fetchCalls.length).toBe(1)
|
|
420
420
|
})
|
|
@@ -424,7 +424,7 @@ describe('DiscordClient', () => {
|
|
|
424
424
|
mockResponse({ message: 'Error' }, 500)
|
|
425
425
|
mockResponse({ id: '123', username: 'user' })
|
|
426
426
|
|
|
427
|
-
const client = new DiscordClient('test-token')
|
|
427
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
428
428
|
const startTime = Date.now()
|
|
429
429
|
await client.testAuth()
|
|
430
430
|
const elapsed = Date.now() - startTime
|
|
@@ -439,7 +439,7 @@ describe('DiscordClient', () => {
|
|
|
439
439
|
mockResponse([])
|
|
440
440
|
mockResponse([])
|
|
441
441
|
|
|
442
|
-
const client = new DiscordClient('test-token')
|
|
442
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
443
443
|
await client.getMessages('123456789')
|
|
444
444
|
await client.getMessages('987654321')
|
|
445
445
|
|
|
@@ -39,15 +39,38 @@ const MAX_RETRIES = 3
|
|
|
39
39
|
const BASE_BACKOFF_MS = 100
|
|
40
40
|
|
|
41
41
|
export class DiscordClient {
|
|
42
|
-
private token: string
|
|
42
|
+
private token: string | null = null
|
|
43
43
|
private buckets: Map<string, RateLimitBucket> = new Map()
|
|
44
44
|
private globalRateLimitUntil: number = 0
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
async login(credentials?: { token: string }): Promise<this> {
|
|
47
|
+
if (credentials) {
|
|
48
|
+
if (!credentials.token) {
|
|
49
|
+
throw new DiscordError('Token is required', 'missing_token')
|
|
50
|
+
}
|
|
51
|
+
this.token = credentials.token
|
|
52
|
+
return this
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const { ensureDiscordAuth } = await import('./ensure-auth')
|
|
56
|
+
await ensureDiscordAuth()
|
|
57
|
+
const { DiscordCredentialManager } = await import('./credential-manager')
|
|
58
|
+
const credManager = new DiscordCredentialManager()
|
|
59
|
+
const token = await credManager.getToken()
|
|
47
60
|
if (!token) {
|
|
48
|
-
throw new DiscordError(
|
|
61
|
+
throw new DiscordError(
|
|
62
|
+
'No Discord credentials found. Make sure Discord desktop app is installed and logged in.',
|
|
63
|
+
'no_credentials',
|
|
64
|
+
)
|
|
49
65
|
}
|
|
50
|
-
this.token
|
|
66
|
+
return this.login({ token })
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
private ensureAuth(): string {
|
|
70
|
+
if (!this.token) {
|
|
71
|
+
throw new DiscordError('Not authenticated. Call .login() first.', 'not_authenticated')
|
|
72
|
+
}
|
|
73
|
+
return this.token
|
|
51
74
|
}
|
|
52
75
|
|
|
53
76
|
private getBucketKey(method: string, path: string): string {
|
|
@@ -110,7 +133,7 @@ export class DiscordClient {
|
|
|
110
133
|
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
111
134
|
await this.waitForRateLimit(bucketKey)
|
|
112
135
|
|
|
113
|
-
const headers: Record<string, string> = getDiscordHeaders(this.
|
|
136
|
+
const headers: Record<string, string> = getDiscordHeaders(this.ensureAuth())
|
|
114
137
|
|
|
115
138
|
const options: RequestInit = {
|
|
116
139
|
method,
|
|
@@ -163,7 +186,7 @@ export class DiscordClient {
|
|
|
163
186
|
|
|
164
187
|
await this.waitForRateLimit(bucketKey)
|
|
165
188
|
|
|
166
|
-
const headers = getDiscordHeaders(this.
|
|
189
|
+
const headers = getDiscordHeaders(this.ensureAuth())
|
|
167
190
|
const response = await fetch(url, {
|
|
168
191
|
method: 'POST',
|
|
169
192
|
headers,
|
|
@@ -406,4 +429,8 @@ export class DiscordClient {
|
|
|
406
429
|
archived,
|
|
407
430
|
})
|
|
408
431
|
}
|
|
432
|
+
|
|
433
|
+
async gatewayConnect(): Promise<{ token: string }> {
|
|
434
|
+
return { token: this.ensureAuth() }
|
|
435
|
+
}
|
|
409
436
|
}
|
|
@@ -57,14 +57,14 @@ test('extract: calls DiscordTokenExtractor', async () => {
|
|
|
57
57
|
})
|
|
58
58
|
|
|
59
59
|
test('extract: validates token with DiscordClient', async () => {
|
|
60
|
-
const client = new DiscordClient('test-token-123')
|
|
60
|
+
const client = await new DiscordClient().login({ token: 'test-token-123' })
|
|
61
61
|
const authInfo = await client.testAuth()
|
|
62
62
|
expect(authInfo).toBeDefined()
|
|
63
63
|
expect(authInfo.id).toBe('user-123')
|
|
64
64
|
})
|
|
65
65
|
|
|
66
66
|
test('extract: discovers servers', async () => {
|
|
67
|
-
const client = new DiscordClient('test-token-123')
|
|
67
|
+
const client = await new DiscordClient().login({ token: 'test-token-123' })
|
|
68
68
|
const servers = await client.listServers()
|
|
69
69
|
expect(servers).toHaveLength(2)
|
|
70
70
|
expect(servers[0].id).toBe('server-1')
|
|
@@ -52,7 +52,7 @@ export async function extractAction(options: { pretty?: boolean; debug?: boolean
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
try {
|
|
55
|
-
const client = new DiscordClient(extracted.token)
|
|
55
|
+
const client = await new DiscordClient().login({ token: extracted.token })
|
|
56
56
|
|
|
57
57
|
if (options.debug) {
|
|
58
58
|
console.error(`[debug] Testing token validity...`)
|
|
@@ -160,7 +160,7 @@ export async function statusAction(options: { pretty?: boolean }): Promise<void>
|
|
|
160
160
|
let valid = false
|
|
161
161
|
|
|
162
162
|
try {
|
|
163
|
-
const client = new DiscordClient(config.token)
|
|
163
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
164
164
|
authInfo = await client.testAuth()
|
|
165
165
|
valid = true
|
|
166
166
|
} catch {
|
|
@@ -74,7 +74,7 @@ afterEach(() => {
|
|
|
74
74
|
|
|
75
75
|
test('list: returns text channels (type=0) from server', async () => {
|
|
76
76
|
// given: discord client with channels
|
|
77
|
-
const client = new DiscordClient('test-token')
|
|
77
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
78
78
|
const channels = await client.listChannels('server-1')
|
|
79
79
|
|
|
80
80
|
// when: filtering text channels
|
|
@@ -88,7 +88,7 @@ test('list: returns text channels (type=0) from server', async () => {
|
|
|
88
88
|
|
|
89
89
|
test('list: includes channel metadata', async () => {
|
|
90
90
|
// given: discord client with channels
|
|
91
|
-
const client = new DiscordClient('test-token')
|
|
91
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
92
92
|
const channels = await client.listChannels('server-1')
|
|
93
93
|
const textChannels = channels.filter((ch) => ch.type === 0)
|
|
94
94
|
|
|
@@ -104,7 +104,7 @@ test('list: includes channel metadata', async () => {
|
|
|
104
104
|
|
|
105
105
|
test('info: returns channel details', async () => {
|
|
106
106
|
// given: discord client with channel data
|
|
107
|
-
const client = new DiscordClient('test-token')
|
|
107
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
108
108
|
const channel = await client.getChannel('ch-1')
|
|
109
109
|
|
|
110
110
|
// when: getting channel info
|
|
@@ -119,7 +119,7 @@ test('info: returns channel details', async () => {
|
|
|
119
119
|
|
|
120
120
|
test('info: throws error for non-existent channel', async () => {
|
|
121
121
|
// given: discord client
|
|
122
|
-
const client = new DiscordClient('test-token')
|
|
122
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
123
123
|
|
|
124
124
|
// when: getting non-existent channel
|
|
125
125
|
// then: error is thrown
|
|
@@ -133,7 +133,7 @@ test('info: throws error for non-existent channel', async () => {
|
|
|
133
133
|
|
|
134
134
|
test('history: returns messages in reverse chronological order', async () => {
|
|
135
135
|
// given: discord client with messages
|
|
136
|
-
const client = new DiscordClient('test-token')
|
|
136
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
137
137
|
const messages = await client.getMessages('ch-1', 50)
|
|
138
138
|
|
|
139
139
|
// when: getting message history
|
|
@@ -149,7 +149,7 @@ test('history: returns messages in reverse chronological order', async () => {
|
|
|
149
149
|
|
|
150
150
|
test('history: includes message metadata', async () => {
|
|
151
151
|
// given: discord client with messages
|
|
152
|
-
const client = new DiscordClient('test-token')
|
|
152
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
153
153
|
const messages = await client.getMessages('ch-1', 50)
|
|
154
154
|
|
|
155
155
|
// when: checking message properties
|
|
@@ -16,7 +16,7 @@ export async function listAction(options: { pretty?: boolean }): Promise<void> {
|
|
|
16
16
|
process.exit(1)
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
const client = new DiscordClient(config.token)
|
|
19
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
20
20
|
const channels = await client.listChannels(config.current_server)
|
|
21
21
|
|
|
22
22
|
const textChannels = channels.filter((ch) => ch.type === 0)
|
|
@@ -45,7 +45,7 @@ export async function infoAction(channelId: string, options: { pretty?: boolean
|
|
|
45
45
|
process.exit(1)
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
const client = new DiscordClient(config.token)
|
|
48
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
49
49
|
const channel = await client.getChannel(channelId)
|
|
50
50
|
|
|
51
51
|
const output = {
|
|
@@ -73,7 +73,7 @@ export async function historyAction(channelId: string, options: { limit?: number
|
|
|
73
73
|
process.exit(1)
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
const client = new DiscordClient(config.token)
|
|
76
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
77
77
|
const messages = await client.getMessages(channelId, options.limit || 50)
|
|
78
78
|
|
|
79
79
|
const output = messages.map((msg) => ({
|
|
@@ -17,7 +17,7 @@ export async function listAction(options: { pretty?: boolean }): Promise<void> {
|
|
|
17
17
|
process.exit(1)
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
const client = new DiscordClient(config.token)
|
|
20
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
21
21
|
const channels = await client.listDMChannels()
|
|
22
22
|
|
|
23
23
|
const output = channels.map((channel: DiscordDMChannel) => ({
|
|
@@ -47,7 +47,7 @@ export async function createAction(userId: string, options: { pretty?: boolean }
|
|
|
47
47
|
process.exit(1)
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
const client = new DiscordClient(config.token)
|
|
50
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
51
51
|
const channel = await client.createDM(userId)
|
|
52
52
|
|
|
53
53
|
const output = {
|
|
@@ -23,7 +23,7 @@ export async function uploadAction(
|
|
|
23
23
|
process.exit(1)
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
const client = new DiscordClient(config.token)
|
|
26
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
27
27
|
|
|
28
28
|
const filePath = resolve(path)
|
|
29
29
|
const file = await client.uploadFile(channelId, filePath)
|
|
@@ -52,7 +52,7 @@ export async function listAction(channelId: string, options: { pretty?: boolean
|
|
|
52
52
|
process.exit(1)
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
const client = new DiscordClient(config.token)
|
|
55
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
56
56
|
const files = await client.listFiles(channelId)
|
|
57
57
|
|
|
58
58
|
const output = files.map((file: DiscordFile) => ({
|
|
@@ -79,7 +79,7 @@ export async function infoAction(channelId: string, fileId: string, options: { p
|
|
|
79
79
|
process.exit(1)
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
const client = new DiscordClient(config.token)
|
|
82
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
83
83
|
const files = await client.listFiles(channelId)
|
|
84
84
|
const fileData = files.find((f) => f.id === fileId)
|
|
85
85
|
|
|
@@ -64,7 +64,7 @@ afterEach(() => {
|
|
|
64
64
|
|
|
65
65
|
test('list: returns all relationships', async () => {
|
|
66
66
|
// given: discord client with relationships
|
|
67
|
-
const client = new DiscordClient('test-token')
|
|
67
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
68
68
|
const relationships = await client.getRelationships()
|
|
69
69
|
|
|
70
70
|
// when: getting all relationships
|
|
@@ -76,7 +76,7 @@ test('list: returns all relationships', async () => {
|
|
|
76
76
|
|
|
77
77
|
test('list: includes relationship metadata', async () => {
|
|
78
78
|
// given: discord client with relationships
|
|
79
|
-
const client = new DiscordClient('test-token')
|
|
79
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
80
80
|
const relationships = await client.getRelationships()
|
|
81
81
|
|
|
82
82
|
// when: checking relationship properties
|
|
@@ -92,7 +92,7 @@ test('list: includes relationship metadata', async () => {
|
|
|
92
92
|
|
|
93
93
|
test('list: filters friends (type=1)', async () => {
|
|
94
94
|
// given: discord client with relationships
|
|
95
|
-
const client = new DiscordClient('test-token')
|
|
95
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
96
96
|
const relationships = await client.getRelationships()
|
|
97
97
|
|
|
98
98
|
// when: filtering friends
|
|
@@ -106,7 +106,7 @@ test('list: filters friends (type=1)', async () => {
|
|
|
106
106
|
|
|
107
107
|
test('list: includes optional nickname', async () => {
|
|
108
108
|
// given: discord client with relationships
|
|
109
|
-
const client = new DiscordClient('test-token')
|
|
109
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
110
110
|
const relationships = await client.getRelationships()
|
|
111
111
|
|
|
112
112
|
// when: checking for nickname
|
|
@@ -120,7 +120,7 @@ test('list: includes optional nickname', async () => {
|
|
|
120
120
|
|
|
121
121
|
test('list: distinguishes relationship types', async () => {
|
|
122
122
|
// given: discord client with relationships
|
|
123
|
-
const client = new DiscordClient('test-token')
|
|
123
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
124
124
|
const relationships = await client.getRelationships()
|
|
125
125
|
|
|
126
126
|
// when: grouping by type
|
|
@@ -16,7 +16,7 @@ async function listAction(options: { pretty?: boolean }): Promise<void> {
|
|
|
16
16
|
process.exit(1)
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
const client = new DiscordClient(config.token)
|
|
19
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
20
20
|
const relationships = await client.getRelationships()
|
|
21
21
|
|
|
22
22
|
const output = relationships.map((rel) => ({
|
|
@@ -55,7 +55,7 @@ afterEach(() => {
|
|
|
55
55
|
})
|
|
56
56
|
|
|
57
57
|
test('search: returns members matching query', async () => {
|
|
58
|
-
const client = new DiscordClient('test-token')
|
|
58
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
59
59
|
const members = await client.searchMembers('guild-1', 'alice', 10)
|
|
60
60
|
|
|
61
61
|
expect(members).toBeDefined()
|
|
@@ -65,7 +65,7 @@ test('search: returns members matching query', async () => {
|
|
|
65
65
|
})
|
|
66
66
|
|
|
67
67
|
test('search: includes member metadata', async () => {
|
|
68
|
-
const client = new DiscordClient('test-token')
|
|
68
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
69
69
|
const members = await client.searchMembers('guild-1', 'alice', 10)
|
|
70
70
|
|
|
71
71
|
const member = members[0]
|
|
@@ -83,7 +83,7 @@ test('search: includes member metadata', async () => {
|
|
|
83
83
|
})
|
|
84
84
|
|
|
85
85
|
test('search: respects limit parameter', async () => {
|
|
86
|
-
const client = new DiscordClient('test-token')
|
|
86
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
87
87
|
|
|
88
88
|
await client.searchMembers('guild-1', 'alice', 5)
|
|
89
89
|
|
|
@@ -91,7 +91,7 @@ test('search: respects limit parameter', async () => {
|
|
|
91
91
|
})
|
|
92
92
|
|
|
93
93
|
test('search: uses default limit of 10', async () => {
|
|
94
|
-
const client = new DiscordClient('test-token')
|
|
94
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
95
95
|
|
|
96
96
|
const members = await client.searchMembers('guild-1', 'alice')
|
|
97
97
|
|
|
@@ -20,7 +20,7 @@ async function searchAction(
|
|
|
20
20
|
process.exit(1)
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
const client = new DiscordClient(config.token)
|
|
23
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
24
24
|
const limit = options.limit ? parseInt(options.limit, 10) : 10
|
|
25
25
|
const members = await client.searchMembers(guildId, query, limit)
|
|
26
26
|
|
|
@@ -48,7 +48,7 @@ afterEach(() => {
|
|
|
48
48
|
|
|
49
49
|
test('getMentions: returns mentions', async () => {
|
|
50
50
|
// given: discord client
|
|
51
|
-
const client = new DiscordClient('test-token')
|
|
51
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
52
52
|
|
|
53
53
|
// when: getting mentions
|
|
54
54
|
const mentions = await client.getMentions()
|
|
@@ -64,7 +64,7 @@ test('getMentions: returns mentions', async () => {
|
|
|
64
64
|
|
|
65
65
|
test('getMentions: respects limit option', async () => {
|
|
66
66
|
// given: discord client with limit option
|
|
67
|
-
const client = new DiscordClient('test-token')
|
|
67
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
68
68
|
clientGetMentionsSpy.mockResolvedValue([
|
|
69
69
|
{
|
|
70
70
|
id: 'msg-1',
|
|
@@ -87,7 +87,7 @@ test('getMentions: respects limit option', async () => {
|
|
|
87
87
|
|
|
88
88
|
test('getMentions: respects guildId option', async () => {
|
|
89
89
|
// given: discord client with guildId option
|
|
90
|
-
const client = new DiscordClient('test-token')
|
|
90
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
91
91
|
clientGetMentionsSpy.mockResolvedValue([
|
|
92
92
|
{
|
|
93
93
|
id: 'msg-1',
|
|
@@ -112,7 +112,7 @@ test('getMentions: respects guildId option', async () => {
|
|
|
112
112
|
|
|
113
113
|
test('getMentions: includes mention metadata', async () => {
|
|
114
114
|
// given: discord client with mentions
|
|
115
|
-
const client = new DiscordClient('test-token')
|
|
115
|
+
const client = await new DiscordClient().login({ token: 'test-token' })
|
|
116
116
|
const mentions = await client.getMentions()
|
|
117
117
|
|
|
118
118
|
// when: checking mention properties
|
|
@@ -16,7 +16,7 @@ export async function listAction(options: { limit?: number; guild?: string; pret
|
|
|
16
16
|
process.exit(1)
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
const client = new DiscordClient(config.token)
|
|
19
|
+
const client = await new DiscordClient().login({ token: config.token })
|
|
20
20
|
const mentions = await client.getMentions({
|
|
21
21
|
limit: options.limit,
|
|
22
22
|
guildId: options.guild,
|