Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Buy OSRS Gold

warfront1

Grand Exchange API [Development]

Recommended Posts

Unfortunately, the amount of time I have for programming side projects has decreased.

Somewhere within seemingly no time at all, I have mustered up enough spare time to start

development on a Grand Exchange API.

 

https://github.com/Warfront1/GrandExchangeAPI

 

For an overall overview of the functionality take a look here:

http://i.imgur.com/iVvZFjd.png

 

I encourage anyone/everyone to contribute if they would like.

Most interfaces have been hooked very solid (it's still missing a few important ones).

There is a lot of duplicate code, and a TON of room for changes/fixes/optimization/documentation.

 

This is a one way write through, with maybe 3-4 sessions of a 1 hour development period.

I personally will carry this project through to a point where I deem it acceptable.

I'll keep this thread, and github updated throughout the process!

 

Take note I licensed under GNU public license V2

 

Enjoy,

Warfront1

Edited by warfront1
  • Like 3

Share this post


Link to post
Share on other sites
Guest

I just completed a similar script several days ago. How I wish you could send it earlier~ It looks perfact and more useful than mine

Share this post


Link to post
Share on other sites

A little more API has been added. Just enough to send out a Buy offer and collect.

Changes are pushed to the Github link posted on the first thread.

 

The below Gif is executed by the following:

buyItem(7936);

70da7fe9d8f4ec1226e241f78e40e679.gif

 

Filling in additional API, and more high level methods like the above coming soon. 

Nothing is ready for production level scripts at this point, I'll keep the thread updated.

 

Enjoy,

Warfront1

Edited by warfront1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Sidesteppin12
      I decided to create my own banking API that mimics tribots way of implementing the API as much as possible. Basically it would only contain nothing more than just method calls. Simple and easy to use.
      This API is a reworked version that is currently in my jHerblore script. I intend to release my GE api as well once I have finished that one up too. The API requires DaxWalker & Wastedbro's Item Price API. Other than that the rest is achieveable with standard dependencies that already comes with tribot.
      All of the method names are the same as the ones from Banking & GrandExchange class in tribot, with a few exceptions, the only difference is that these methods are called with different class names such as Banker & Exchanger, so they do not collide with the Banking & GrandExchange class of tribot and cause an ambiguity problem.
       
      List of available methods:
       
      Some of the features this API offers:
      - Methods that incorporate any form of withdrawing or depositing do not need you to first check if the bank is open nor if it is loaded. It will attempt to open the bank if it is not open before returning false, and wait for bank to load if it is not loaded yet.
      - Methods that incorporate any form of buying or selling do not need you to first check if the exchange window is open. It will attempt to open the exchange window if it is not open before returning false.
      - Deselector. All methods that require the mouse to click somewhere on the screen first check if an item or spell is selected, if it is then it will deselect whatever is selected before attempting the requested action.
      - Additional failsafes, not just the deselector. Tribots banking api does not know if what you were trying to click actually was succesfully clicked. Instead it views succesfully calling the click function as a succesfull attempt. It's kind of like playing pin the nail to the donkey game. It does not know if it pinned it at the right location, but as long as it pinned it the function returns true. This is not true for all methods, some methods do actually check if the action was succesfully performed, however they do not reattempt the action if it failed. 1 call = 1 attempt. My api will reattempt any action that might fail, several times, before returning false and will also wait until inventory count is updated. For example using the tribot banking API if you were to deposit all your items and then immediately check your available inventory space before withdrawing items then it might not work as you wish because Banker.depositAll() returns before the action of depositing has finished.
      - When banking, closes GrandExchange window if it is open.
      - When buying/selling, closes the bank screen if it is open.
      - Support for withdrawing items in noted format and with or without stack exception. Stack exception is basically if you wish to draw X amount of items in your inventory but you only had Y left, then you can choose if you wish to draw these items or not. Also supports depositing of noted item ids if you happen to pass a list with of items that contains items of unnoted item ids, but the item in your inventory is a noted version of the item in your inventory. Also will not deposit equipment or items if you have none equipped or in your inventory. There is a total of 4 different depositing methods and 16 different withdrawing methods.
      - Unique dynamic sleeping method, all methods that should sleep already have sleeps implemented so you do not need to call a sleep after executing any of the methods. Involves random varying sleeps but will occasionally, every so often, in a irregular pattern, sleep a bit longer. I use this because I prefer it over General.sleep(). Feel free to replace it with whichever method you wish. Remember before running the main loop in your script to call:
      jGeneral.get().generateSeed(); This will create a random number between 0-100 that will be added to your dynamic sleeps in milliseconds. This is so no bot has the same average reaction/sleeping time.
      - When buying items on the GE, if the bot does not have any money or too little money in the inventory, it will check if you have enough of the missing amount in the bank and withdraw that amount.
      - Custom buying method that checks for an exact string match of the item you wish to buy and chooses that one from the returned items in the buy window search box. The standard GE api does not do this and will for instance click the wrong herb when it searches for "Guam leaf" in the grand exhcange, this is because more than one item contains "guam leaf" in their name. Such as Grimy guam leaf and so on.
      - Profit tracking when buying/selling items on the GE. This is optional.
       
      GET THE SOURCE HERE!
       
      UPDATES:
      - Pushed new updates that fix some of the methods that I've tested a bit for now, bit of logic and efficiency improvements. Also added 2 new depositing methods. Remember to replace the old java files with the new ones.
      - Pushed even more updates. Fixed interface problem for withdrawing noted items. My GE api is now also been released to the public. Enjoy!
    • By fl0shizzle
      Hey guys.
      Trying to accept an incoming trade but whenever I try to get the chatBox interface it's always null? It's definitely visible on the screen?
      My code is simply (where CHAT_PARENT is 137):
       
      When I use the following code to see if the interface is there, its not shown:
      Any ideas?
       
       
    • By NeuroGenix
      Post rewritten after rewritting and updating the code multiple times.
      So I decided to give writing my own GE API a go and this is what I've come up with so far, using Exchange#offer(name, price, quantity, buy) will do the following:
      If the GE is closed, it will open it and continue making the offer. If the price is set to -1 then it will use the buttons to increase or decrease the price, depending on whether it is a buy or sell offer, until it is at a price that will buy/sell instantly. Otherwise it will use the custom input button to set the price. It will set the quantity using the 1/10/100/1000 buttons. I plan on updating this to randomise between using them and the custom input method shortly. Edit* I hadn't even remembered implementing this until I saw it do it whilst testing the method, and it was beautiful, but if it goes over the buy quantity accidently, in the example I saw it was clicking +100 and clicked it again too fast so instead of stopping before its target of 875 it got to 900, it will then use the custom amount interface to input 875, beautiful. It will prioritise buy offers over sell offers so that if there isn't an empty slot available, or any items to collect, then it will cancel a sell offer, collect it and continue now it has a free slot. If there isn't a free slot available and we are trying to sell something it will return true, this is so that in my scripts it will remove the item from a toSell HashMap and put it back into the bank to sell later because it has bought the items it needs to continue botting. If it is instead trying to buy something and there are no empty slots or sell offers to cancel then it will wait for something to buy and continue once it can collect something and therefore has an empty slot. Update* It will now search for the item 1-3 words at a time checking the first 9 results each time and will choose the item as soon as it is visible as a human would. I might update this so that it randomises more, sometimes entering the whole first word of an items name straight away, because I sometimes do that, most of the time though I enter as few characters as I need to, I think, thoughts? Let me know what you think, the code is probably disgusting to look at for some of you but for others just starting out like me it could be a valuable learning tool, for how not to code All feedback and constructive criticism appreciated.
      Exchange Class
      GEInterfaces Class
      GEConditions Class
      InfoHelper Class
      Thank you to everyone that has read this far, it is appreciated
      Rewritten, if you have read again, even more appreciation!
    • By IceKontroI
      [ICE] Market Buddy
      Market Buddy is the ultimate utility script for both manual flippers and users of merching scripts. It's a free and feature rich application designed to provide meaningful feedback to users and botters that flip items on the Grand Exchange. Typically you're only able to run one script at a time on TRiBot, however MB can be run alongside other scripts which makes it compatible with scripts like Tau Grand Exchange. MB doesn't actually perform any actions or antibans in-game so it won't interfere with any script you decide to run with it. This is also the reason this script has a banrate of 0. The only thing to worry about is the banrate of another script you might be running with it and whether or not the TRiBot client is detectable (it's not).
      ATTENTION: Currently the script cannot fetch buy limits from GE-Tracker. Everything else works as intended, and this is the only broken aspect as far as I know right now.
      This will be fixed at some point, but I have a lot on my plate so that could be a while.
      It's free, why not give it a try?

      Features
      Can be run alongside other scripts Simply activate this script first and you'll find you can run another script after User friendly interface to display information Detailed tooltips for each piece of data on display Can be toggled on/off under settings menu Tracks total profit while using the script Profit per hour Total profit Return on investment (in parentheses) Total profit / Total spending Only takes completed offers into account Displays how much profit each item is bringing in Profit / Time spent being traded More intuitive formula than Profit / Script runtime Displays margin as a percentage of average buy price in parentheses Visual breakdown of how your time is being spent on each item Comprehensive breakdown of the item's trade volume statistics Update mode Average amount of progress made on offers Average time it takes to increment progress for an offer Minute view Quantity traded (bought and sold) in one minute Tracks your progress and buy limits Overall mode Total sold / Total bought Buy limit mode Total bought / Item's buy limit  Resets progress every 4 hours Screenshot

      FAQ
      What's the banrate of this script? There is no banrate as it doesn't actually perform any actions in-game. Banrate can come from other sources like client detection and any script you run alongside it. What do you mean you can run this alongside other scripts? Run this script first, then you'll find you can run another script immediately after. Can I turn off those annoying tooltips? Yes, you can do this through the settings menu. Why is my Net Profit (Hourly) not as good as the profit of some of my individual items? This is probably because you made a lot of cash quickly from those items but didn't spend a long time trading them. If you make 1000 GP trading 1000 Nature runes in the span of 30 seconds it's going to be a lot of money during those 30 seconds. But the Net Profit (Hourly) is based on Market Buddy runtime so that 30 seconds will have only a small impact on say 1 hour of MB runtime.
    • By xCode
      This script has been discontinued.

       

       
       
      What is xMercher?
      xMercher is an intelligent merching bot for Oldschool Runescape. Since the Grand Exchange was released on Old School Runescape, so did the flipping money making method. xMercher is specialised in flipping items and making money for you. xMercher includes a very smart algoritm and automatic system which will determine the buy and sell value for an item. After some really careful testing and communication towards the TRiBot community the script is finally being released. The script has already been proven that it's really smart and intelligent. This has already resulted in progress reports going up to more than 1.5M per hour! Check out more proggies underneath the 'Proggies' header!
       
       
       
      Still not convinced? Try out the 3 hour trial and see for yourself!
       
      Features
      - Grand Exchange Flipping (All items)
      - Very accurate profit counter. Will take the amount of money lost into account for the flipping part.
      - Easy to set-up GUI
      - Merch as many items as you want at the same time!
      - F2p support
      - The script keeps an item's buying limit into account
      - The ability to cancel offers from buying and/or selling
      - The ability to recheck the buy and sell value by flipping after x amount of successful merches or cancels.
      - The script will stop flipping an item when the buy value is higher than or equal to the sell value!
      - Buying/Selling at a fixed price (set by you)
      - Let the script logout and login after a certain amount of time
      - Very clear and interactive paint which will show you all the information you want to know!
      - Save/loading profiles, so you won't have to type everything in again and again
      - Edit your items/settings on-runtime
      - All your sessions are saved for you in log-files (
      - You can hear a sound play when an item is successfuly merched (check under 'How-to' how to do so)
      ~ And much more
       
      Kinda confused about how all these features work? Check out the tutorial underneath here!
       
       
       

      Get your signature now! http://xcodescripting.nl/xMercher/users/USERNAME_HERE.png
       
      How-to

      How to set-up the GUI
      Video explanation:

      Text and images explanation:
       

       
      How to play a sound when an item is merched successfully?
      I can understand that it would be nice to know when an item was merched. Especially when you semi-babysit your script. That's why I implemented a function that will play a 'tjatching' sound once an item is merched. Here's how to do it:
      Download this sound file (right mouse click -> 'save as'). Then go to the xMercher folder inside of your .tribot folder (%appdata%/roaming/.tribot/xMercher/). Copy/cut/drag the file there. Make sure the file is saved as 'cash.wav'. Re-run the script and you'll be able to know when an item was merched! Changelog


      Proggies

       
      Bug Report Form
  • Our picks

    • TRiBot 12 Release Candidate

      The TRiBot team has been hard at work creating the last major version of TRiBot before the TRiBot X release. We've noticed many problems with TRiBot 11 with a lot of users preferring TRiBot 10 over 11. We've heard you, so we took TRiBot 10, added the new features introduced with 11, introduced some other new things, and created TRiBot 12. So without further adieu, here's TRiBot 12.
        • Sad
        • Like
      • 18 replies
    • Gradle is a build tool used to accelerate developer productivity.

      We recently setup a Maven repository (TRiBot Central) to make it easier for scripters to create scripts. Check it out here: https://gitlab.com/trilez-software/tribot/tribot-central/-/packages

      Furthermore, we've released a simple Gradle project to make it easy to run TRiBot and develop scripts for it. Check it out here: https://gitlab.com/trilez-software/tribot/tribot-gradle-launcher

      The goals of TRiBot Central are to:

      Deliver updates to TRiBot faster


      Better organize TRiBot's dependencies (AKA dependancies)


      Make it easier to develop scripts for TRiBot


      Make it easier to use and run TRiBot


      Note: TRiBot won't be able to run scripts from within this project until TRiBot's next release.
        • Like
      • 10 replies
    • Hi everyone,

      I'd like to thank everyone for their patience in this transition period. Since last week, we've worked out the remaining bugs with this integration.

      Some users have still been having issues with connecting their forums account to their Auth0 account. To resolve this, we've imported all forums accounts into Auth0.

      Unfortunately, the accounts which were imported today were using an unsupported password hashing algorithm. Hence, random passwords were set during the import.

      What does this mean for me?

      If you've previously linked your forums account to your Auth0 account, you don't have to do anything. Nothing changes for you.


      If you haven't logged in via our new login yet,

      Try logging in with your forums email address and the last password you used


      If you are unable to login, please use the "Forgot password" tool on the login page:
      Follow the instructions to reset your password
       
        • thonking
        • Like
      • 17 replies
    • Hello everyone,

      Last week we tried to roll out Auth0 Login, but we lost that battle. Now it's time to win the war!

      Important changes

      When logging into the client, you'll now have to enter your Auth0 account credentials instead of your forums credentials

      Note: 2FA is still handled through your forums account (for the time being)



      Changes for existing users

      You'll have to link your Auth0 account to your forums account here: https://tribot.org/forums/settings/login/?service=11


      Auth0 accounts have been created for most existing users. Please use your forums email address and password to login.



      Important notes

      Make sure to verify your email address upon creating a new Auth0 account


      When we mention your Auth0 account, we mean your account used for auth.tribot.org as displayed below
      • 81 replies
    • To better support the upcoming changes (TRiBot X, new repository), we're switching our login handler to Auth0. Instead of logging in with the standard form, you'll now be required to login through our Auth0 application.

      All existing accounts which have been used within approximately the past year have been imported into Auth0 using the same email and password combination which has been stored on the forums.

      What does this mean for users?

      Your account credentials are now even more securely stored


      You'll be able to login via Facebook, Google, and others in the future


      Is there anything users have to do differently now?

      Existing users: You'll have to login with the standard login, open your Account Settings, then link your Auth0 account


      New users: You'll be redirected to our Auth0 app (auth.tribot.org) where you'll be able to create an account


      Why was this change made?

      The new apps we are creating (such as the new repository) aren't able to use the forums to handle user logins


      To centralize all user accounts in one area


      To ensure that the client login doesn't go down when the forums are having problems


      To speed up our development


      Other considerations

      There's no documentation or official support for using Invision Community combined with Auth0, so there are still a few kinks we're working out


      We're in the works of creating an account management panel specifically for Auth0 accounts (ETA August)


      It's not possible to change email addresses for the time being (this will be resolved this August)


      Changing passwords is a weird process for the time being. To change your password, you'll have to use the "Don't remember your password" tool on the Auth0 login page
        • Like
      • 11 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...