Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js twilio聊天-将用户添加到频道并接收消息_Node.js_Reactjs_Twilio_Twilio Api_Twilio Programmable Chat - Fatal编程技术网

Node.js twilio聊天-将用户添加到频道并接收消息

Node.js twilio聊天-将用户添加到频道并接收消息,node.js,reactjs,twilio,twilio-api,twilio-programmable-chat,Node.js,Reactjs,Twilio,Twilio Api,Twilio Programmable Chat,我正在为一个应用程序开发twilio聊天功能 下面是它的工作原理:- 当用户登录到我们的应用程序时,他们实际上已注册到twilio。 当我在我们的应用程序中打开聊天模式时,用户也会登录到twilio 现在,它的工作方式应该是 登录到我们应用程序的用户可以与应用程序上的其他用户聊天 因此,为2个用户创建了一个唯一的频道示例唯一频道名称:UserA1_UserA2,即如果用户A1(loggedIn user)想要与用户A2聊天 唯一通道名称的另一个选项是:UserA2\u UserA1 在用户1创建

我正在为一个应用程序开发twilio聊天功能

下面是它的工作原理:- 当用户登录到我们的应用程序时,他们实际上已注册到twilio。 当我在我们的应用程序中打开聊天模式时,用户也会登录到twilio

现在,它的工作方式应该是 登录到我们应用程序的用户可以与应用程序上的其他用户聊天 因此,为2个用户创建了一个唯一的频道示例唯一频道名称:UserA1_UserA2,即如果用户A1(loggedIn user)想要与用户A2聊天 唯一通道名称的另一个选项是:UserA2\u UserA1

在用户1创建通道并加入通道后,他发送他想要发送的消息

现在,当用户A2登录到我们的应用程序时,他需要加入用户A1创建的同一频道 频道名称有两种可能。i、 e UserA1_UserA2或UserA2_UserA1

因此,当用户A2登录到我们的应用程序时,他需要接收用户A1发送的消息

为此,他必须加入用户A1创建的同一个twilio频道,然后才能加载消息

现在,这就是我被卡住的地方

用户A2如何发现用户A1或任何其他用户是否向他发送了一些消息 他还需要知道他需要加入哪个频道来加载发送的消息

这是怎么回事

有没有办法做到这一点?? 我正在使用reactjs构建此功能

我已经完成了创建频道和登录twilio用户的相关部分 但不知道下一步该怎么做

如果你有任何想法,请告诉我

我遵循了本教程,已经能够使用它从用户1发送消息 但使用user2登录时无法获取消息

我该怎么做

更新:

使用这个-
this.channel.getMessages().then(this.messagesLoaded)

其中,messagesLoaded的定义如下:-

messagesLoaded(messagePage) {
    this.setState({
      messages: messagePage.items.map(this.twilioMessageToKendoMessage)
    });
  }
但是在做了大量的研究和再次检查代码之后 我发现问题不在于消息的加载 但是

它用于查找用户接收消息的通道

就像我上面解释的 假设用户A加入通道UserA1\U UserA2,并在那里向用户A2发送消息

但当用户A2登录时, 我们如何知道是否有人通过某个渠道向他发送了消息 还要找出哪个频道。这样他就可以加入那个频道并获得信息


这就是我面临的问题。

这里是Twilio开发者福音传道者

更新:显然,我错过了文档中准确描述的这一页

原始答案,以及让用户了解以下新消息的其他想法:

Twilio聊天中没有任何固有功能可以通知web用户应用程序中的新消息。不过,你能做的就是做好准备。然后,您可以使用检查哪个用户当前在频道中未处于活动状态,然后在数据库中针对您的用户存储一些内容,以表明他们有来自该频道的未读消息。然后,当他们登录时,您可以向他们显示他们有未读邮件,或者您可以在一段时间后向他们发送警报,例如通过电子邮件,告知他们有未读邮件


让我知道这是否有帮助。

当您的用户加入频道时,您使用什么代码加载消息?我在上面添加了一些代码。但是,正如我上面解释的,问题不在于假设用户A加入通道UserA1_UserA2并在那里向用户A2发送消息,而是当用户A2登录时,我们如何确定是否有人在某个通道上向他发送了消息,以及确定是哪个通道。这样他就可以加入那个频道并获得信息。非常感谢您的回复。这很有帮助。关于频道-你是说,我们需要通过后端来做吗?假设userA1向userA2通道userA1\u userA2发送消息。当用户A2登录时,webhook将被激活。但不会包含频道信息??或者如果收到邀请?基本上,这个聊天室正在使用sdk开发android应用程序版本。他们所做的是创建频道,然后在创建频道后立即将用户A2添加到频道中。所以我也想做一些类似的事情,所以我想这是不可能的。如果在事件发生时出现可能的电子书,请务必给我一些指导,并允许您在事件发生时通过存储数据或通知用户来对其作出反应。另一方面,当用户登录时,您可以始终在后台加载聊天,检查频道中的新频道或新消息,然后通知他们。这真的取决于你。所以,我可以设置一些东西,当user2登录时,他们会在收到邀请或消息时得到通知。正确的??我们得看看怎么做Thanks@philnash当你说:“Twilio聊天中没有什么固有的功能来通知网络用户新的消息”时,我感到困惑。在可编程聊天文档中,有一个关于推送通知配置()的部分,用于通知新消息和其他事件。这不是一个有效的选择吗?@RyanBuening该死的对,我完全错了,不知道页面存在!我必须进一步调查此事