Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Get item price directly through GE?

Featured Replies

So working on my 1-99 fletcher ive been looking to make it all more automated, but i haven't gotten around getting the price on X item in GE.

Now im curious if its possible to get the price shown in GE itself?

Example:

3627205d4dcfd7ce8b3daf4026253282.png

Like the price of Price Per Item: ?

Isn't there a widget for it? If there is a widget, grab the filter, and filter out all unnecessary stuff out, so you only have the integer.

Or do you mean this?

 

Edited by Viston

  • Author
1 minute ago, Viston said:

Like the price of Price Per Item: ?

Isn't there a widget for it? If there is a widget, grab the filter, and filter out all unnecessary stuff out, so you only have the integer.

Or do you mean this?

 

Ye price per item, is there some snippet without json though?

I remember explv saying so but i can't find the thread

Not mine:
 

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;

public class Exchange {

    private static HashMap<Integer, Integer> cache = new HashMap<Integer, Integer>();

    public static String getData(int itemID) {
        try {
            StringBuilder sb = new StringBuilder("https://api.rsbuddy.com/grandExchange?a=guidePrice&i=");
            sb.append(String.valueOf(itemID));
            InputStream inputStream = new URL(sb.toString()).openStream();
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                if (line.contains("{")) {
                    sb = new StringBuilder(line);
                    sb.deleteCharAt(0);
                    return sb.toString();
                }
            }
        }
        catch (Exception e) {
            return e.getMessage();
        }
        return null;
    }

    public static String[] parseData(String data) {
        ArrayList<String> holder = new ArrayList<String>();
        String[] parts = data.split(","); //Now we have strings in format "x":y
        for (String s : parts) {
            s = s.replace("\"", ""); //Remove " - now in format x:y
            holder.add(s.split(":")[1]); //Extract y from format x:y
        }
        String[] ret = new String[holder.size()];
        return holder.toArray(ret);
    }

    public static int getPrice(int itemID) {
        if (itemID == 995) return 1;

        if (cache.containsKey(itemID)) {
            return cache.get(itemID);
        }
        String[] data = parseData(getData(itemID));
        int price = Integer.valueOf(data[0]);
        cache.put(itemID, price);
        return price;
    }

}

 

Use:
 

Item item = getInventory().getItem("Coal");
int price = Exchange.getPrice(item.getId())

 

Edited by HunterRS

5 hours ago, atoo said:

Ye price per item, is there some snippet without json though?

I remember explv saying so but i can't find the thread

That thread he linked is without the requirement of any external libraries. It even says so in the title.

I would recommend using it because it allows you to lookup items using their name rather than id.

I have another topic in the snippets section which does use a JSON library. Not sure why you wouldn't use it, JSON simple for example is open source and only a few classes, so you can just copy it into your project.

As for getting the price in game, isn't it just a widget? If not there may be a config?

Edited by Explv

  • Author
40 minutes ago, Explv said:

That thread he linked is without the requirement of any external libraries. It even says so in the title.

I would recommend using it because it allows you to lookup items using their name rather than id.

I have another topic in the snippets section which does use a JSON library. Not sure why you wouldn't use it, JSON simple for example is open source and only a few classes, so you can just copy it into your project.

As for getting the price in game, isn't it just a widget? If not there may be a config?

Ye ill look into it when i work more on my fletcher, thanks.

I'll also look into using the widget but i think using your snippet would be a lot better imo

 

I got it working, thanks everyone for the help!

Edited by atoo

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.