Hi,

I tested your code. I got an error in console : TypeError: chanlist.push is not 
a function at token: (null). After some debug, seems like the first << if >> in 
<< afterJoin >> doesn't work. I couldn't get a valid chanlist in leftall 
because of that.

I changed 

if(user.getProperty('channel')==null){

With

if (typeof user.getProperty('channel') == "function") {

And it did work on my test server (running 1.1.3-DEV, from Github source). By 
default empty properties return their native C code in Ape.log.


Let me know if that helps!

   - Louis

Le 2014-09-22 à 23:54, sakura <[email protected]> a écrit :

> Hi, 
> 
> I stuck with channel left problem, I've made registerCmd left all channel for 
> each user,  after join channel I keep the channel list array in user object, 
> than after trigger left channel all command (registerCmd "leftall") will loop 
> channel list and left the channel one by one.
> But when doing loop, I just get first channel left, than after that aped 
> died, something wrong with my code?
> 
> please help, appreciate it, thank you. here my code :
> 
> Ape.addEvent("afterJoin", function(user, channel) {
>         channel.userslist.set(user.getProperty('pubid'),user);
>         chanlist = new Array();
>         if(user.getProperty('channel')==null){
>                 chanlist.push(channel.getProperty('name'));
>         }else{
>                 chanlist =  user.getProperty('channel');
>                 chanlist.push(channel.getProperty('name'));
>         }
>         user.setProperty('channel',chanlist);
>         Ape.log('UserGetProperty: '+ user.getProperty('channel').toString());
>         Ape.log("JOIN CHANNEL " + user.getProperty('name') + " " + 
> channel.getProperty('name'));
>         switch(channel.getProperty('name'))
>         {
>                 case ChlAdmin.ListUser :
>                         i = 0;
>                         userlist.each(function(v,k)
>                         {
>                                 v.each(function(pubid)
>                                 {
>                                         jsonObj['user'+i] = k;
>                                         jsonObj['ip'+i] = 
> Ape.getUserByPubid(pubid).getProperty('ip');
>                                         i++;
>                                 });
>                         });
>                         jsonObj.count = i;
>                         info.user.pipe.sendRaw(Package.ListUser, jsonObj);
>                 break;
>         }
> });
> 
> 
> Ape.registerCmd("leftall", false, function(params,info){
>         user = info.user;
>         if(user == null)
>         {
>                 Ape.log("leftall - user is null");
>         }
>         else
>         {
>                 chanlist = user.getProperty('channel');
>                 Ape.log("channel found : " +chanlist.length);
>                 if(chanlist != null){
>                         for(i = 0; i < chanlist.length; i++){
>                                 Ape.log("loop chanlist : " + i);
>                                 Ape.log("user left all channel : " 
> +chanlist[i]);
>                                 user.left(chanlist[i]);
>                         };
> 
>                         user.setProperty('channel', null);
>                 }
>         }
> 
> });
> 
> 
> 
> 
> 
> 
> 
> -- 
> -- 
> You received this message because you are subscribed to the Google
> Groups "APE Project" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/ape-project?hl=en
> ---
> APE Project (Ajax Push Engine)
> Official website : http://www.ape-project.org/
> Git Hub : http://github.com/APE-Project/
> 
> --- 
> You received this message because you are subscribed to the Google Groups 
> "APE Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
-- 
You received this message because you are subscribed to the Google
Groups "APE Project" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/ape-project?hl=en
---
APE Project (Ajax Push Engine)
Official website : http://www.ape-project.org/
Git Hub : http://github.com/APE-Project/

--- 
You received this message because you are subscribed to the Google Groups "APE 
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to