%global _empty_manifest_terminate_build 0 Name: python-LootBotApi Version: 0.5.9.3 Release: 1 Summary: API wrapper for Loot Bot License: MIT URL: https://github.com/Anatras02/LootBotApi Source0: https://mirrors.nju.edu.cn/pypi/web/packages/70/39/3ef4ab73ddf52456309ad07b62f720ba904dd9bdda5a141464711240e49b/LootBotApi-0.5.9.3.tar.gz BuildArch: noarch Requires: python3-requests Requires: python3-munch %description # LootBotApi This is an API wrapper for Loot Bot (https://telegra.ph/Guida-alle-LootBot-API-04-06) # Installation ## Download from PyPi 1. `pip install LootBotApi` 2. `from LootBotApi import LootBotApi` 3. `api = LootBotApi(TOKEN)` --> the token can be found using the command /token on https://t.me/lootplusbot 4. Call the methods from the object created above # Methods ## Api Wrapper Most of this methods will return a list of Munch objects. This means that the attributes of the result can either be accessed as dictionary keys or object attributes ### Items * `get_items(rarity = None)` It returns all the items in the game, if rarity is passed it returns all the items of that rarity * `get_item(item)` It returns the info about a given item ``` python print(api.get_item("Meccanismo di Ferro").id) #363 print(api.get_item(363).name) #Meccanismo di Ferro ``` ### History * `get_history(place = "payments",limit = None,offset = None,fromPlayer = None,toPlayer = None,fromItem = None,toItem = None,both = None,fromPrice = None,toPrice = None,orderBy = "desc")` It returns the transactions with the specificied parameters ### Players * `get_players()` It returns all the players of LootBot * `get_player(player)` It returns the info about the player ### Crafting * `get_crafts()` It returns all the crafts in the game * `get_craft_needed(item_id)` It returns the items requested to craft the item * `get_craft_used(item_id)` It returns the item that you can craft using the item ``` python items = api.get_craft_needed(363) for item in items: print(item.name) #Perno #Meccanismo di Legno #Ferro ``` ### Shops * `get_shop(shop)` It returns the infos about the shop ### Cards * `get_cards()` It returns all the cards in the game ### Global * `get_global()` It returns the progress of the current global challenge, it's updated every hour * `get_info()` It returns infos about the current global challenge ### Team * `get_team(team)` it returns the infos about a team ### Ricerche * `get_searches(quantity)` It returns the searches made on the bot ## Custom Methods These methods are not natively implemented in the API but they are derived by them. ### Crafting #### Meaning of inventory The inventory paramater excepts a dict structured like this: ``` python { item1: quantity, item2: quantity, ., ., ., itemN: quantity } ``` * `get_total_craft_points(item)` It returns the total craft points that you will get to craft the item ``` python print(api.get_total_craft_points("Ordigno Polverizzatore")) #113 ``` * `get_crafting_steps(item,num_elements=1,inventory=dict())` It returns as a list of dicts all the steps to craft a certain element (and in a certain quantity). If the inventory is passed the items already owned will not be listed. ``` python def print_steps(steps): for step in steps: for elemento in step: print(f"Crea {elemento},{step[elemento]}") steps = api.get_crafting_steps("Scudo Punta Doppia",5) print_steps(steps) """ Crea Scudo Punta Singola,3 Crea Scudo Punta Singola,2 Crea Scudo Punta Doppia,3 Crea Scudo Punta Doppia,2 """ inventory = {"Scudo Punta Singola":2} steps = api.get_crafting_steps("Scudo Punta Doppia",5,inventory=inventory) print_steps(steps) """ Crea Scudo Punta Singola,3 Crea Scudo Punta Doppia,3 Crea Scudo Punta Doppia,2 """ ``` * `get_craft_total_needed_base_items(item,num_elements=1,inventory=dict())` It returns a dict containing the name of all the base items needed to craft a certain element (and in a certain quantity). If the inventory is passed the items already owned will not be listed. ``` python print(api.get_craft_total_needed_base_items("Scudo Punta Tripla",2)) #{'Ambra Nera': 2, 'Materiale Affilante': 2, 'Manico': 2, 'Scaglia di Rubino': 2, 'Metallo': 2, 'Scheggia': 2, 'Nastro Adesivo': 2} ``` * `get_craft_needed_base(item_id)` It returns a list of base elements needed to craft the item ``` python print(api.get_craft_needed_base(api.get_exact_item("Scudo Punta Tripla").id)) #[Munch({'id': 80, 'name': 'Ambra Nera', 'rarity': 'UR', 'craftable': 0}), Munch({'id': 127, 'name': 'Materiale Affilante', 'rarity': 'UR', 'craftable': 0})] ``` ### Market * `get_average_market_price(item)` It returns the average price of an item in the market as an integer ``` python print(api.get_average_market_price("Ferro")) #37394 ``` ### Items * `get_exact_item(item)` It returns the exact item searched ``` python print(api.get_element("Carta")) """ [Munch({'id': 1, 'name': 'Carta', 'rarity': 'C', 'rarity_name': 'Comuni', 'value': 410, 'max_value': 205000, 'estimate': 2000, 'spread': 46, 'spread_tot': 0.116, 'craftable': 0, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0}), Munch({'id': 8, 'name': 'Carta Stropicciata', 'rarity': 'NC', 'rarity_name': 'Non Comuni', 'value': 810, 'max_value': 405000, 'estimate': 1237, 'spread': 44, 'spread_tot': 0.084, 'craftable': 0, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0}), Munch({'id': 35, 'name': 'Aereo di Carta Piccolo', 'rarity': 'NC', 'rarity_name': 'Non Comuni', 'value': 1121, 'max_value': 1121000, 'estimate': 11750, 'spread': 30, 'spread_tot': 0.001, 'craftable': 1, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0.1}), Munch({'id': 36, 'name': 'Aereo di Carta Grande', 'rarity': 'R', 'rarity_name': 'Rari', 'value': 1697, 'max_value': 1697000, 'estimate': 13045, 'spread': 28, 'spread_tot': 0.001, 'craftable': 1, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 1, 'cons_val': 0.15}), Munch({'id': 37, 'name': 'Caccia di Carta', 'rarity': 'UR', 'rarity_name': 'Ultra Rari', 'value': 3468, 'max_value': 3468000, 'estimate': 4650, 'spread': 25, 'spread_tot': 0, 'craftable': 1, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 3, 'cons_val': 0.25})] """ print(api.get_exact_item("Carta")) """ Munch({'id': 1, 'name': 'Carta', 'rarity': 'C', 'rarity_name': 'Comuni', 'value': 410, 'max_value': 205000, 'estimate': 2000, 'spread': 46, 'spread_tot': 0.116, 'craftable': 0, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0}) """ ``` %package -n python3-LootBotApi Summary: API wrapper for Loot Bot Provides: python-LootBotApi BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-LootBotApi # LootBotApi This is an API wrapper for Loot Bot (https://telegra.ph/Guida-alle-LootBot-API-04-06) # Installation ## Download from PyPi 1. `pip install LootBotApi` 2. `from LootBotApi import LootBotApi` 3. `api = LootBotApi(TOKEN)` --> the token can be found using the command /token on https://t.me/lootplusbot 4. Call the methods from the object created above # Methods ## Api Wrapper Most of this methods will return a list of Munch objects. This means that the attributes of the result can either be accessed as dictionary keys or object attributes ### Items * `get_items(rarity = None)` It returns all the items in the game, if rarity is passed it returns all the items of that rarity * `get_item(item)` It returns the info about a given item ``` python print(api.get_item("Meccanismo di Ferro").id) #363 print(api.get_item(363).name) #Meccanismo di Ferro ``` ### History * `get_history(place = "payments",limit = None,offset = None,fromPlayer = None,toPlayer = None,fromItem = None,toItem = None,both = None,fromPrice = None,toPrice = None,orderBy = "desc")` It returns the transactions with the specificied parameters ### Players * `get_players()` It returns all the players of LootBot * `get_player(player)` It returns the info about the player ### Crafting * `get_crafts()` It returns all the crafts in the game * `get_craft_needed(item_id)` It returns the items requested to craft the item * `get_craft_used(item_id)` It returns the item that you can craft using the item ``` python items = api.get_craft_needed(363) for item in items: print(item.name) #Perno #Meccanismo di Legno #Ferro ``` ### Shops * `get_shop(shop)` It returns the infos about the shop ### Cards * `get_cards()` It returns all the cards in the game ### Global * `get_global()` It returns the progress of the current global challenge, it's updated every hour * `get_info()` It returns infos about the current global challenge ### Team * `get_team(team)` it returns the infos about a team ### Ricerche * `get_searches(quantity)` It returns the searches made on the bot ## Custom Methods These methods are not natively implemented in the API but they are derived by them. ### Crafting #### Meaning of inventory The inventory paramater excepts a dict structured like this: ``` python { item1: quantity, item2: quantity, ., ., ., itemN: quantity } ``` * `get_total_craft_points(item)` It returns the total craft points that you will get to craft the item ``` python print(api.get_total_craft_points("Ordigno Polverizzatore")) #113 ``` * `get_crafting_steps(item,num_elements=1,inventory=dict())` It returns as a list of dicts all the steps to craft a certain element (and in a certain quantity). If the inventory is passed the items already owned will not be listed. ``` python def print_steps(steps): for step in steps: for elemento in step: print(f"Crea {elemento},{step[elemento]}") steps = api.get_crafting_steps("Scudo Punta Doppia",5) print_steps(steps) """ Crea Scudo Punta Singola,3 Crea Scudo Punta Singola,2 Crea Scudo Punta Doppia,3 Crea Scudo Punta Doppia,2 """ inventory = {"Scudo Punta Singola":2} steps = api.get_crafting_steps("Scudo Punta Doppia",5,inventory=inventory) print_steps(steps) """ Crea Scudo Punta Singola,3 Crea Scudo Punta Doppia,3 Crea Scudo Punta Doppia,2 """ ``` * `get_craft_total_needed_base_items(item,num_elements=1,inventory=dict())` It returns a dict containing the name of all the base items needed to craft a certain element (and in a certain quantity). If the inventory is passed the items already owned will not be listed. ``` python print(api.get_craft_total_needed_base_items("Scudo Punta Tripla",2)) #{'Ambra Nera': 2, 'Materiale Affilante': 2, 'Manico': 2, 'Scaglia di Rubino': 2, 'Metallo': 2, 'Scheggia': 2, 'Nastro Adesivo': 2} ``` * `get_craft_needed_base(item_id)` It returns a list of base elements needed to craft the item ``` python print(api.get_craft_needed_base(api.get_exact_item("Scudo Punta Tripla").id)) #[Munch({'id': 80, 'name': 'Ambra Nera', 'rarity': 'UR', 'craftable': 0}), Munch({'id': 127, 'name': 'Materiale Affilante', 'rarity': 'UR', 'craftable': 0})] ``` ### Market * `get_average_market_price(item)` It returns the average price of an item in the market as an integer ``` python print(api.get_average_market_price("Ferro")) #37394 ``` ### Items * `get_exact_item(item)` It returns the exact item searched ``` python print(api.get_element("Carta")) """ [Munch({'id': 1, 'name': 'Carta', 'rarity': 'C', 'rarity_name': 'Comuni', 'value': 410, 'max_value': 205000, 'estimate': 2000, 'spread': 46, 'spread_tot': 0.116, 'craftable': 0, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0}), Munch({'id': 8, 'name': 'Carta Stropicciata', 'rarity': 'NC', 'rarity_name': 'Non Comuni', 'value': 810, 'max_value': 405000, 'estimate': 1237, 'spread': 44, 'spread_tot': 0.084, 'craftable': 0, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0}), Munch({'id': 35, 'name': 'Aereo di Carta Piccolo', 'rarity': 'NC', 'rarity_name': 'Non Comuni', 'value': 1121, 'max_value': 1121000, 'estimate': 11750, 'spread': 30, 'spread_tot': 0.001, 'craftable': 1, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0.1}), Munch({'id': 36, 'name': 'Aereo di Carta Grande', 'rarity': 'R', 'rarity_name': 'Rari', 'value': 1697, 'max_value': 1697000, 'estimate': 13045, 'spread': 28, 'spread_tot': 0.001, 'craftable': 1, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 1, 'cons_val': 0.15}), Munch({'id': 37, 'name': 'Caccia di Carta', 'rarity': 'UR', 'rarity_name': 'Ultra Rari', 'value': 3468, 'max_value': 3468000, 'estimate': 4650, 'spread': 25, 'spread_tot': 0, 'craftable': 1, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 3, 'cons_val': 0.25})] """ print(api.get_exact_item("Carta")) """ Munch({'id': 1, 'name': 'Carta', 'rarity': 'C', 'rarity_name': 'Comuni', 'value': 410, 'max_value': 205000, 'estimate': 2000, 'spread': 46, 'spread_tot': 0.116, 'craftable': 0, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0}) """ ``` %package help Summary: Development documents and examples for LootBotApi Provides: python3-LootBotApi-doc %description help # LootBotApi This is an API wrapper for Loot Bot (https://telegra.ph/Guida-alle-LootBot-API-04-06) # Installation ## Download from PyPi 1. `pip install LootBotApi` 2. `from LootBotApi import LootBotApi` 3. `api = LootBotApi(TOKEN)` --> the token can be found using the command /token on https://t.me/lootplusbot 4. Call the methods from the object created above # Methods ## Api Wrapper Most of this methods will return a list of Munch objects. This means that the attributes of the result can either be accessed as dictionary keys or object attributes ### Items * `get_items(rarity = None)` It returns all the items in the game, if rarity is passed it returns all the items of that rarity * `get_item(item)` It returns the info about a given item ``` python print(api.get_item("Meccanismo di Ferro").id) #363 print(api.get_item(363).name) #Meccanismo di Ferro ``` ### History * `get_history(place = "payments",limit = None,offset = None,fromPlayer = None,toPlayer = None,fromItem = None,toItem = None,both = None,fromPrice = None,toPrice = None,orderBy = "desc")` It returns the transactions with the specificied parameters ### Players * `get_players()` It returns all the players of LootBot * `get_player(player)` It returns the info about the player ### Crafting * `get_crafts()` It returns all the crafts in the game * `get_craft_needed(item_id)` It returns the items requested to craft the item * `get_craft_used(item_id)` It returns the item that you can craft using the item ``` python items = api.get_craft_needed(363) for item in items: print(item.name) #Perno #Meccanismo di Legno #Ferro ``` ### Shops * `get_shop(shop)` It returns the infos about the shop ### Cards * `get_cards()` It returns all the cards in the game ### Global * `get_global()` It returns the progress of the current global challenge, it's updated every hour * `get_info()` It returns infos about the current global challenge ### Team * `get_team(team)` it returns the infos about a team ### Ricerche * `get_searches(quantity)` It returns the searches made on the bot ## Custom Methods These methods are not natively implemented in the API but they are derived by them. ### Crafting #### Meaning of inventory The inventory paramater excepts a dict structured like this: ``` python { item1: quantity, item2: quantity, ., ., ., itemN: quantity } ``` * `get_total_craft_points(item)` It returns the total craft points that you will get to craft the item ``` python print(api.get_total_craft_points("Ordigno Polverizzatore")) #113 ``` * `get_crafting_steps(item,num_elements=1,inventory=dict())` It returns as a list of dicts all the steps to craft a certain element (and in a certain quantity). If the inventory is passed the items already owned will not be listed. ``` python def print_steps(steps): for step in steps: for elemento in step: print(f"Crea {elemento},{step[elemento]}") steps = api.get_crafting_steps("Scudo Punta Doppia",5) print_steps(steps) """ Crea Scudo Punta Singola,3 Crea Scudo Punta Singola,2 Crea Scudo Punta Doppia,3 Crea Scudo Punta Doppia,2 """ inventory = {"Scudo Punta Singola":2} steps = api.get_crafting_steps("Scudo Punta Doppia",5,inventory=inventory) print_steps(steps) """ Crea Scudo Punta Singola,3 Crea Scudo Punta Doppia,3 Crea Scudo Punta Doppia,2 """ ``` * `get_craft_total_needed_base_items(item,num_elements=1,inventory=dict())` It returns a dict containing the name of all the base items needed to craft a certain element (and in a certain quantity). If the inventory is passed the items already owned will not be listed. ``` python print(api.get_craft_total_needed_base_items("Scudo Punta Tripla",2)) #{'Ambra Nera': 2, 'Materiale Affilante': 2, 'Manico': 2, 'Scaglia di Rubino': 2, 'Metallo': 2, 'Scheggia': 2, 'Nastro Adesivo': 2} ``` * `get_craft_needed_base(item_id)` It returns a list of base elements needed to craft the item ``` python print(api.get_craft_needed_base(api.get_exact_item("Scudo Punta Tripla").id)) #[Munch({'id': 80, 'name': 'Ambra Nera', 'rarity': 'UR', 'craftable': 0}), Munch({'id': 127, 'name': 'Materiale Affilante', 'rarity': 'UR', 'craftable': 0})] ``` ### Market * `get_average_market_price(item)` It returns the average price of an item in the market as an integer ``` python print(api.get_average_market_price("Ferro")) #37394 ``` ### Items * `get_exact_item(item)` It returns the exact item searched ``` python print(api.get_element("Carta")) """ [Munch({'id': 1, 'name': 'Carta', 'rarity': 'C', 'rarity_name': 'Comuni', 'value': 410, 'max_value': 205000, 'estimate': 2000, 'spread': 46, 'spread_tot': 0.116, 'craftable': 0, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0}), Munch({'id': 8, 'name': 'Carta Stropicciata', 'rarity': 'NC', 'rarity_name': 'Non Comuni', 'value': 810, 'max_value': 405000, 'estimate': 1237, 'spread': 44, 'spread_tot': 0.084, 'craftable': 0, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0}), Munch({'id': 35, 'name': 'Aereo di Carta Piccolo', 'rarity': 'NC', 'rarity_name': 'Non Comuni', 'value': 1121, 'max_value': 1121000, 'estimate': 11750, 'spread': 30, 'spread_tot': 0.001, 'craftable': 1, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0.1}), Munch({'id': 36, 'name': 'Aereo di Carta Grande', 'rarity': 'R', 'rarity_name': 'Rari', 'value': 1697, 'max_value': 1697000, 'estimate': 13045, 'spread': 28, 'spread_tot': 0.001, 'craftable': 1, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 1, 'cons_val': 0.15}), Munch({'id': 37, 'name': 'Caccia di Carta', 'rarity': 'UR', 'rarity_name': 'Ultra Rari', 'value': 3468, 'max_value': 3468000, 'estimate': 4650, 'spread': 25, 'spread_tot': 0, 'craftable': 1, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 3, 'cons_val': 0.25})] """ print(api.get_exact_item("Carta")) """ Munch({'id': 1, 'name': 'Carta', 'rarity': 'C', 'rarity_name': 'Comuni', 'value': 410, 'max_value': 205000, 'estimate': 2000, 'spread': 46, 'spread_tot': 0.116, 'craftable': 0, 'reborn': 1, 'power': 0, 'power_armor': 0, 'power_shield': 0, 'dragon_power': 0, 'critical': 0, 'craft_pnt': 0, 'cons_val': 0}) """ ``` %prep %autosetup -n LootBotApi-0.5.9.3 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-LootBotApi -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 0.5.9.3-1 - Package Spec generated