当前位置: 首页 > 知识库问答 >
问题:

Twilio聊天:尝试在频道上获取成员可达性的通知

唐弘益
2023-03-14

运行下面的代码,我得到了可达性已启用的通知和成员的控制台日志,但是当我让其他成员进入/退出页面时,没有事件触发。

/*twilioChat is the return from  require: https://media.twiliocdn.com/sdk/js/chat/v3.3/twilio-chat.min.js*/
        function chatInit(twilioChat){ 

            $scope.twilioChat = twilioChat;
            $scope.twilioChat.Client.create($scope.TOKEN).then(client => {
              console.log('Created chat client');
                $scope.chatClient = client;
                $scope.chatClient.getSubscribedChannels().then(function(){
                    $scope.chatReady = true;
                    console.log('chat is ready');
                    createOrJoinMonitorChannel();
                });
                
                
            }).catch((err) =>{
                console.error(err);
                
            })
        }
    
    function createOrJoinMonitorChannel(){
            
            $scope.chatClient.getChannelByUniqueName($scope.monitor_listen)
                .then(function(channel){
                      $scope.monitorListenChannel = channel;
                      setupMonitorChannel();
                      }).catch(function(err){
                console.log(err);
                $scope.chatClient.createChannel({
                    uniqueName: $scope.monitor_listen,
                    friendlyName: $scope.monitor_listen,
                    
                }).then(function(channel){
                    $scope.monitorListenChannel = channel;
                   setupMonitorChannel();
                }).catch(function(err){
                    console.log('Monitor Channel could not be created');
                    console.log(err);
                });
            });
            
        }
    
    function setupMonitorChannel(){
            var status = $scope.monitorListenChannel.state.status;
            if(status !== 'joined'){
            $scope.monitorListenChannel.join().then(function(channel){
                
                });
            }else{
            
            }
            $scope.monitorListenChannel.on('memberJoined',function(m){
                console.log('member joined');
                
            });
            $scope.monitorListenChannel.on('memberLeft',function(m){
                console.log('member left');
                
            });
                if($scope.chatClient.reachabilityEnabled){
                    console.log('Enabled');
                }else{
                    console.log('Not Enabled');
                }
                
            
              $member_promise = $scope.monitorListenChannel.getMembers();
              $member_promise.then(members=>{
                 console.log(members); 
                 members.forEach(member=>{
                     member.on('userInfoUpdated',function(user){
                        console.log('user info updated') ;
                     });
                 })
              });
            
            $scope.monitorListenChannel.on('messageAdded', function(message){
                var data = isJSONSTR(message.body);
                $handler.classroomMonitor(data);
            });
        }

共有1个答案

须敏学
2023-03-14

当您启用可达性时,它会在用户联机或未联机时触发一个事件。可以使用user.on(“updated”,({user,updateRasons})=>{})事件侦听器。根据您使用的版本,可能不支持userInfoUpdated。

当您监听某个成员何时离开频道时,您必须自己调用channel.leave()。这有帮助吗?

https://media.twiliocdn.com/sdk/js/chat/releases/4.0.0/docs/user.html

 类似资料:
  • 问题是,当创建新的专用通道时,事件不会触发。这是否意味着我分配给用户的even the service角色是不正确的,或者channelAdded方法不应该为新的私有通道激发?

  • 我正在开发一个1:1的聊天应用程序。在启动应用程序之前,我使用PHP服务器创建私有通道。正确创建通道。 生成用户令牌,并正确创建聊天客户端。我看到用户也是在服务中创建的。 它显示消息“正在连接....”然后在出现错误时停止。 PHP代码:

  • 我正在尝试创建一个简单的聊天应用程序之间的两个用户,使用twilio js API。 如果它已经存在,则表示另一个用户已经登录,我希望加入此通道。 否则,我想用这个特定名称创建一个通道,并等待其他用户。 我尝试了两种选择:1。聊天客户端。2.IPMessaging客户端。 我正在尝试使用此功能:

  • 我没有收到接收消息的推送通知等,也不确定有什么其他杠杆可供我使用。如果团队中的任何人看到这条消息,我很想知道如何调试它。

  • 下面是我用来创建聊天客户端和加入频道的代码:

  • 控制台-频道-聊天-获取消息 接口URL {youke-url}/console/Index.php?c=live&a=getComment&timestamp=1607677497&access_key=abc&sign=97d791101db8600e162935d43cc63f0e3510cb98 请求方式 POST Content-Type form-data 请求Query参数 参数 示