? SmileBASIC API ● SmileBASIC Source

Sign In

Register
*Usernames are case-sensitive
Forgot my password

SmileBASIC API

Quick jump: News Introduction Usage Examples SiteJS plugin Credits WebSocket Query API

NEWS:

SBAPI 4 has launched! If you're using the SBAPI SiteJS, please update it to support SB4 keys. WebSocket query API implemented! Read more details below. I provide this service free of charge, and pay for the server to run it out of pocket. Donations to maintain the server and pay for my caffeinated beverages are not required, but appreciated. If you enjoy this service and want to help keep the server running, you can go here. Introduction SmileBASIC API (SBAPI) is a service created by me (MasterR3C0RD) and triangle, with help from Yttria, 12Me21, and snail_, that allows you to get info for and download programs directly from SmileBASIC 3 servers. Not only is this useful for moderators to check if a key is still available, it also allows users to post GRPs to the forums as a PNG. Usage: Everything in SBAPI is simply a URL. The basic URL format for keys is http://sbapi.me/get/(key)[/(filename)]/(encoding), where anything in [] is optional and anything in () is required. key should be replaced with the public key, and filename allows you to choose a specific file if the key is a project. The encoding is required and can be one of the following:
  1. info - all files, shows information about the file provided (use ?json=1 if you're writing a program to get information as JSON)
  2. list - only projects, lists all files (use ?json=1 if you're writing a program to get information as JSON)
  3. zip - only projects, download all files from the project as a ZIP file. If you want to convert files to their preferred format (ex, GRP -> PNG, TXT -> Text), add ?nice=1
  4. raw - all files, downloads the raw file.
  5. text - only TXTs, returns the text content of the file
  6. code - only TXTs, highlights code using 12Me21's SBHighlight library (use ?wrap=1 to enable word-wrapping)
  7. png - only GRPs, converts the GRP to a PNG
  8. json - only DATs, returns the DAT information as a JSON array of arrays.
  9. csv - only 2D DATs, converts the data to a CSV (comma-separated values) file
  10. icon - only META files, returns the icon as a PNG file.
  11. downloads - all files, returns a PNG with the download count (download count is only updated every 24 hours). You can also control the PNG using query parameters: ?color=#BADA55&stroke=#A55A55&strokewidth=3&padding=3&bgcolor=rgba(0,0,0,0.5)
  12. encodings - all files, returns JSON array with all possible encodings for the file given
Other encodings may be added in the future. Examples: Disclaimer: Authors of projects or assets displayed on this page are not associated with and have not contributed to the SmileBASIC API project. This can be used when asking people to debug code on the forums. Posting a public key and a link to the code could make debugging much easier. Example: http://sbapi.me/get/CKANY53Y/TN_SHARP/code (Phil's N# compiler) Output: Wanting to show off your sprites is another possible use. Simply use the PNG endpoint. Example: http://sbapi.me/get/4DH5P4K3/BBG_TIKI/png (sprites from cujo1992's Tiki Descent) Output: You can also back up your project as a ZIP file if you need to be sure you'll always have it. Example: http://sbapi.me/get/P3T43E3V/zip (kantackistan's Virtual Buffalo) Output: Don't forget a download counter to gauge how popular your programs are! Note that the download count is not real time, and only updates every 24 hours. Example: http://sbapi.me/get/QK4N3PZF/downloads (calc84maniac's Spooky Maze Raycaster demo) Output: Optional SiteJS: If you think it's too much of a hassle to have to go through the API to check out information about programs, you have a similar mindset to I. That's why me and 12Me21 wrote a SiteJS, available at http://sbapi.me/sbapi-sbs.js that adds an extra section to pages that looks something like this: Simply copy and paste the contents into your SiteJS and load up a program page. After a few seconds, the information will load and be shown on the page. WebSocket Query API If you're doing multiple requests, the best way to accomplish this is using the WebSocket Query API. Simply connect to ws[s]://sbapi.me/get and send a request, and you'll get something back. You can either do: Request: (key[/version[/filename]]) info [prop1,prop2.subprop2] - Gets information about a program. Response: (key[/version[/filename]]) (value) - Value will either be the entire JSON-encoded info object (if no properties are provided), a single JSON-encoded value (if one property is provided), or a JSON-encoded object of all properties requested and their values (if multiple properties are provided). This info object uses a different format than the `info` encoding, test it first by not providing any property arguments. OR Request: (key[/version[/filename]]) download [encoding[?options]] - Gets the file as a specified encoding (or the raw file if none is specified). Any encodings that allow options work exactly the same as if options were provided Response: (key[/version[/filename]]) (filename) (datalength) (data) - Datalength will be the ASCII representation of the size of the data returned, and data will be the response of the encoding. If a request fails, you will get a response similar to such: (key[/version[/filename]]) FAIL If you get this and you're sure you're not doing anything wrong, send me a DM and I'll take a look. NOTE: Send multiple requests separated by \n, eg, `KEY1 info\nKEY2 info` or otherwise you will end up never getting a response in the end. Some requests async are fine, but not all. Credits
  1. triangle - file format guru, wrote the file parser used for SB files and other parts of code, and most of reverse engineering of SmileBASIC's servers, donated 3DS information for the server
  2. MasterR3C0RD - hosting, wrote the server communication libraries and helped with reverse engineering of SmileBASIC's servers
  3. 12Me21 - wrote sbhighlight and rewrote the SiteJS plugin to work with more browsers
  4. snail_ - working on proper documentation for API
  5. Yttria - word of reason, helped with multiple things internally
  6. Jaku - helped with SB4 support
Author
MasterR3C0RD
Updated
Rating
23 votes
Categories
Keywords
  • sbapi
  • smilebasic
  • api
  • trinitro21
  • masterr3c0rd
  • brokenr3c0rd
  • file
  • format
  • png
  • grp
  • dat
  • txt
  • prj
  • projects
180 Comment(s) HTV04 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website エスバピ Esbapi MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself Es uh bah pee It's the official pronunciation for SBAPI You're welcome :) HTV04 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website Wait, that's how it's pronounced? I always thought it was pronounced by letter, S-B-A-P-I. Good to know. rando rando Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Second Year My account is over 2 years old Website Forum Leader Hidden Achievements I thought it would be es ba pee not es uh bah pee MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself The uh is just a remanent if you're saying it in proper Japanese. The actual English pronunciation IS ess-bah-pee. Sorry for the confusion Na_trium Na_trium Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Video Games I like to play video games! Hobbies I think エスバピ is pronounced like Es-sue-bah-pee in Japanese CyberYoshi64 CyberYoshi64 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Night Person I like the quiet night and sleep late. Express Yourself Second Year My account is over 2 years old Website There's a weird bug relating the SiteJS: I was opening atmOS's SB page and SBAPI was trying to get info for key 4J5XA3 but the actual key is 433J5XA3. SBAPI using the actual site .../get/433J5XA3/info works fine. Is it cuz the 4 accidentally signifies it being a SB4 key and therefore the 3s being omitted as it thinks that's the start of the key? (my speculation). I might and perhaps will be wrong here though. 12Me21 12Me21 Admin Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself var keyregex = /\b(4?)3*([A-HJ-NP-TV-Z1-9]{1,8})\b/g; this is supposed to strip leading 3s but it thought the key was for sb4 since it starts with 4, CyberYoshi64 CyberYoshi64 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Night Person I like the quiet night and sleep late. Express Yourself Second Year My account is over 2 years old Website Oh cool, my speculation is right for the first time in my life. lol This was also my first bugreport to that weird scripting language, Python JavaScript. Okay, that mismatch was a bad joke MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself I kinda gave up trying to trim SB4 keys server side, it's impossible enough that I have decided not to bother with it. I'll fix the bug though, give me a few MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself Alright, here's the fix. I ended up a tad busy so I couldn't get the change done as soon as I thought I would be able to. If you don't have the SiteJS installed yet, the latest version installed fixes this problem. If you already have it installed, there's no need to change everything. Replace var keyregex = /\b(4?)3*([A-HJ-NP-TV-Z1-9]{1,8})\b/g; with var keyregex = /\b(4|3*)([A-HJ-NP-TV-Z1-9]{1,8})\b/g; Save and reload and you're all set! CyberYoshi64 CyberYoshi64 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Night Person I like the quiet night and sleep late. Express Yourself Second Year My account is over 2 years old Website Well, unless you're lazy enough to make a loader with document.appendChild like I did, lol Midnight Midnight Deep Sleep Hidden Website S Bapi Ess Boppy KunaitoSoft KunaitoSoft Forum Contributor Hidden Achievements Avatar Taboo I didn't change my avatar for 180 days Website First Year My account is over 1 year old Website Here's what the S Bapi reminded me of: Suh-boppie 12Me21 12Me21 Admin Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself I designed the logo (record when are you adding that to the credits lol) ralsei ralsei Forum Leader Hidden Achievements Second Year My account is over 2 years old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength never that logo is awful and will probably be replaced one day also Ess Bappy Yolkai Yolkai Head Admin bold words from someone that didn't realize that's the joke MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself S Bapi Will never be replaced. But I won't give 12 credit, I'm not into negotiating with terrorists HTV04 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website I keep getting this error: "An internal error occurred while trying to complete this request." SBAPI throws this error on several SB4 projects. I've tested it on my projects and on popular ones like Solid Gunner Vertika. Some work though, like Versus Buffalo. MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself I'll have to take a look. MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself Restarting SBAPI fixed the problem, it seems to be an issue with updating tokens. I've added more debugging so I'll see when the problem pops up again but that shouldn't be for another few hours. The reason some games worked and others didn't was because of caching. EDIT: I fixed the issue. It was as simple as changing an < to an > lol CyberYoshi64 CyberYoshi64 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Night Person I like the quiet night and sleep late. Express Yourself Second Year My account is over 2 years old Website Mind = Blown And all these infos are coming from the SB servers? My mind will blow further if it does. EDIT: Just a question, though it makes sense anyway but: When I only pay Switch Online once, will it preserve what I've uploaded? MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself All of it is from SB servers. How else does SmileBASIC get this information, magic? :P CyberYoshi64 CyberYoshi64 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Night Person I like the quiet night and sleep late. Express Yourself Second Year My account is over 2 years old Website Of course it's magic for me cuz I don't even have a Switch to see this. MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself Also you don't need an online subscription to use SB4, just a Japanese Nintendo account ralsei ralsei Forum Leader Hidden Achievements Second Year My account is over 2 years old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength and an sb4 pass to upload programs 500 yen per pass each pass grants you 10 program slots no limit to how many passes you can have CyberYoshi64 CyberYoshi64 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Night Person I like the quiet night and sleep late. Express Yourself Second Year My account is over 2 years old Website how do these passes work? are they like SB3 gold membership or will they never expire? Also, do I need to buy japanese eShop funds or how do I get money for the japanese account? cuz my credit card isn't supported by nintendo eShop. ~4,50€ for one pass? ok EDIT: How do I make the japanese account? Change the language to japanese and use japan as the country for the account? ralsei ralsei Forum Leader Hidden Achievements Second Year My account is over 2 years old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength 1. You have each pass you purchase forever. 2. I don't think there's any way to add funds to a nintendo account other than using an eshop card and using a credit card and I don't think you can use an American or European eshop card on a Japanese account. so uh yeah buy a Japanese eshop card like everyone else EDIT:3. First, make a Nintendo account on a PC or Mobile Device. Make sure to choose Japan as the region of the account. Secondly, create a new profile on your Switch. The quickest way to create a new profile is by pressing the + icon (not the actual + button on the console) when starting a game. Thirdly, Go to the page of the profile. You can get there by selecting its profile picture in the top left of the home menu. Fourthly, Hit the Link a Nintendo Account button that appears at the bottom of the main page. Fifthly, simply enter the username and password of the Nintendo account. (or email and password, idk which one it is) And you're done! No switching of the Switch's language required! snail_ snail_ Power User QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! Helper Received for being very helpful around SmileBASIC Source Achievements Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements The more expensive version of SB4 is just SB4 bundled with one server pass, so just buy that one. HTV04 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website This is great news! How did you finally get SB4 support working? MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself I can't explain how I got it working, but just that it works :) ralsei ralsei Forum Leader Hidden Achievements Second Year My account is over 2 years old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength don't you mean...;) Minxrod Minxrod Third Year My account is over 3 years old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! Cool, can't wait to see it in action! MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself Hey, I'm considering adding a couple of new features, but in order to keep the server running and to cover the additional risk, I'm considering making it subscription-based. Basically, the feature I'm considering is directly uploading programs from your computer. The way I'm thinking that I'll implement this is either allowing people using homebrew to link their own 3DS information to upload programs to their own account, or allowing people to upload one program at a time to the account currently in use for SBAPI. I could probably implement both, but the question remains if there is anyone that would pay for this service. The amount I'm considering is a meager USD$2/month, and I'd likely work on creating integrations for software like VSCode and the like. Not having to worry about the server costs (which I'm currently paying out of pocket) will motivate me more to add more features and work on more interesting ideas that I've had for SBAPI for a while, and maybe I'll be able to focus my attention on adding SB4 support (though I can't guarantee it's possible). So TL;DR, would anyone be willing to pay to allow uploading programs directly from your computer? EDIT: Quick note that this won't change any of the functionality currently available. SBAPI downloading and information grabbing will always be free, for as long as it stays running. chicken chicken sbs premium Chatter Chatter Account sharing? Also, will there be an option for storage? Like, rather than storing the current version on the SmileBoom server, store it on your server for easier access? ralsei ralsei Forum Leader Hidden Achievements Second Year My account is over 2 years old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength
* What do you mean by "Account sharing"?
Chatter Chatter He proposed expanding SBAPI into a subscription-based service, where you would pay $2 a month for expanded functionality. If he went forward with the one server-uploaded program per user, then there would obviously need to be an account system to ensure that non-donators aren't able to use the services that someone paid for. ralsei ralsei Forum Leader Hidden Achievements Second Year My account is over 2 years old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength
* Yeah, I got that part, It just wasn't clear what you meant by "account sharing"
MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself
Account sharing? Also, will there be an option for storage? Like, rather than storing the current version on the SmileBoom server, store it on your server for easier access?
Account sharing is something I've thought about a little and is still something I'll have to consider. I mean, if someone wanted to share their account with a friend I wouldn't care, but if we're saying "here's a password so that everyone can use the donator functionality" the hammer will come down. I likely won't be handling login myself anyways, probably Google or Twitter can handle that for me. Storing on my server makes little to no sense to me since you can't download in SB directly from my server (for now...). You could just save the files to Google Drive/Dropbox/OwnCloud/whatever and it'd be about as useful. I'm also considering even making it like a lifetime fee of USD$25 since people have brought up that it would be difficult to get a subscription for a programming tool for their Nintendo. If that would change the minds of the majority to consider paying for upload services, let me know. If you even have other ideas as to features that you would pay for, seriously DM me or something. I just want to make sure that this thing can keep running when I start needing to pay for uni in the fall. If uploading isn't it, maybe it's download stats for your programs or even something like storing SB files in the cloud. I want to work with the community to find something we can all agree upon.
snail_ snail_ Power User QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! Helper Received for being very helpful around SmileBASIC Source Achievements Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Think about it this way: when someone runs a key through SBAPI, the files are permanently cached in your storage. Uploading could do the exact same thing. MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself So you mean more like an archive of sorts? That would be fine. I have plenty of storage, SB files don't use up much space. I will have limits of course though Chatter Chatter It would basically give them google drive for SmileBASIC. There would be a directory for the project, which could be uploaded at any time. There would also be room for various team members to upload code. So, for example, someone could work on an improved set of functions, and upload it to the server. Then, when everyone agrees to publish it, they send it. Benefits: -Allows for easy rolling-release -Easy collaboration without having to use an external service. This only makes sense if uploading to SB servers is possible. MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself If I add collaboration features I might as well add in analytics of sorts, so yeah this really adds a lot of different use cases. I'm thinking I could start adding a lot of different features based around extra functionality SB can't provide so I can definitely get stuff set up to work with this. rando rando Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Second Year My account is over 2 years old Website Forum Leader Hidden Achievements To combat password sharing, you could make it so that you could only upload 1 project every set amount of time. I don't know how well that would work though, or if people would be super annoyed by that. MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself That's not a good idea, and would definitely not combat the issues at hand. It's more likely going to be based on IPs or simply monitoring for shared usernames/passwords on forums.
HTV04 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website For some reason, the SBAPI JS only seems to be working for a few programs now for me. The SBAPI site still works. Is this a bug, or is it just on my end? MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself Mind checking your web console (F12) and posting a screenshot of it on a page where the JS isn't working? HTV04 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website Anyone know how SmileBoom's servers are laid out? In the event that the servers shut down, an unofficial patch could be made that redirects SmileBASIC to a different server (don't know who would maintain it, I possibly could via my GitHub site) with archived keys. Just note that my site is static, so only downloading would be possible, no uploads (this is probably for the better, as I wouldn't want to maintain uploads). A DNS server instead of a patch could also possibly work as a no-homebrew alternative (if there aren't any security checks), but someone else would have to maintain it. I could still host files on my site, though, so someone would just have to make it so that the DNS server redirects SmileBoom site requests to requests on my site. hakke hakke RNG Hidden Easter Eggs QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength A few years ago, triangle made an SB replacement server and a patch for SB (to be used with Luma3DS) which redirected requests to that server, so it's possible and maybe easy, just replace the URL endpoints on the code which point to SmileBoom servers to our custom ones. HTV04 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website Would this be possible using a DNS server for ease of access? hakke hakke RNG Hidden Easter Eggs QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength The 3DS definitely allows changing DNS settings, so it is feasible. I haven't written a DNS server before, but I guess could be done simply in any scripting language like Node.js without any libraries or so (someone correct me if I'm wrong). It would be better than code patching because first the access for non-CFW users and second for the security of patching (really unstable). Yolkai Yolkai Head Admin https://github.com/Trinitro21/sbserver MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself HTTPS is enforced by SmileBASIC unless you patch the code.bin. I'm not sure if we've tried using more valid certificates but at the very least LetsEncrypt isn't supported by SmileBASIC. Idk I might talk to Triangle about it to see if we could get a SBServer instance sorta built into SBAPI, would make it even easier to archive if people are willing to go through SBAPI for every download, and I don't think SmileBoom would mind a slightly-lowered load on their servers. Requiring a code.bin patch is a requirement though since we can't just get an SSL certificate for the same website (would kinda destroy the point of HTTPS) Tarudahat Tarudahat QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! OSP Contest 3 Contest Participant I participated in the third SmileBASIC Source OSP Contest! Avatar Embargo I didn't change my avatar for 90 days Website This can be used to upload infinite projects, how? Well upload one then delete it SBAPI should be able to get the deleted program info and files. hakke hakke RNG Hidden Easter Eggs QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Yeah... do this if you want to kill R3CORD's storage... HTV04 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website @banana Honestly, I think project caching is just a bad idea in the first place. Unless cached projects are automatically deleted from the server over time, the server storage will eventually run out of space. MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself As of the moment of writing this, 2226 public keys have been stored on SBAPI, which has used up a measly 500MB of my server's 14GB. As such, I'm not exactly worried about storage, because this is archiving the servers and every project that has been uploaded to them and requested, which could be useful if SmileBoom shuts down their servers. However, if the API starts being abused, I'll be making a number of changes that I really don't want to make. Don't use this for uploading "infinite projects", all you're doing is wasting space. hakke hakke RNG Hidden Easter Eggs QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Well, still. Let's not abuse please :((( rando rando Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Second Year My account is over 2 years old Website Forum Leader Hidden Achievements Also logically, infinite projects take up infinite space lol HTV04 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website @MasterR3C0RD Do you have a list of keys currently archived? Just so I know which ones have/haven't been backed up yet. Tarudahat Tarudahat QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! OSP Contest 3 Contest Participant I participated in the third SmileBASIC Source OSP Contest! Avatar Embargo I didn't change my avatar for 90 days Website Yea you guys are right sry (but Idea I just got, maybe add a viewable programs list. This would be useful to find games /programs that aren't on sbs yet) hakke hakke RNG Hidden Easter Eggs QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength I don't know how SBAPI is laid out, but I'm pretty sure there's an either relational or document database underlying the mainframe of it, which would make indexing feasible and fast. If you don't use any database (which I doubt), I don't know how you've survived programming this lol MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself http://sbapi.me/cacheinfo This has been around since the beginning of SBAPI Tarudahat Tarudahat QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! OSP Contest 3 Contest Participant I participated in the third SmileBASIC Source OSP Contest! Avatar Embargo I didn't change my avatar for 90 days Website Omg I found a new smiletool by smileBoom - PNEWSBTOOL (A5L3N2HV) by SmileBoom but it's mostly in Japanese and some features like the WAV editor and map editor don't work. TheV360 TheV360 Pokemon Is Awesome! I love Pokemon! Express Yourself First Day Joined on the very first day of SmileBASIC Source Website Night Person I like the quiet night and sleep late. Express Yourself Yeah, @notohoho posted it on Twitter a while ago. Seems that the team(?) moved over to working on SB4 instead of finishing the new SB3 tool. Now afaik they have a fancy library built into SB4 that handles UI, and this looks like an older (less-finished) version of it. Midnight Midnight Deep Sleep Hidden Website *looks at front page thumbnail* "S Bapi" 12Me21 12Me21 Admin Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself aw record never credited me for drawing the icon lol hakke hakke RNG Hidden Easter Eggs QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength RECORD EGGSPLAIN WHY UO NO CREDIT 12ME12 LOGO MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself Ou nuuuuuu, sozzzzzz 12eM21, me sozzzzzzzzzzzzz ;((((( MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself The /Info endpoint is now a HTML webpage, supporting OpenGraph to make it embed all pretty like in Discord. Also, I fixed an issue with non-existent files where it said that the key was bad. Feel free to suggest more features here! hakke hakke RNG Hidden Easter Eggs QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength You could have a /poll endpoint (properly throttled obviously) so the information can be polled from SB servers on demand if any of this errors occur. MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself It's too unsafe to add such a functionality. Tarudahat Tarudahat QSP Contest 2 Contest Participant I participated in the second SmileBASIC Source QSP Contest! OSP Contest 3 Contest Participant I participated in the third SmileBASIC Source OSP Contest! Avatar Embargo I didn't change my avatar for 90 days Website Is it me or doesn't it work with some programs BC. I tested this http://sbapi.me/get/N3VX53ED/SUPER_BASIC/code and it said "Bad key" eventough it is correct :/ Midnight Midnight Deep Sleep Hidden Website http://sbapi.me/gui.html It works if you put the key here. Something... must be done wrong somehow and that error must be a default error or something...? 12Me21 12Me21 Admin Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself You used the wrong filename first check http://sbapi.me/get/N3VX53ED/info (works) the real filename is TSUPER_BASIC http://sbapi.me/get/N3VX53ED/TSUPER_BASIC/code MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself Because of the way I wrote the server, "Bad key" is simply anytime something can't be found. Will fix this soon, give me a few hours. EDIT: Done! Wrong filenames now show "Bad filename" instead of "Bad key". Midnight Midnight Deep Sleep Hidden Website This is cool!! I can't believe you can check download count. I don't even think the app itself allows that, does it? MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself Nope, it doesn't. I wish it was visible though because it's super cool to know analytics wise. I might end up adding analytics for programs just for shits and giggles, but I'd have to gauge interest first (I don't want to waste my time doing something only for it to not get used ever) MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself I replaced the official SBS SiteJS with Snail's, which makes the plugin no longer silently fail on SB4 keys, and I also fixed the issue with a certain popular game's availability on SBAPI. I've poked around at SB4 API things when I wasn't busy and it's looking close to impossible to add SB4 compatibility. I don't have a Switch to do any real reverse engineering work on it though, so if anyone with CFW and SB4 is interesting in working on support, message me on Discord (@MasterR3C0RD#7695). Also, this project is serving a second function as a way to archive the entire SmileBASIC library. If anyone is interested in helping further this goal by providing a list of keys to back up, DM me on Discord. A huge thanks to everyone for the support I've gotten for this project. I am accepting donations to keep the server running now. If you're interested you can check my profile to find my PayPal. All donations are appreciated, but are not required to use this service. snail_ snail_ Power User QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! Helper Received for being very helpful around SmileBASIC Source Achievements Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Updated the sitejs to include a sb4 mincompat check, now displays a helpful unsupported message instead of silently giving up rando rando Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Second Year My account is over 2 years old Website Forum Leader Hidden Achievements Thx you for the site js It's probably in SBAPI itself, but sometimes it says that the key doesn't work, when it does. (This has been mentioned before) MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself Never been reported to me, if you could give some examples I could do some looking around TheV360 TheV360 Pokemon Is Awesome! I love Pokemon! Express Yourself First Day Joined on the very first day of SmileBASIC Source Website Night Person I like the quiet night and sleep late. Express Yourself Here's one example: this page keeps reporting that the key doesn't exist, even though the developer has confirmed it is downloadable. HTV04 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website A fix by CY64 was also provided, but it trips up the check for keys that were actually removed. rando rando Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Second Year My account is over 2 years old Website Forum Leader Hidden Achievements Yeah basically virtual buffalo There was another one I saw, but I don't remember what it was. CyberYoshi64 CyberYoshi64 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Night Person I like the quiet night and sleep late. Express Yourself Second Year My account is over 2 years old Website
A fix by CY64 was also provided, but it trips up the check for keys that were actually removed.
Yeah, removed keys will just stuck saying that their info is loading though there aren't any infos to load...
MasterR3C0RD MasterR3C0RD Amazing Contributor Someone thinks I'm an awesome person who has done so much for the community! Achievements Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself I'm thinking what happened is someone tried to check the key while SB servers were down for maintenance and it returned unavailable. I'll fix it when I get home. I've been really busy with school and work so...
kitesinpowerlines kitesinpowerlines Avatar Block I didn't change my avatar for 30 days. Website Avatar Embargo I didn't change my avatar for 90 days Website Avatar Taboo I didn't change my avatar for 180 days Website I don’t think it is documented here but there seems to be a required letter to preface the file name depending on the output. Examples: ...BBG_TIKI/png ...TN_SHARP/code CyberYoshi64 CyberYoshi64 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Night Person I like the quiet night and sleep late. Express Yourself Second Year My account is over 2 years old Website The prefix? Explained here. (see post below) And the code is comparable with the [CODE] bbcode here but without the rest of the page. rando rando Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Second Year My account is over 2 years old Website Forum Leader Hidden Achievements TEST Ok it failed To put a code image from this, do I need to screenshot? How do I put the image? chicken chicken the website returns a SB-like code preview, so yes, you have to screenshot it. rando rando Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Second Year My account is over 2 years old Website Forum Leader Hidden Achievements Ok. I find that kinda dumb, because honestly it's easier to just screenshot the code directly on SB. chicken chicken it's so you can copy-paste and use a mouse and stuff on pc rando rando Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Second Year My account is over 2 years old Website Forum Leader Hidden Achievements Yeah. The problem with that for me is that almost always, I'm using a 3ds to post here.
1 2 3