Paste #76829: Untitled Paste

Date: 2020/10/23 10:59:22 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


OfferStore_Get_Task:
    type: task
    script:
    - define dat "{<&dq>api_key<&dq>: <&dq>00000000000000000000000000000000000000000000000000000000000<&dq>}"
    - ~webget https://api.etilbudsavis.dk/v2/sessions post:<[dat]> headers:Content-type/application/json save:request
    # - ~webget https://google.com post:<[dat]> headers:Content-type/application/json save:request
    - define result <entry[request].result>
    - define token <util.parse_yaml[<[result]>].get[token]>
    - ~webget https://api.etilbudsavis.dk/v2/offers?_token=<[token]>&limit=54 save:offer_returned
    - define result "{ <&dq>data<&dq>: <entry[offer_returned].result> }"
    - define offers <util.parse_yaml[<[result]>].get[data]>
    - flag server OfferStore.Offer_Items:!
    - foreach <[offers]>:
        - define offer <[value]>
        - define priser <[offer].get[pricing]>
        - define link <[offer].get[id]>
        - define desc <&7><[offer].get[description].substring[0,200]>
        - define lore "<[desc].split_lines_by_width[200].lines_to_colored_list.replace[|].with[-]>|<&a><[priser].get[price]>,- <&7><[priser].get[currency]>|<&7>|<&7>Klik for link"
        - define display_name <&6><[offer].get[heading].substring[0,40].replace[|].with[-]>
        - define item <script[Util_Blocks].data_key[config.stained_glass].random>[display_name=<[display_name]>;lore=<[lore]>;nbt=OfferStore_link/<[link]>]
        - flag server OfferStore.Offer_Items:->:<[item]>

OfferStore_Events:
    type: world
    events:
        on system time hourly:
        - run OfferStore_Get_Task

        on player clicks in OfferStore_Menu priority:-1:
        - determine cancelled passively
        - define display <context.item.display.strip_color||null>
        - if <[display]> == null:
            - stop
        - if !<context.item.has_nbt[OfferStore_link]>:
            - stop
        - narrate format:util_ff <&a>https://etilbudsavis.dk/offers/<context.item.nbt[OfferStore_link]>
        - inventory close d:<context.inventory>

OfferStore_Menu:
    type: inventory
    inventory: CHEST
    title: <&8>Tilbudsavisen
    size: 54
    slots:
    - "[] [] [] [] [] [] [] [] []"
    - "[] [] [] [] [] [] [] [] []"
    - "[] [] [] [] [] [] [] [] []"
    - "[] [] [] [] [] [] [] [] []"
    - "[] [] [] [] [] [] [] [] []"
    - "[] [] [] [] [] [] [] [] []"
    procedural items:
    - determine <server.flag[OfferStore.Offer_Items].as_list||<list[]>>

OfferStore_Command:
    type: command
    name: tilbud
    aliases:
    - offers
    - 10
    - 10er
    - tier
    - avisen
    - avis
    - tilbudsavisen
    - offer
    - supermarket
    - market
    - marked
    - supermarked
    usage: /tilbud
    description: Viser tilbud fra tilbudsavisen
    script:
    - if <server.has_flag[OfferStore.Offer_Items]>:
        - inventory open d:OfferStore_Menu
    - else:
        - narrate format:util_ff "<&7>Der er ingen Tilbud at vise lige nu."