Exemple #1
0
 def setUp(self):
     self.factory = APIRequestFactory()
     self.start_state = 'hillary'
     self.bot = Bot(self.start_state)
     self.user = User.objects.create_user(username='******',
                                          password='******',
                                          email='*****@*****.**')
     self.client = Client.objects.first()
Exemple #2
0
    def connect(self):
        # TODO: Find a more sensible authentication strategy using twitch 'sub' id perhaps
        # Ensure user has valid session
        decoded = verify_and_decode_jwt(self.scope['cookies']['token'])
        if decoded['preferred_username'] == self.scope['url_route']['kwargs'][
                'room_name']:
            # Accept connection
            self.accept()

            # Get user
            self.user_id = decoded['sub']
            self.twitch_user = Twitch_User.objects.get(pk=self.user_id)
            self.chat_responses = ChatResponse.objects.filter(
                twitch_user=self.twitch_user)

            # Get channel name from route
            self.channel = self.scope['url_route']['kwargs']['room_name']

            # Instantiate chat bot
            self.bot = Bot(self.chat_responses)

            # Start a Twitch Chat listener on user's channel
            self.twitch_chat = TwitchIrc(self.channel)
            self.twitch_chat.listen(lambda msg: self.message(msg))
Exemple #3
0
 def update_responses(self):
     self.chat_responses = ChatResponse.objects.filter(
         twitch_user=self.twitch_user)
     self.bot = Bot(self.chat_responses)