UNT canvas file finder utility
0 likes • Nov 18, 2022
JavaScript
Loading...
More JavaScript Posts
const geometricProgression = (end, start = 1, step = 2) =>Array.from({length: Math.floor(Math.log(end / start) / Math.log(step)) + 1,}).map((_, i) => start * step ** i);geometricProgression(256); // [1, 2, 4, 8, 16, 32, 64, 128, 256]geometricProgression(256, 3); // [3, 6, 12, 24, 48, 96, 192]geometricProgression(256, 1, 4); // [1, 4, 16, 64, 256]
const Discord = require('discord.js');const client = new Discord.Client();const token = 'YOUR_BOT_TOKEN';// When the bot is ready, log a message to the consoleclient.on('ready', () => {console.log(`Logged in as ${client.user.tag}!`);});// When a user sends a message, check if they are authenticatedclient.on('message', async (msg) => {if (!msg.author.bot && !msg.author.authenticated) {const filter = (m) => m.author.id === msg.author.id;const collector = msg.channel.createMessageCollector(filter, { time: 15000 });// Send an authentication message to the usermsg.author.send('Please authenticate yourself by clicking this link: ' + generateAuthURL(msg.author.id));collector.on('collect', async (m) => {// Check if the message contains the authentication codeif (m.content.startsWith('!auth ')) {const code = m.content.slice(6);const { access_token } = await getAccessToken(code);// Set the user's authenticated status and access tokenmsg.author.authenticated = true;msg.author.access_token = access_token;collector.stop();}});collector.on('end', () => {if (!msg.author.authenticated) {msg.author.send('Authentication timed out.');}});}});// Generate an authentication URL for the userfunction generateAuthURL(userId) {const redirectURI = encodeURIComponent('YOUR_REDIRECT_URL');const scopes = 'identify';const clientID = 'YOUR_CLIENT_ID';return `https://discord.com/api/oauth2/authorize?client_id=${clientID}&redirect_uri=${redirectURI}&response_type=code&scope=${scopes}&state=${userId}`;}// Exchange the authorization code for an access tokenasync function getAccessToken(code) {const redirectURI = encodeURIComponent('YOUR_REDIRECT_URL');const clientID = 'YOUR_CLIENT_ID';const clientSecret = 'YOUR_CLIENT_SECRET';const res = await fetch('https://discord.com/api/oauth2/token', {method: 'POST',headers: {'Content-Type': 'application/x-www-form-urlencoded',},body: `grant_type=authorization_code&code=${code}&redirect_uri=${redirectURI}&client_id=${clientID}&client_secret=${clientSecret}`,});return await res.json();}client.login(token);
import { createSlice } from "@reduxjs/toolkit";const alert = createSlice({name: "alert",initialState: {msg: "",status: "",},reducers: {set_alert: (state, action) => {return {...state,msg: action.payload.msg,status: action.payload.status,};},clear_alert: (state, action) => {return {...state,msg: "",status: "",};},},});export default alert.reducer;const { set_alert, clear_alert } = alert.actions;export const setAlert = (msg, status) => dispatch => {dispatch(set_alert({ msg, status }));setTimeout(() => dispatch(clear_alert()), 4000);};export const clearAlert = () => dispatch => {dispatch(clear_alert());};
const formatDuration = ms => {if (ms < 0) ms = -ms;const time = {day: Math.floor(ms / 86400000),hour: Math.floor(ms / 3600000) % 24,minute: Math.floor(ms / 60000) % 60,second: Math.floor(ms / 1000) % 60,millisecond: Math.floor(ms) % 1000};return Object.entries(time).filter(val => val[1] !== 0).map(([key, val]) => `${val} ${key}${val !== 1 ? 's' : ''}`).join(', ');};formatDuration(1001); // '1 second, 1 millisecond'formatDuration(34325055574); // '397 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds'
var arr = [{"success": true,"data": [{"id": "ipi_1KrrbvDOiB2klwsKhuqUWqt1","object": "issuing.transaction","amount": -2743,"amount_details": {"atm_fee": null},"authorization": "iauth_1KrrbuDOiB2klwsKoFjQZhhd","balance_transaction": "txn_1KrrbwDOiB2klwsK1YkjJJRi","card": "ic_1Krqe5DOiB2klwsK44a35eiE","cardholder": "ich_1KrqL8DOiB2klwsKtBnZhzYr","created": 1650753567,"currency": "usd","dispute": null,"livemode": false,"merchant_amount": -2743,"merchant_currency": "usd","merchant_data": {"category": "advertising_services","category_code": "7311","city": "San Francisco","country": "US","name": "Aeros Marketing, LLC","network_id": "1234567890","postal_code": "94103","state": "CA"},"metadata": {},"type": "capture","wallet": null},{"id": "ipi_1Krrbvc62B2klwsKhuqUWqt1","object": "issuing.transaction","amount": -9999,"amount_details": {"atm_fee": null},"authorization": "iauth_1KrrbuDOiB2klwsKoFjQZhhd","balance_transaction": "txn_1KrrbwDOiB2klwsK1YkjJJRi","card": "ic_1Krqe5DOiB2klwsK44a35eiE","cardholder": "ich_1KrqL8DOiB2klwsKtBnZhzYr","created": 1650753567,"currency": "USD","dispute": null,"livemode": false,"merchant_amount": -9999,"merchant_currency": "usd","merchant_data": {"category": "fast_food","category_code": "7311","city": "San Francisco","country": "US","name": "Aeros Marketing, LLC","network_id": "1234567890","postal_code": "94103","state": "CA"},"metadata": {},"type": "capture","wallet": null}]}];const reduced = arr.reduce((prev, curr) => {prev.push({amount: curr.data[0].merchant_amount,id: curr.data[0].id,currency: curr.data[0].currency,category: curr.data[0].merchant_data.category});console.log(prev)return prev;}, []);
// `date` is a `Date` objectconst formatYmd = date => date.toISOString().slice(0, 10);// ExampleformatYmd(new Date()); // 2020-05-06