2015-08-23 1 views
2

Я изучаю swampdragonchat_example. В router.py согласно документации get_subscription_channel указано название канала.
Когда я попытался изменить значение возвращаемого значения, оно все еще работает.Публикация на конкретном канале/Группа

Как ограничить сообщения определенной группой/каналом. Что мне нужно делать в передней части.

from swampdragon import route_handler 
from swampdragon.route_handler import BaseRouter 


class ChatRouter(BaseRouter): 
    route_name = 'chat-route' 
    valid_verbs = ['chat', 'subscribe'] 

    def get_subscription_channels(self, **kwargs): 
     return ['chatrm'] 

    def chat(self, *args, **kwargs): 

     errors = {} 

     if errors: 
      self.send_error(errors) 
     else: 
      self.send({'status': 'ok'}) 
      self.publish(self.get_subscription_channels(), kwargs) 


route_handler.register(ChatRouter) 

Это способ подписки.

function subscribe() { 
    swampdragon.subscribe('chat-route', 'local-channel', null, function (context, data) { 
     // any thing that happens after successfully subscribing 
    }, function (context, data) { 
     // any thing that happens if subscribing failed 
    }); 
} 

ответ

1

Я также столкнулся с той же проблемой. Здесь проблема в том, что вы не публикуете данные на канал, который вы подписали. Вы подписались на канал с именем 'local-channel', но в вашем router.py вы публикуете или маршрутизируете данные другим каналом с именем 'chatrm'. Вот почему вы не получаете никаких уведомлений. Есть два способа исправить это.

1. Вам необходимо изменить метод get_subscription_channels в router.py, как показано ниже.

def get_subscription_channels(self, **kwargs): 
    return ['local-channel'] 

ИЛИ

2. Изменение подписки метод, как показано ниже:

function subscribe() { 
swampdragon.subscribe('chat-route', 'chatrm', null, function (context, data) { 
    // any thing that happens after successfully subscribing 
}, function (context, data) { 
    // any thing that happens if subscribing failed 
}); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^