Find out about SunRod on our website or our Discord server.
Install the package with NPM:
npm install sunrod-api@latestInstall the package with YARN:
yarn add sunrod-api@latestInstalling the
latestversion is more reccommended, asdevversions may not work as you wish.
A token is required for SunRod to work, and you can receive one just by joining the SunRod Project.
SunRod Tokens are used to login to the API. They are 30-characters long passwords, and each bot participating to SunRod has its own token.
Tokens are useful for us to monitor how bots use the API, and to identify who is authorized to use it and who is not.
ATTENTION: We do NOT receive any private information about you and your bot from this API and we do NOT share how you interact with the API.
Also, a SunRod token is different from your discord bot token and should not be shared with us or anybody else.
Look up our Security Section for more info.
Welcome to our documentation! Here you can learn how the constructor and the methods work.
If you need any help or explanation, ask for support in our Discord Server!
To log into the API you must insert your token:
const SunRod = require('sunrod-api'); // Requires the library
const client = new SunRod(token); // Logs into the APIThe token parameter must be your SunRod Token.
If you want to bypass every possible error that could generate over time, use this:
const client = new SunRod(token, { bypass: true });IMPORTANT: If the token is not authorized to SunRod, you'll get an error.
For ease, in your discord bot you would probably set
SunRodinside theclientvariable:
client.sunrod = new SunRod(token);These are multiple classes you should know about.
const SunRod = require('sunrod-api');This contains complete access to the API. More info on Methods.
This class contains all necessary info about a user.
const user = client.get('604790617138266149'); // Returns the User class
console.log(user.id); // '604790617138266149' (the id of the user)
console.log(user.coins); // 100 (the amount of coins)You can find it in these methods:
SunRod#get, SunRod#set, SunRod#add, SunRod#remove, SunRod#transfer.
const admin = client.profile(); // Returns the Admin class
console.log(admin.id); // Your admin id
console.log(admin.name); // Your name as an admin
console.log(admin.token); // Your token
console.log(admin.permissions); // Your permission levelYou can find it in these methods:
SunRod#profile.
These are the methods inside the SunRod class:
Whenever an error should appear, it will be returned as { error: 'your error' } .
This makes it easier to prevent your bot from crashing.
The profile method returns your Admin Profile.
No Parameters required.
const profile = await client.profile(); // The Admin class is returned
console.log(profile.permissions) // Your permission levelThis method returns an Admin.
The get method returns the amount of coins the user has.
Parameters:
id: string
const user = await client.get(id); // The User class is returned
console.log(user.coins); // The amount of coinsMost methods return a User.
The has method returns a boolean: if the user has the minimum amount of coins, its true.
Parameters:
id: string
coins: number
const hasCoins = await client.has(id, coins);
console.log(hasCoins); // true or falseThe set method sets to the user a specific amount of coins, and returns the user data.
Parameters:
id: string
coins: number
const user = await client.set(id, coins); // The user amount of coins gets modified
console.log(user.coins); // The new amount of coinsInside the data property you can find user data, with how many coins does he have in total and his id.
The add method adds a specific amount of coins to a user and returns user data.
Parameters:
id: string
coins: number
await client.add({ user: 'id', coins: 0 }); // Add the amount of coins to the user
Structure is similar to the set method, although this sums to the current user balance and adds the given amount.
The remove method removes a specific amount of coins to a user and returns user data.
Parameters:
id: string
coins: number
await client.remove({ user: 'id', coins: 0 }); // Remove the amount of coins from the userThis method has the same structure as the set and the add method, but this subtracts coins from the user.
ATTENTION: The user may not have enough coins in some situations, and { error: 'Insufficient coins' } could be returned instead.
The transfer method transfers an amount of coins from a user to another and returns an array of 2 Users.
Parameters:
firstId: string
secondId: string
coins: number
const users = await client.transfer(firstId, secondId, coins); // Transfers coins from first to second user
console.log(users[0].coins); // The first user new amount of coins
console.log(users[1].coins); // The second user new amount of coinsSometimes you may get { error: 'your error' } instead of the actual response.
That doesn't mean that there's anything wrong with your code, but it's possible.
NOTICE: These are SunRod errors, while actual errors get thrown and you can prevented using the
bypassparameter.
| Error | Meaning |
|---|---|
Insufficient coins |
This could come out using SunRod#remove or SunRod#transfer, and means that the user you're taking coins from has not enough. |
It's just one, but in the future they could become more.
There could also be other errors, that would eventually stop your bot from running without an error handler.
There's not a list, but
When the returned status code is not 0, your application (usually your bot) would crash ans give a TypeError on your console.
To avoid this add bypass: true as a property inside the object you insert as the method parameter, and inside the returned object you will find a result property which will be the status code that relates to the problem.
Read about this to learn more about how we protect your data.
- SunRod does NOT retreive any personal or professional information from your code or hosting device.
- SunRod does NOT share the information you share with us, with anyone else. (es. token, activity, etc.)
- This is the official SunRod Package, as you find on our website. Do NOT use 3rd-party packages.
Ask to participate to SunRod Project in our Discord Server: Join us!
Else just dm to GabrieleAGenius#0001 on discord.