【问题标题】:Error Initiating one-to-one chat using getstream.io使用 getstream.io 发起一对一聊天时出错
【发布时间】:2019-12-19 22:40:29
【问题描述】:

我正在尝试使用getstream.io 开发聊天应用程序。在文档中,我们可以看到如何发起一对一的聊天,如下所示

const conversation = client.channel('messaging', null, {
    members: ['ajantha', 'chana'],
})

但是当我尝试它时,我收到错误消息 Error: StreamChat error code 4: GetOrCreateChannel failed with error: "When using member based IDs specified at least 2 members。这是代码我正在尝试的示例

async initChannel() {
    try {
      this.channel = this.client.channel('messaging', null, {
        members: ['ajantha', 'chana'],
    });
      const state = await this.channel.watch();
      console.log('channel was ceated', state);

      this.channel.on('message.new', event => {
        console.log('received a new message', event.message.text);
        console.log(`Now have ${this.channel.state.messages.length} stored in local state`);
      });
    } catch (e) {
      console.log('Error initiating channel', e);
    }
  }

有人知道我为什么会收到这个错误吗?

【问题讨论】:

    标签: javascript angular chat getstream-io


    【解决方案1】:

    更新:该问题仅适用于旧版本的 JS 客户端。 JS 客户端现在支持更友好的client.channel 签名。下面的代码创建了一个没有 ID 和两个成员的频道:

    const conversation = client.channel('messaging', {
        members: ['ajantha', 'chana'],
    })
    

    如果您将 null 作为 ID 参数传递,那也可以。

    【讨论】:

    • 这是在创建一个不可读的频道 ID。好像我必须自己设置一个频道,可能是我要聊天的其他人的用户名。但无论如何,再次感谢
    • 这是频道唯一ID;您可以添加自定义属性,例如名称以进行渲染(通常您只需使用频道成员的名称作为显示名称)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多