gpt4 book ai didi

javascript - 如何发起与 getstream.io 的一对一聊天?

转载 作者:行者123 更新时间:2023-11-30 19:05:18 25 4
gpt4 key购买 nike

我正在尝试使用 getstream.io 创建类似 slack 的应用程序聊天SDK。在文档中我们可以找到,如何启动一个 channel 来开始群聊。但是没有任何关于一对一聊天的信息。有谁知道如何发起一对一聊天?

为群聊创建新 channel 的代码示例

const client = new StreamChat('t5v25xyujjjq');
await client.setUser(
{
id: 'jlahey',
name: 'Jim Lahey',
image: 'https://i.imgur.com/fR9Jz14.png',
},
'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiamxhaGV5In0.sFe9WvuHIKgQmgtEWFh708Nu_a2wy8Zj3Q8BJz7fDRY',
);

const channel = chatClient.channel('messaging', 'groupname', {
name: 'Founder Chat',
image: 'profile image url',
members: ['user1', 'user2'],
});
const response = await channel.sendMessage({
text: 'Josh I told them I was pesca-pescatarian'
});

最佳答案

如果您想保证 N 个用户之间只存在一个 channel ,您可以实例化没有 ID 的 channel 及其成员列表。

当您这样做时,API 将确保只有一个 channel 与成员列表存在(成员的顺序无关紧要)。

const  distinctChannel = conversation.channel("messaging","", {
members: [user1.id, user2.id],
});

await distinctChannel.create();

因为两个成员的 channel 数据是一样的;我建议不要像在代码示例中那样存储 image 字段。在呈现对话时,使用“其他”成员个人资料图像作为 channel 图像更容易。

例如:

let channelImage = "https://path/to/fallback/image";

otherMembers = channel.members.filter(member => member.user.id != currentUser.id);

if otherMembers.length > 0 {
channelImage = otherMembers[0].image;
}

关于javascript - 如何发起与 getstream.io 的一对一聊天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59045298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com