![Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility](https://cdn.sanity.io/images/cgdhsj6q/production/97774ea8c88cc8f4bed2766c31994ebc38116948-1664x1366.png?w=400&fit=max&auto=format)
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
UltraX Package is a unique package that allows you to create cool things using simple functions and make it faster, for example there is an invite logger, discord buttons paginator, etc...
To install UltraX package you need:
You need to install Node.js.
You need to install discord.js.
You need to install node-fetch to use the Bin()
and Wikipedia()
functions.
You need to install canvas to use the welcomeImage()
.
Then you can open your application's terminal and type:
$ npm install ultrax
sleep()
- Functions that creates timeout easily and fast.
passGen()
- Function to create passwords made by letters and numbers randomly with specified length.
bin()
- Function that allows you to bin codes.
ButtonPaginator()
- Function to create embed pages using buttons easily.
welcomeImage()
- Function that creates a welcome image fully customizable using canvas.
Wikipedia()
- Function that allows users to search wikipedia and return results for a query.
remind()
- Function to make remind command
daBaby()
- Function to make a user DaBaby
boostImage()
- Function that creates a booster card.
inviteJoin
allows you to get some informations about the invite such as the inviter, etc...
reminder
It Triggers when someone used remind function and its time to remind user.
boost
This event emits when the server is boosted and returns the booster as GuildMember, with all data existing about it.
sleep is a simple function, where is make it easier and faster to make a timeout in your code.
Example:
// Defining the package
const ultrax = require('ultrax')
// Getting the sleep function from the package
const sleep = ultrax.sleep
// this will log "Start!" once i run the application
console.log('Start!')
// using the package sleep function to set a timeout
sleep(5000) // sleep(milliseconds)
// after the 5 seconds (5000 milliseconds) it will log "5 Seconds passed"
console.log('5 Seconds passed')
sleep(ms: Number)
this is a simple function that can generate passwords using letters and numbers and the password length is custom so you can change it to any length you want!
Example:
// Defining the package
const ultrax = require('ultrax')
// getting the passGen function from the package
const passGen = ultrax.passGen
// passGen(6) that mean it will generate a password from 6 characters.
console.log(passGen(6))
passGen(Length: Number)
This function is used to bin your code.
Example:
// Defining the package
const ultrax = require('ultrax')
// if it's empty it returns a message saying "what do you want to bin?"
if (!args.join(' ')) return message.channel.send('What do you want to bin?');
// else if everything works fine, we will make a new varible called "bin"
else {
// it will be used to bin the args.join(' ') also known as the message.content
const bin = await ultrax.bin(args.join(' '), true);
// then here we will send the results!
console.log('Here i binned the code ' + bin)
}
bin(String)
ultrax.bin(args.join(' '), true/false)
if its true that mean the bin is editable, else if its false that means no one can edit it.
Button Paginator function allows you to create embed pages easily and fast.
Styles:
red
,grey
,blurple
,green
,url
Example:
// Defining the package
const ultrax = require('ultrax')
// getting the MessageEmbed and MessageButton from discord.js
const { MessageEmbed, MessageButton } = require("discord.js")
// creating embeds
const embed1 = new MessageEmbed()
.setTitle("1st page embed");
const embed2 = new MessageEmbed()
.setTitle("2nd page embed");
const embed3 = new MessageEmbed()
.setTitle("3rd page embed");
const embed4 = new MessageEmbed()
.setTitle("4th page embed");
const buttonBack = new MessageButton()
.setStyle("DANGER")
.setEmoji("◀")
const buttonForward = new MessageButton()
.setStyle("SUCCESS")
.setEmoji("▶")
// creating the buttons pages
await ultrax.ButtonPaginator(message, [embed1, embed2, embed3, embed4], [buttonBack, buttonForward]);
Don't change the id of the buttons otherwise, don't expect it to work.
This function is used to create a welcome image using canvas, fully customizable and fast!
The function returns a Promise(<Attachment>) to Buffer the image and make it an Attachment, so you need to await it.
await welcomeImage()
As we mentioned before its fully customizable, so lets see the parameters and the options available. Parameters (Required):
background
avatar
text_1 (Title)
text_2 (Subtitle)
text_3 (Footer)
color Options (Optional):
font
{ default: "San Serif" }
attachmentName
{ default: "welcome" }
text1_fontSize
{ default: "72 pixels" }
text2_fontSize
{ default: "42 pixels" }
text3_fontSize
{ default: "32 pixels" }
So now lets talk about the correct Syntax for it!
await welcomeImage(background, avatar, text_1, text_2, text_3, color)
The background must be a PNG image, local images and URL images are supported.
The color must be a HEX color's code. As example this HEX:
#FFFFFF
In case you will use the options:
You don't have to use all options you can just use the ones you want to use, and you are not obligate of using them at all they are optional.
await welcomeImage(background, avatar, text_1, text_2, text_3, color {
font: String,
attachmentName: String,
text1_fontSize: Number,
text2_fontSize: Number,
text3_fontSize: Number
})
the
attachmentName
is always PNG, so whatever name you will put it will end with.png
automatically.Example: attachmentName: "Hello" returns: "Hello.png"
Example:
// Getting registerFont() from canvas
const { registerFont } = require('canvas')
// Registering the font
registerFont('ShadowsIntoLight-Regular.ttf', { family: "Shadows Into Light" });
To use custom fonts, you need to install the font (ttf/otf) yourself and use
registerFont()
to register the font and be able to use it.This is an example font, if you used this without install the font you will get an error.
After all these explanations and examples, lets see a full and nice welcome image function working inside of an guildMemberAdd
event!
Example:
// defining the package
const ultrax = require('ultrax')
// Getting registerFont() from canvas
const { registerFont } = require('canvas')
// Registering the custom font
registerFont('ShadowsIntoLight-Regular.ttf', { family: "Shadows Into Light" });
// Event
Client.on('guildMemberAdd', async member => {
// defining the background as bg
let bg = 'https://www.cdn.discordapp.com/attachments/850808002545319957/859359637106065408/bg.png'
// defining the member's avatar with "PNG" as format.
let avatar = member.user.displayAvatarURL({ format: "png" })
// defining text_1 (title)
let text1 = "welcome"
// defining text_2 (subtitle)
let text2 = member.user.tag
// defining text_3 (footer)
let text3 = `You're the ${member.guild.memberCount}th member`
// defining the color, here its white
let color = '#ffffff'
// defining the options and setting them (Those are optional)
const options = {
font: "Shadows Into Light",
attachmentName: `welcome-${member.id}`,
text1_fontSize: 80,
text2_fontSize: 50,
text3_fontSize: 30
}
// creating the image
const image = await ultrax.welcomeImage(bg, avatar, text1, text2, text3, color, options)
//channel#send(image)
});
Makes a sussybaka image with a image url
Example
const ultrax = require("ultrax");
const { Client } = require("discord.js");
const client = new Client();
client.on("message", async(message) => {
if(message.content === "!sussybaka"){
const theSussyBaka = new ultrax.sussyBaka(message.mentions.users.first()?.displayAvatarURL({ format: 'png' }) || message.author.displayAvatarURL({ format: 'png' }));
//It will return a Discord attachment!
const Image = await theSussyBaka.get();
return message.channel.send(Image);
}
});
A simple function to allow you to fetch a topic from wikipedia
Example
// defining the package
const ultrax = require('ultrax')
// we will be searching earth
let query = 'earth'
// Inistigating the wikipedia class
const res = new ultrax.Wikipedia({
message: message, // The message
color: "RED", // Color of embed that will be sent
query: query // what the search query is
})
res.fetch() // fetching the result from wikipedia
Simple function to DaBaby a user!
The function returns a Promise(<Attachment>) to Buffer the image and make it an Attachment, so you need to await it.
await daBaby()
Example
//defining the package
const ultrax = require('ultrax')
client.on("message", async(message) => {
if(message.content === "!dababy"){
const daBaby = await ultrax.dababy(message.mentions.users.first()?.displayAvatarURL({ format: 'png' }) || message.author.displayAvatarURL({ format: 'png' }));
//It will return a Discord attachment!
return message.channel.send(daBaby);
}
});
Function that creates a booster card, credit to French Noodles.
The function returns a Promise(<String>) the output is a URL in the form of a String, so you can use it as a MessageAttachement or in the .setImage()/.setThumbnail() function in a MessageEmbed.
Parameter | Description | Type | Position |
---|---|---|---|
url | The image url of the booster! | string | 1 |
boostImage(url)
Example
// Defining the package
const ultrax = require('ultrax')
// Defining the function
const boostImage = ultrax.boostImage
// Defining the boosters avatar :
let avatar = user.displayAvatarURL()
// ^ change 'user' to the user that boosted the server
// Generating the booster card
let boostCard = await boostImage(avatar)
// Send the boostImage in a embed
const discord = require('discord.js')
let embed = new discord.MessageEmbed()
.setTitle('Boost Card!')
// To add boosterCard to .setImage() :
.setImage(boostCard)
// To add boosterCard to .setThumbnail() :
.setThumbnail(boostCard)
channel.send({ embeds: [embed] })
// ^ change 'channel' to the channel you want he sends the embed to
// Send boostImage in a message:
channel.send({ content: 'Booster Card!', files: [ img ] })
// ^ change 'channel' to the channel you want he send the message to
Used in remind command. Parameters:
Example
const remind = require("ultrax").remind;
const time = args[0];
const reason = args.slice(1).join(" ");
if (!time) return message.channel.send("Specify Time! e.g `1m`")
if (!reason) return message.channel.send("Specify Reason! e.g `Going to Market`")
remind(message.author.id, time, reason);
message.channel.send("Successfully set a reminder.")
This will trigger when someone uses remind command ( remind function
) And when its time to remind user his message, this will trgger. It has 3 parameters:
Example
const Discord = require("discord.js");
const client = new Discord.Client();
client.login('TOKEN HERE');
// ==================================================================
const ultrax = require("ultrax")
// Connecting to mongoose'
ultrax.connectToMongoDB('MONGO DB URL');
// this will make reminder event work!
ultrax.remind.startRemind(client);
//================================================================
// New Event for Remind function;
client.on('reminder', (user, reason, time) => {
client.users.cache.get(user.id).send(`You asked me \`${time}\` ago to remind you \n \`${reason}\``);
});
client.on('message'(message) => {
let prefix = '?'
let args = message.content.slice(prefix.length).trim().split(/ +/g);
let cmd = args.shift().toLowerCase();
if (cmd === 'remind') {
const time = args[0];
const reason = args.slice(1).join(" ");
if (!time) return message.channel.send("Specify Time! e.g `1m`")
if (!reason) return message.channel.send("Specify Reason! e.g `Going to Market`")
remind(message.author.id, time, reason);
message.channel.send("Successfully set a reminder.")
};
});
This event is for logging invite uses. This is same as guildMemberAdd
event but this is custom event which has 3 parameters:
Example:
// Defining the package
const ultrax = require("ultrax")
//defining discord
const discord = require('discord.js')
// new discord client
const client = new discord.Client()
// To Get The new event working we need to initilize it by:
ultrax.inviteLogger(client)
// now below event will work
client.on('inviteJoin', (member, invite, inviter) => {
// results
console.log(`${member.user.tag} joined using invite code ${invite.code} from ${inviter.tag}. Invite was used ${invite.uses} times since its creation.`)
});
ultrax.inviteLogger(client)
put here your discord client. without it, the event won't emit.
This event fires when the server is boosted and returns the booster as GuildMember, with all data existing about it.
Function:
start(client, boosterRoleID)
Parameters:
Parameter | Description | Type | Position |
---|---|---|---|
client | The client object | object | 1 |
BoosterRoleID | The ID of the booster role in the server | string/Snowflake | 2 |
Example:
// Defining Discord.js
const discord = require('discord.js')
// Making your Client
const client = new Discord.Client({ intents: [ Discord.Intents.FLAGS.your_intents ... ] })
// Defining the package
const ultrax = require('ultrax')
// Import the event to your client and pass the booster role ID.
ultrax.boost.start(client, '12345678910111213141516') // <- the id of your BoostRole
// Make the event
client.on('boost', async booster => {
// Define your boost channel
const boostchannel = client.channels.cache.get('12345678910111213141516') // <- the id of your BoostChannel
// Send message to your boostchannel
boostchannel.send({ content: `${booster} boosted the server!` })
})
🤫 | PS: You can use boostImage() to add a nice image to your embed/message
( booster.user.displayAvatarURL() returns the avatar of the booster )
In case you have idea's to improve the package, or maybe you found some bugs or you need help, you can contact us from our discord server!
FAQs
UltraX Package is a unique package that allows you to create cool things using simple functions and events.
The npm package ultrax receives a total of 105 weekly downloads. As such, ultrax popularity was classified as not popular.
We found that ultrax 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.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.