             msg.from_user = @get_user( msg.from_uin )
         msg
 
-        
+
     # 监听特定群并返回群对象
     # @callback (group对象, error = null)
-    
+
     listen_group : (name , callback) ->
       log.info 'fetching group list'
       @update_group_list (ret, e) =>
           log.info '√ group list fetched'
-                    
-          @update_buddy_list (ret,error)->
-              log.info '√ buddy list fetched' if ret
-
-          
+
           log.info "fetching groupmember #{name}"
           @update_group_member {name:name} ,(ret,error)=>
               log.info '√ group memeber fetched'
-                
-              groupinfo = @get_group {name:name} 
+
+              groupinfo = @get_group {name:name}
               group = new Group(@, groupinfo.gid)
               @dispatcher.add_listener [group,"dispatch"]
               callback group


    _create_message : (event)->
        value = event.value
        msg = 
            content : value.content.slice(-1).pop().trim()
            time    : new Date(value.time * 1000)
            from_uin: value.from_uin
            type    : if value.group_code then 'group' else 'buddy'
            uid     : value.msg_id
            
        if msg.type == 'group'
            msg.from_gid = msg.from_uin
            msg.group_code = value.group_code

          when 121 then @die("登录异常 #{code}",resp)
          when 102 then 'nothing happened'
          else log.debug resp


    _handle_poll_event : (event) ->
        switch event.poll_type
          when 'group_message' then @_on_message(event)
          when 'message'       then @_on_message(event)
          else log.warning "unimplemented event",event.poll_type

    _on_message : (event)->
        msg = @_create_message event
        if msg.type == 'group'
