loriapi
v1.0.8
Published
A simple library for fetching information from Loritta, a popular Discord bot made by the Brazilian developer MrPowerGamerBR.
Downloads
502
Maintainers
Readme
LoriApi
A powerful, straightforward library to interact with the Loritta API, a well-known Discord bot developed by Brazilian developer MrPowerGamerBR . With LoriApi
, you can easily retrieve detailed user data and transaction history directly from the Loritta API.
Installation
Install LoriApi
via npm:
npm install loriapi
Usage
Importing the Library
Import the LoriApi
module into your project:
import LoriApi from "loriapi";
Initialization
To initialize the LoriApi
class, create an instance with your Loritta API key. Ensure your API key begins with lorixp_
and has the correct length (51-52 characters), or the instance will not initialize properly.
const api = new LoriApi({ loriKey: "lorixp_your_key_here" });
Fetching User Data
Use the getUserData
method to retrieve comprehensive information about a user, including optional metadata in the headers. This method returns a combined object with both the data and the relevant header fields.
api
.getUserData("123170274651668480")
.then((userData) => {
console.log(userData.id); // User ID
console.log(userData.sonhos); // User "Dreams" count
console.log(userData.gender); // User's gender
console.log(userData.LorittaCluster); // Access to response headers
})
.catch((error) => {
console.error("Error fetching user data:", error.message);
});
Example Response from getUserData
A typical response from getUserData
provides fields for both user data and header metadata:
{
"id": "123170274651668480",
"xp": 6283483,
"sonhos": 19613336,
"aboutMe": "\"She said 'rawr x3', so it's true love at first sight\"",
"gender": "MALE",
"emojiFightEmoji": "<:lori_sip:1167125644296069160>",
"LorittaCluster": "Loritta Cluster 1 (Catalyst)",
"LorittaTokenCreator": "123170274651668480",
"LorittaTokenUser": "123170274651668480"
}
Fetching User Transactions
Retrieve a user's transaction history with the getUserDataTransactions
method. This method allows for optional filters by transaction type and date range.
Example Usage of getUserDataTransactions
api
.getUserDataTransactions(
"123170274651668480",
["PAYMENT", "DAILY_REWARD"],
"2024-01-01T00:00:00.000Z",
"2024-12-31T23:59:59.999Z"
)
.then((transactionData) => {
console.log(transactionData.transactions); // Array of transactions
console.log(transactionData.paging); // Paging information
console.log(transactionData.headers); // Header metadata
})
.catch((error) => {
console.error("Error fetching user transactions:", error.message);
});
Parameters for getUserDataTransactions
userId
: The Discord user ID.transactionTypes
(optional): An array of specific transaction types (e.g.,["PAYMENT", "EVENTS"]
).beforeDate
(optional): Sets an end date (ISO string or Unix timestamp).afterDate
(optional): Sets a start date (ISO string or Unix timestamp).
List of Valid Transaction Types
The following transaction types are supported:
"PAYMENT"
,"DAILY_REWARD"
,"COINFLIP_BET"
,"COINFLIP_BET_GLOBAL"
,"EMOJI_FIGHT_BET"
,"RAFFLE"
,"HOME_BROKER"
,"SHIP_EFFECT"
,"SPARKLYPOWER_LSX"
,"SONHOS_BUNDLE_PURCHASE"
,"INACTIVE_DAILY_TAX"
,"DIVINE_INTERVENTION"
,"BOT_VOTE"
,"POWERSTREAM"
,"EVENTS"
,"LORI_COOL_CARDS"
,"LORITTA_ITEM_SHOP"
,"BOM_DIA_E_CIA"
,"GARTICOS"
API Reference
LoriApi
Constructor
new LoriApi(options: ApiOptions)
options
: An object containing theloriKey
string, which is your Loritta API key.
Methods
getUserData(userId: string): Promise<UserData & UserHeaders>
Fetches user data, returning combined data fields and headers.getUserDataTransactions(userId: string, transactionTypes?: string[], beforeDate?: string | number, afterDate?: string | number): Promise<TransactionData>
Fetches user transactions with optional filters for transaction types and date ranges.
Types
ApiOptions
Initialization options for LoriApi
:
type ApiOptions = {
loriKey: string;
};
UserData
Structure of the data returned by getUserData
:
interface UserData {
id: string;
xp: number;
sonhos: number;
aboutMe: string;
gender: string;
emojiFightEmoji: string;
}
UserHeaders
Headers returned in the getUserData
response:
interface UserHeaders {
LorittaCluster?: string;
LorittaTokenCreator?: string;
LorittaTokenUser?: string;
}
TransactionData
Structure for the data returned by getUserDataTransactions
:
interface TransactionData {
transactions: Array<any>;
headers: UserHeaders;
paging: any;
}
Error Handling
If the
loriKey
is invalid, the process will terminate with an error message indicating the invalid key format. Errors encountered during API calls will be thrown with a descriptive error message for debugging.