From e8c856924c280232f0fa173ae91213751926adf7 Mon Sep 17 00:00:00 2001 From: syuilo <Syuilotan@yahoo.co.jp> Date: Tue, 18 May 2021 00:07:17 +0900 Subject: [PATCH] :v: --- README.md | 68 ++++++++++++++++++++++++++++++++++++++++++++---- src/streaming.ts | 2 +- 2 files changed, 64 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ed34a329a7..d90ffe023e 100644 --- a/README.md +++ b/README.md @@ -48,19 +48,77 @@ mainChannel.on('notification', notification => { }); ``` -### `useSharedConnection(channel: string): SharedConnection` -使ã„ã¾ã‚ã—å¯èƒ½ãªãƒãƒ£ãƒ³ãƒãƒ«(=パラメータをæŒãŸãªã„ãƒãƒ£ãƒ³ãƒãƒ«)ã«æŽ¥ç¶šã—ã¾ã™ã€‚ -ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’用ã„ã¦æŽ¥ç¶šã—ãŸãƒãƒ£ãƒ³ãƒãƒ«æŽ¥ç¶šã¯å†…部的ã«ä½¿ã„ã¾ã‚ã•ã‚Œã‚‹ãŸã‚ã€ãƒ—ãƒã‚°ãƒ©ãƒ 上ã®è¤‡æ•°ã®å ´æ‰€ã‹ã‚‰å‘¼ã³å‡ºã—ã¦ã‚‚コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’無駄ã«å¢—ã‚„ã•ãšã«æ¸ˆã¿ã¾ã™ã€‚ +### ãƒãƒ£ãƒ³ãƒãƒ«ã¸ã®æŽ¥ç¶š(使ã„ã¾ã‚ã™å ´åˆ) +使ã„ã¾ã‚ã—å¯èƒ½ãªãƒãƒ£ãƒ³ãƒãƒ«(=パラメータをæŒãŸãªã„ãƒãƒ£ãƒ³ãƒãƒ«)ã«æŽ¥ç¶šã™ã‚‹ã¨ãã¯ã€`useSharedConnection`メソッドを使用ã—ã¾ã™ã€‚ -### `connectToChannel(channel: string, params?: any): NonSharedConnection` -ãƒãƒ£ãƒ³ãƒãƒ«ã«æŽ¥ç¶šã—ã¾ã™ã€‚返り値ã¯ãã®ãƒãƒ£ãƒ³ãƒãƒ«ã¸ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã§ã™ã€‚ +``` ts +const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' }); + +const mainChannel = stream.useSharedConnection('main'); +``` + +ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’用ã„ã¦ãƒãƒ£ãƒ³ãƒãƒ«ã«æŽ¥ç¶šã™ã‚‹ã“ã¨ã§ã€(åŒã˜Streamインスタンスを共有ã—ã¦ã„ã‚‹å ´åˆ)プãƒã‚°ãƒ©ãƒ 上ã®è¤‡æ•°å€‹æ‰€ã‹ã‚‰å‘¼ã³å‡ºã—ã¦ã‚‚内部的ã«ã¾ã¨ã‚られã¾ã™ã€‚ + +### ãƒãƒ£ãƒ³ãƒãƒ«ã¸ã®æŽ¥ç¶š(使ã„ã¾ã‚ã—ä¸å¯ã®å ´åˆ) +パラメータをæŒã¤ãƒãƒ£ãƒ³ãƒãƒ«ã¸ã®æŽ¥ç¶šã¯`connectToChannel`メソッドを使用ã—ã¾ã™ã€‚ + +``` ts +const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' }); + +const messagingChannel = stream.connectToChannel('messaging', { + otherparty: 'xxxxxxxxxx', +}); +``` + +### ãƒãƒ£ãƒ³ãƒãƒ«ã‹ã‚‰åˆ‡æ– +`dispose`メソッドを呼ã³å‡ºã—ã¾ã™ã€‚ + +``` ts +const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' }); + +const mainChannel = stream.useSharedConnection('main'); + +mainChannel.dispose(); +``` ### メッセージã®å—ä¿¡ ãƒãƒ£ãƒ³ãƒãƒ«æŽ¥ç¶šã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯EventEmitterを継承ã—ã¦ãŠã‚Šã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒã‚µãƒ¼ãƒãƒ¼ã‹ã‚‰å—ä¿¡ã•ã‚Œã‚‹ã¨å—ã‘å–ã£ãŸã‚¤ãƒ™ãƒ³ãƒˆåã§ãƒšã‚¤ãƒãƒ¼ãƒ‰ã‚’emitã—ã¾ã™ã€‚ +``` ts +import * as Misskey from 'misskey-js'; + +const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' }); +const mainChannel = stream.useSharedConnection('main'); +mainChannel.on('notification', notification => { + console.log('notification received', notification); +}); +``` + ### メッセージã®é€ä¿¡ ãƒãƒ£ãƒ³ãƒãƒ«æŽ¥ç¶šã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®`send`メソッドを使用ã—ã¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’サーãƒãƒ¼ã«é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +``` ts +import * as Misskey from 'misskey-js'; + +const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' }); +const messagingChannel = stream.connectToChannel('messaging', { + otherparty: 'xxxxxxxxxx', +}); + +messagingChannel.send('read', { + id: 'xxxxxxxxxx' +}); +``` + +### Reference + +#### `useSharedConnection(channel: string): SharedConnection` +使ã„ã¾ã‚ã—å¯èƒ½ãªãƒãƒ£ãƒ³ãƒãƒ«(=パラメータをæŒãŸãªã„ãƒãƒ£ãƒ³ãƒãƒ«)ã«æŽ¥ç¶šã—ã¾ã™ã€‚ +ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’用ã„ã¦æŽ¥ç¶šã—ãŸãƒãƒ£ãƒ³ãƒãƒ«æŽ¥ç¶šã¯å†…部的ã«ä½¿ã„ã¾ã‚ã•ã‚Œã‚‹ãŸã‚ã€ãƒ—ãƒã‚°ãƒ©ãƒ 上ã®è¤‡æ•°ã®å ´æ‰€ã‹ã‚‰å‘¼ã³å‡ºã—ã¦ã‚‚コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’無駄ã«å¢—ã‚„ã•ãšã«æ¸ˆã¿ã¾ã™ã€‚ + +#### `connectToChannel(channel: string, params?: any): NonSharedConnection` +ãƒãƒ£ãƒ³ãƒãƒ«ã«æŽ¥ç¶šã—ã¾ã™ã€‚返り値ã¯ãã®ãƒãƒ£ãƒ³ãƒãƒ«ã¸ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã§ã™ã€‚ + --- <div align="center"> diff --git a/src/streaming.ts b/src/streaming.ts index effa1f11bd..5a1e372531 100644 --- a/src/streaming.ts +++ b/src/streaming.ts @@ -52,7 +52,7 @@ type ChannelDef = { message: (payload: MessagingMessage) => void; deleted: (payload: MessagingMessage['id']) => void; read: (payload: MessagingMessage['id'][]) => void; - typing: (payload: User['id']) => void; + typers: (payload: User[]) => void; }; }; }; -- GitLab