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()
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))
def update_responses(self): self.chat_responses = ChatResponse.objects.filter( twitch_user=self.twitch_user) self.bot = Bot(self.chat_responses)