
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@anitrack/patreon-wrapper
Advanced tools
Universal Patron API v2 wrapper that simplifies the API's response for easier usage and lower response complexity
💎 Simple Patreon wrapper designed best for Discord Bots to process user's patreon subscription and lower down the Patreon API complexity...
🌄 You can also simulates sandbox of fake Patrons for development and code testing purposes
🍊 This package was also used in AniTrack Discord Bot
Using NPM
$ npm install @anitrack/patreon-wrapper
Using YARN
$ yarn add @anitrack/patreon-wrapper
CommonJS
const { Patreon } = require('@anitrack/patreon-wrapper')
Typescript ES6
import { Patreon } from '@anitrack/patreon-wrapper'
Where do I find Campaign ID? F12 your Patreon page and search for "campaign" then keep looking until you finds URL with campaign params that contains around 7 degits. That should be your Campaign ID
Patreon.Authorization({
AccessToken: 'YOUR_API_V2_ACCESS_TOKEN',
CampaignID: 'YOUR_CAPAIGN_ID',
})
Promies then catch
Patreon.FetchPatrons(['active_patron', 'declined_patron'])
.then((Patrons) => {
// Handle Patrons List
console.log(Patrons)
})
.catch((err) => {
// Handle Error
console.log(err)
})
Async/Await
var Patrons = await Patreon.FetchPatrons(['active_patron', 'declined_patron'])
console.log(Patrons)
Clean Response Example
// Example response from fetching Patron list
[
{
displayId: '12345678',
displayName: 'Username',
emailAddress: 'email@address.com',
isFollower: false,
subscription: {
note: '',
currentEntitled: {
status: 'active_patron',
tier: {
id: '12345678',
title: 'My First Tier'
},
cents: 500, // 5 USD
willPayCents: 500,
lifetimeCents: 1500,
firstCharge: '2022-01-15 15:00:00.000', // ISO 8601 DATE
nextCharge: '2022-05-15 15:00:00.000',
lastCharge: '2022-05-15 15:00:00.000'
}
},
mediaConnection: {
patreon: {
id: '12345678',
url: 'https://www.patreon.com/api/oauth2/v2/user/12345678'
},
discord: {
id: '12345678',
url: 'https://discordapp.com/users/12345678'
}
}
},
{
...
},
{
...
}
]
This is great for development and working with fake patrons users. The fake patrons object will be exactly the same as real ones!
import { Patreon, Sandbox } from '@anitrack/patreon-wrapper'
You can repeat this as much as you want
Sandbox.AppendPatron({
displayId: '123', // Patreon ID
displayName: '123', // Patreon Username
emailAddress: 'email@address.com', // Patreon Email
tier: { id: '123', title: 'Tier 1' }, // Current Tier
cents: 500, // Current paying in cent 500 -> $5.00
willPayCents: 500, // Next pay price
lifetimeCents: 1500, // Total lifetime spent
firstCharge: '2022-01-15 15:00:00.000', // ISO 8601 String date format
nextCharge: '2022-05-15 15:00:00.000',
lastCharge: '2022-04-15 15:00:00.000',
patronStatus: 'active_patron', // Can be 'active_patron' & 'declined_patron'
mediaConnection: {
patreon: {
id: '123',
url: 'https://www.patreon.com/api/oauth2/v2/user/user_id',
},
discord: { id: '123', url: 'https://discord.com/users/user_id' },
},
})
Sandbox.GetFakePatrons()
Just fetch Patrons normally like you would with real ones
Patreon.FetchPatrons(['active_patron', 'declined_patron'])
.then((Patrons) => {
console.dir(Patrons, { depth: null })
})
.catch((err) => {
console.log(err)
})
FAQs
Universal Patron API v2 wrapper that simplifies their API usage in JavaScript
We found that @anitrack/patreon-wrapper demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.