コード例 #1
0
ファイル: itemshop.py プロジェクト: MinshuG/Athena
    def main(self):
        Log.Intro(self, "Athena - Fortnite Item Shop Generator")

        initialized = Athena.LoadConfiguration(self)

        if initialized is True:
            if self.delay > 0:
                Log.Info(self, f"Delaying process start for {self.delay}s...")
                sleep(self.delay)

            itemShop = Utility.GET(self,
                                   "https://fortnite-api.com/shop/br",
                                   parameters={'language': self.language})

            if itemShop is not None:
                itemShop = json.loads(itemShop)['data']

                # Strip time from the timestamp, we only need the date
                date = Utility.ISOtoHuman(self, itemShop["date"].split("T")[0])
                Log.Success(
                    self, f"Retrieved Item Shop for {date} in {self.language}")

                shopImage = Athena.GenerateImage(self, date, itemShop)

                if shopImage is True:
                    if self.twitterEnabled is True:
                        Athena.Tweet(self, date)
コード例 #2
0
    def main(self):
        print("Generador de Tienda de Objetos")
        print("Creado por: https://github.com/EthanC/Athena\n")
        print(
            "Modificado y Traducido por: https://github.com/PokeSantiTW/Spanish-Twitter-Item-Shop-Bot\n"
        )

        initialized = Athena.LoadConfiguration(self)

        if initialized is True:
            if self.delay > 0:
                log.info(f"Retrasando ejecución por {self.delay}s...")
                sleep(self.delay)

            itemShop = Utility.GET(
                self,
                "https://fortnite-api.com/v2/shop/br/combined",
                {"x-api-key": self.apiKey},
                {"language": self.language},
            )

            if itemShop is not None:
                itemShop = json.loads(itemShop)["data"]

                # Strip time from the timestamp, we only need the date
                date = Utility.ISOtoHuman(self, itemShop["date"].split("T")[0],
                                          self.language)
                log.info(f"Encontrado Tienda de Objetos del {date}")

                shopImage = Athena.GenerateImage(self, date, itemShop)

                if shopImage is True:
                    if self.twitterEnabled is True:
                        Athena.Tweet(self, date)
コード例 #3
0
ファイル: itemshop.py プロジェクト: pirica/Athena-FNAPI.io
    def main(self):
        print("Athena - Fortnite Item Shop Generator")
        print("https://github.com/Liimiitz/Athena-FNAPI.io\n")

        initialized = Athena.LoadConfiguration(self)

        if initialized is True:
            if self.delay > 0:
                log.info(f"Delaying process start for {self.delay}s...")
                sleep(self.delay)

            itemShop = Utility.GET(
                self,
                "https://fortniteapi.io/v1/shop",
                {"Authorization": self.apiKey},
                {"lang": self.language},
            )

            if itemShop is not None:
                itemShop = json.loads(itemShop)

                # Strip time from the timestamp, we only need the date
                date = Utility.ISOtoHuman(self, today, self.language)
                log.info(f"Retrieved Item Shop for {date}")

                shopImage = Athena.GenerateImage(self, date, itemShop)

                if shopImage is True:
                    if self.twitterEnabled is True:
                        Athena.Tweet(self, date)
コード例 #4
0
    def main(self):
        print("Athena - Fortnite Item Shop Generator")
        print("https://github.com/EthanC/Athena\n")

        initialized = Athena.LoadConfiguration(self)

        if initialized is True:
            if self.delay > 0:
                log.info(f"Delaying process start for {self.delay}s...")
                sleep(self.delay)

            itemShop = Utility.GET(
                self,
                "https://fortnite-api.com/v2/shop/br",
                {"x-api-key": self.apiKey},
                {"language": self.language},
            )

            if itemShop is not None:
                itemShop = json.loads(itemShop)["data"]

                # Strip time from the timestamp, we only need the date
                date = Utility.ISOtoHuman(self, itemShop["date"].split("T")[0],
                                          self.language)
                log.info(f"Retrieved Item Shop for {date}")

                shopImage = Athena.GenerateImage(self, date, itemShop)

                if shopImage is True:
                    if self.twitterEnabled is True:
                        Athena.Tweet(self, date)
コード例 #5
0
ファイル: index.py プロジェクト: pirica/Fortnite-ShopBot
    def MonitorChange(self) -> bool:
        prevdata = json.loads(
            ShopBot.GET_ItemShop(self,
                                 api_key=self.api_key,
                                 language=self.language))
        prevdata_ = Utility.Split_Special(self, data=prevdata)
        prevdata_ = Utility.Extract_ItemShop(self, data=prevdata_)
        time.sleep(600)

        while True:
            data = json.loads(
                ShopBot.GET_ItemShop(self,
                                     api_key=self.api_key,
                                     language=self.language))
            data_ = Utility.Split_Special(self, data=data)
            data_ = Utility.Extract_ItemShop(self, data=data_)
            log.info("Checking ItemShop change...")
            if prevdata_ == data_:
                log.info("ItemShop changed")
                date = Utility.ISOtoHuman(
                    self,
                    date=Utility.Now_ISO(self),
                    dateformat=self.text_override['date'],
                    hour=self.text_override['hour'],
                    language=self.language)
                specialoffer = None
                if self.text_override['auto-specialoffer-convert']['enabled']:
                    with requests.Session() as session:
                        specialoffer = AuthUtil.get_special_offer(
                            self,
                            session=session,
                            email=self.text_override[
                                'auto-specialoffer-convert']['email'],
                            password=self.text_override[
                                'auto-specialoffer-convert']['password'],
                            user_agent=self.user_agent,
                            language=self.language)
                if specialoffer is None:
                    specialoffer = self.text_override[
                        'auto-specialoffer-convert']['default']
                if data is not None and date is not None:
                    log.info("Generating shop image...")
                    Image = ShopBot.GenerateImage(
                        self,
                        data=data,
                        date=date,
                        text_override=self.text_override,
                        specialoffer=specialoffer,
                        namefont=self.namefont,
                        categoryfont=self.categoryfont)
                else:
                    log.error("Failed to get shop data")
                if Image:
                    log.info("Success")
            else:
                log.info("ItemShop nothing changed")
            time.sleep(600)
コード例 #6
0
ファイル: index.py プロジェクト: pirica/Fortnite-ShopBot
 def main(self):
     initialized = ShopBot.LoadConfig(ShopBot)
     if initialized:
         log.info("Fortnite-ShopBot")
         log.info("製作者: gomashio")
         log.info("参考: Athena")
         log.info("Getting ItemShop data...")
         data = json.loads(
             ShopBot.GET_ItemShop(self,
                                  api_key=self.api_key,
                                  language=self.language))
         date = Utility.ISOtoHuman(self,
                                   date=Utility.Now_ISO(self),
                                   dateformat=self.text_override['date'],
                                   hour=self.text_override['hour'],
                                   language=self.language)
         specialoffer = None
         if self.text_override['auto-specialoffer-convert']['enabled']:
             with requests.Session() as session:
                 specialoffer = AuthUtil.get_special_offer(
                     self,
                     session=session,
                     email=self.text_override['auto-specialoffer-convert']
                     ['email'],
                     password=self.
                     text_override['auto-specialoffer-convert']['password'],
                     user_agent=self.user_agent,
                     language=self.language)
         if specialoffer is None:
             specialoffer = self.text_override['auto-specialoffer-convert'][
                 'default']
         if data is not None and date is not None:
             log.info("Generating shop image...")
             Image = ShopBot.GenerateImage(self,
                                           data=data,
                                           date=date,
                                           text_override=self.text_override,
                                           specialoffer=specialoffer,
                                           namefont=self.namefont,
                                           categoryfont=self.categoryfont)
         else:
             log.error("Failed to get shop data")
         if Image:
             log.info("Success")
             if self.monitor_change_enabled:
                 ShopBot.MonitorChange(self)
             else:
                 exit()
コード例 #7
0
    def main(self):
        initialized = Athena.LoadConfiguration(self)

        if initialized is True:
            itemShop = Utility.GET(
                self,
                "https://fortnite-api.com/shop/br",
                # {"x-api-key": self.apiKey},
                {"language": LANGUAGE},
            )

            global date, item_shop_id
            itemShop = json.loads(itemShop)["data"]
            current_item_shop_id = itemShop["hash"]

            # Strip time from the timestamp, we only need the date
            current_date = Utility.ISOtoHuman(self,
                                              itemShop["date"].split("T")[0],
                                              LANGUAGE)

            date = current_date
            log.info(f"Retrieved Item Shop for {current_date}")

            if current_item_shop_id != item_shop_id:
                item_shop_id = current_item_shop_id
                self.sendImageToChannel(self, current_date, itemShop)
                # manda immagine
            else:
                log.info("Image not generated on this loop (same as previous)")

            log.info(
                f"End loop, waiting {config_utils.TIMER_TIME_SECONDS} seconds ------"
            )
            log.info("<---->")

            time.sleep(config_utils.TIMER_TIME_SECONDS)
            Athena.main(Athena)