Exemplo n.º 1
0
    async def handleMessage(self, twitchUser: User, message: Message) -> bool:
        if twitchUser is None:
            raise ValueError(
                f'twitchUser argument is malformed: \"{twitchUser}\"')
        elif message is None:
            raise ValueError(f'message argument is malformed: \"{message}\"')

        generalSettings = await self.__generalSettingsRepository.getAllAsync()

        if not generalSettings.isEyesMessageEnabled():
            return False
        elif not twitchUser.isEyesMessageEnabled():
            return False

        splits = utils.getCleanedSplits(message.content)

        if self.__eyesMessage in splits and self.__lastEyesMessageTimes.isReadyAndUpdate(
                twitchUser.getHandle()):
            await twitchUtils.safeSend(message.channel, self.__eyesMessage)
            self.__timber.log(
                'EyesMessage',
                f'Handled eyes message for {message.author.name} in {twitchUser.getHandle()}'
            )
            return True

        return False