#development

1 messages ยท Page 1466 of 1

carmine summit
lyric mountain
#

This is actually two separate chars, which compose a surrogate pair

#

If you increase the second char you'll get the next emoji in the sequence

carmine summit
#

im so confused

prime glacier
#

SyntaxError: Error parsing /home/ubuntu/secret/package.json: Unexpected token < in JSON at position 1104

lyric mountain
#

Think of those two \uXXXX being numbers

#

Like, let's say 60

#

If you increase that number by 1 you'll get the next char

#

You can't increase the first char, only the second

#

Here

#

See if this helps

crimson vapor
#

you guys need to stop

#

too much talk about regional_indicator_X

lyric mountain
stark abyss
#
    let welcomeChannel = await client.channels.fetch(data.channel)
console.log(welcomeChannel)
Promise {
  <ref *1> TextChannel {<data>}
}```
Why isn't the promise being resolve even though it's been await and how to fix this? DJS
lyric mountain
#

That's....uh....idk how to explain

earnest phoenix
#

๐Ÿค”

carmine summit
#

and it doesnt even work

stark abyss
#

Ping me if anyone has any idea on how to fix ty

lyric mountain
#

Copy this \uD83C\uDDE6

#

This is A

#

DDE7 is B

#

DDE8 is C

carmine summit
#

okayy

lyric mountain
#

Keep increasing the last number and you'll get the next letters

#

E increases to F

carmine summit
#

how am I able to increase it?

lyric mountain
#

Nah, forget it, you'll have 26 increases at most

#

Lemme think

#

Ah, found it

#

Nice

#

hexString = yourNumber.toString(8);

carmine summit
#

WTF?

lyric mountain
#

yourNumber = parseInt(hexString, 8);

#

Increase yourNumber

carmine summit
#

I can't handle it

lyric mountain
#

It'll be a normal number

carmine summit
#

my brain is too young

lyric mountain
#

Lul

#

I'm so bad at explaining

#

Look, you could use the simple solution

#

Make an array with all 26 regionals

#

Then get the index

#

It'll be easier to do instead of directly manipulating the emoji

carmine summit
#

I'm not going to do that

#

that's too messy

#

wait what?

lyric mountain
#
const regionalA = "\uD83C\uDDE6";
let unicode = parseInt(regionalA, 16);

unicode += 1;
let newRegional = unicode.toString(16);
#

This will get u the next emoji

carmine summit
#

why 16?

lyric mountain
#

Because it has 16 bytes

#

Each \uXXXX is 8 bytes

carmine summit
#

now were talking bytes

#

great

stark abyss
lyric mountain
#

Add one and you'll get B

#

Add 25 and you'll get Z

carmine summit
#

Why isnt it regional indicators?

lyric mountain
#

It is

#

I'm just saying the letter itself because regional_indicator_X seems silly

carmine summit
lyric mountain
#

Remove the codeblock

#

It transforms emojis in raw emojis

#
See? ๐Ÿ˜
carmine summit
lyric mountain
#

No, not like that

lyric mountain
#

All 4 lines

#

Copy the whole example

carmine summit
lyric mountain
#

Hm

#

Try this:

#
let emoji = 0xdde6;

emoji += 1;
let newRegional = String.fromCodePoint(0xd83c, emoji);
carmine summit
#

aaa

lyric mountain
#

No?

carmine summit
#
  '๐Ÿ‡ฆ', '๐Ÿ‡ง', '๐Ÿ‡จ', '๐Ÿ‡ฉ', '๐Ÿ‡ช',
  '๐Ÿ‡ซ', '๐Ÿ‡ฌ', '๐Ÿ‡ญ', '๐Ÿ‡ฎ', '๐Ÿ‡ฏ',
  '๐Ÿ‡ฐ', '๐Ÿ‡ฑ', '๐Ÿ‡ฒ', '๐Ÿ‡ณ', '๐Ÿ‡ด',
  '๐Ÿ‡ต', '๐Ÿ‡ถ', '๐Ÿ‡ท', '๐Ÿ‡ธ', '๐Ÿ‡น',
  '๐Ÿ‡บ', '๐Ÿ‡ป', '๐Ÿ‡ผ', '๐Ÿ‡ฝ', '๐Ÿ‡พ',
  '๐Ÿ‡ฟ'
]```
lyric mountain
#

Yeah, that'll be easier

pale vessel
#

why do you know so much about regional indicators

lyric mountain
#

Store that on some const for easier access without havinguto create again

lyric mountain
pale vessel
#

oh

lyric mountain
#

Here

#

What

carmine summit
#

@lyric mountain How old are you btw?

lyric mountain
#

21

carmine summit
#

see, I still have a lot of time to learn that

pale vessel
#

i have a poll command too

carmine summit
#

I don't need to be advanced

lyric mountain
#

Like, it's just harder in js because you can't explicitly declare types

#

The way I did in java was by converting the second character to integer, then increasing it by the desired value

#

After that, I joined the characters again, giving me the emoji

#

Characters are nothing more than unicode numbers, when you increase it you get the next character

twilit geode
#

what is the opposite of this (what can i use that activates when the bot leaves a server)

client.on("guildCreate", (guild) => { //...
cunning marsh
#

this is guild create

sudden geyser
#

guildDelete

cunning marsh
#

it emits when bot joins a guild

crimson vapor
#

smh @lyric mountain old

stark abyss
twilit geode
lunar hawk
#

can anyone tell what to do, I am not able to verify as whenever I am trying to attach a pic of the ID proof, it says that the photo is blur even when it is absolutely clear

cunning marsh
#

wdum mean by opposite?

#

its guildDelete

#

opposite

twilit geode
crimson vapor
#

@pale vessel mornin'

twilit geode
#

guildDelete doesnt work?

lyric mountain
crimson vapor
#

oh I see

#

thats where im going wrong

lyric mountain
#

It was hard farming in 2020 tho, lost some xp

twilit geode
pale vessel
crimson vapor
#

nice

opal plank
#

finally everything ported

earnest phoenix
#

@opal plank from to?

crimson vapor
#

Hello Erwin

#

how was your day

earnest phoenix
#

Js to go?

crimson vapor
#

or morning idk your time zone

opal plank
#

just a casual 4k backlogged pull

crimson vapor
#

559

#

what timezone are you in Erwin?

opal plank
#

Sao Paulo

lyric mountain
#

Br detectado

opal plank
#

not even

#

full of germen

#

technically im not even brazilien

lyric mountain
#

Technically

opal plank
#

well yeah, coming that i lived in canada before

#

bruh today is been a hell of coding

crimson vapor
#

hmm

opal plank
#

API wrapper
API changes
bot verification issues
bot porting
Updating bot code with log
Update database entries schemas to match main bot
uptaing readme for the bot
updating top.gg bot description
updating docs on the SDK
refactoring the SDK wrapper code
and a couple other smaller things

#

all that today, i need a break. and booze. specially booze.

crimson vapor
#

does seem like hell

mellow kelp
#

yea

crimson vapor
#

idk about needing booze tho

mellow kelp
#

take a break oldEyes

opal plank
#

LOTS of booze

#

break with booze?

#

yeah

#

booze

mellow kelp
#

hmm

#

perhaps

opal plank
#

tons of it

crimson vapor
#

hmm

#

is that your solution to everything?

opal plank
#

imma chug that tequila down my drinker

opal plank
sudden geyser
#

uptaing readme for the bot
the hardest of them all

crimson vapor
#

good solution

#

don't know how good tho since im underaged KEKW

opal plank
#

not only the bot

mellow kelp
opal plank
#

the top.gg page, the PUBLIC readme, AND the private readme

crimson vapor
#

readme

opal plank
#

for the collaborators(if any ever join, looking at you @tame kestrel angeryBOI )

crimson vapor
#

you might need booze

drifting wedge
opal plank
#

i 100% need booze, and i still got shit to finish

drifting wedge
#

var*

opal plank
#

but now we going to finish it drunk

crimson vapor
#

is that a good idea?

drifting wedge
#

@opal plank quick tip, dont drink

opal plank
#

opposite, drink a lot

#

i did my work, i deserve it

drifting wedge
#

ok if u help me u can drink

lyric mountain
#

booze the moose to use the nose

crimson vapor
#

Erwin how old are you? if you don't mind me asking

lyric mountain
#

take a break

opal plank
#

i dont know py

#

21 22 or 23

#

somewhere there

lyric mountain
#

or

opal plank
#

jan 1998, do the math

drifting wedge
crimson vapor
#

cba ill just assume like 23

lyric mountain
#

you're 1 year older than me

#

s-senpai

crimson vapor
#

cringe

sudden geyser
crimson vapor
#

Erwin should I fuck around in ts or finish my project in js?

#

ik its all preference before you say that

opal plank
#

finish shit first

#

so js

crimson vapor
#

ok

drifting wedge
#

got it

crimson vapor
#

after reading that I think I fucked up my grammar

#

should I fuck around on the project in ts or just code it in js*

#

its a rewrite

#

and im kinda dreading porting shit from the old one when I finish

opal plank
#

if u started js, finish js

#

its not worth porting

#

wont get full ts experience

crimson vapor
#

alright

#

well time to go learn redis pogey

stark abyss
ivory seal
#

if(message.guild === null){i have a embed i send here} but it sends the embed 5-10 times

#

can someone help

opal plank
#

you probably have other bots running

#

the same bot, running the same time

#

OR, its ur code

#

show more context

ivory seal
#
client.on('message', (message) =>{ 
if(message.guild === null){
   const embed = new Discord.MessageEmbed()
   .setTitle('Help')
   .setDescription(`> What would you like help with? Send a message with the **number** of the type of help you need.
**1.** I need to report a DM advertisement.
**2.** I need to report a user.
**3.** I am interested in a server promotion.
**4.** I want to become staff. How do I do it?
**5.** How do I become a sponsor?
**6.** I am interested in sponsoring a giveaway. 
**7.** My issue is not listed here.
**8.** Cancel.

Please type the number that to the type of help you want here.
   `)
   .setThumbnail('gif')
   .setFooter('Help','gif')
message.channel.send(embed)
}
})```
#

thats the code

#

and i thought it was multiple instances

pale vessel
#

this is not a good idea

ivory seal
#

so i regen my token

pale vessel
#

this sends on every DM message?

ivory seal
#

yes

#

its like a modmail bot

earnest phoenix
#

LOL

#

I KNOW WHY

#

YOU DIDNT CHECK IF THE AUTHOR IS A BOT

#

Ahem apologies

mellow kelp
#

a

#

ohh yeah that thing

tame kestrel
mellow kelp
#

poggers

earnest phoenix
#

@tame kestrel hi

tame kestrel
#

no

ivory seal
#

oh lol ye

earnest phoenix
#

yes

ivory seal
#

it would just keep repeating hundreds of tiems

#

kek thansk

mellow kelp
#

it happened so non-frecuently everyone forgot about it lmao

earnest phoenix
#

Its common mistake that we all make

#

@mellow kelp yeah

sudden geyser
#

Nah I think the bot was just really excited and wanted an answer /s

mellow kelp
earnest phoenix
#

@sudden geyser yeah yeah

sudden geyser
#

similar to that one employee that wants to move as quick as possible

tribal siren
#
let guild = bot.guilds.cache.get(args[0]);
let bio = db.get(`servbio_${guild.id}`)```
#

TypeError: Cannot read property 'id' of undefined

#

what's wrong?

earnest phoenix
#

cache.get returned undefined

#

couldn't find a guild with the id of whatever you passed

twilit geode
#

before I go down the rabbit hole, would this code work

#
        if (!user.permissions=="MANAGE_CHANNELS") {
            message.reply("You do not have access to this command!")
        }

crimson vapor
#

if(message.member.hasPermission("PERMISSION"))

twilit geode
twilit geode
tribal siren
#

that's actually wrong

#

if(message.member.hasPermission("PERMISSION") actually sees if the user has a permission, not if he does not have one

twilit geode
tribal siren
#

oh ok

#

gl

earnest phoenix
#

Plz tag me if someone knows

pale vessel
#

Click open in browser @earnest phoenix

earnest phoenix
#

Okay gimme a sec

pale vessel
#

Select the server?

earnest phoenix
#

I did

pale vessel
#

Did it open the mobile app?

earnest phoenix
#

its showing me the not suported

pale vessel
#

Did it open the mobile app?

earnest phoenix
#

YE it did

pale vessel
#

try enabling desktop mode

earnest phoenix
#

Tried

#

same thing

old cliff
#

don't use mee6

#

then

#

lol jk

#

open in browser

earnest phoenix
#

iโ€™ll

#

umm

#

i was led here

lost hollow
#
const Discord = require('discord.js')

exports.run = (client, message, args) => {

  const emote = client.emojis.cache.find(emote => emote.name === args[0]);
    if (!emote) return message.reply("No colocaste un nombre valido, Recuerda que solo se permiten emojis del servidor!").then(m => m.delete({timeout: 5000}))/
    message.delete();
    message.channel.send(`${emote}`);
}```
I just want the animated emoji to appear, not with everything and command, should I change something?
earnest phoenix
#

idek js

#

you canโ€™t do animated emojis unless itโ€™s verified

#

btw

summer torrent
#

what

pale vessel
earnest phoenix
#

mhm

summer torrent
#

and your image link has broken

earnest phoenix
#

can someone help me with message edit??

#

py

summer torrent
#

dont ask to ask

earnest phoenix
#

lol

#

i can setup mod logs and all of that but not message editing

slender thistle
#

Okay what's the issue

lost hollow
#

How do I find an animated emoji to add to my bot? as decoration

earnest phoenix
#

@slender thistle i just dk how

slender thistle
#

Wdym you don't know how

#

use on_message_edit?

earnest phoenix
#

idk how to make it edit period

slender thistle
earnest phoenix
#

so this is the code that mutes everyone in the voice channel that i am in. waht i dont know how to do is when the user the bot mute that unmute it self can the bot mute that person back

if (message.member.voice.channel) {
        let channel = message.guild.channels.cache.get(message.member.voice.channel.id);
        for (const [memberID, member] of channel.members) {
          // I added the following if statement to mute everyone but the invoker:
          // if (member != message.member)
      
          // This single line however, nested inside the for loop, should mute everyone in the channel:
          member.voice.setMute(true);
          message.member.voice.setMute(false) //Unmutes the author
        }
      } else {
        message.channel.send('Patron รถncen bir kanala katฤฑl!');
    }

help with that code please

timber frost
#

Does anyone know a really cheap VPS, for good performance? Looking for some suggestions

pale vessel
#

@earnest phoenix Maybe make it a server mute so that they can't unmute themselves?

#

wait it is a server mute

#

well idk then

earnest phoenix
#

no

earnest phoenix
#

Hey, my bot isn't detecting the command when I enter it in chat, the bot is for my friend to help them with their mental health, if this goes well then I plan to make it public and to start off I just want a simple embed to be shown, it's not the embed that's the problem, the bot just isn't detecting the command...

const Discord = require('discord.js');
const bot = new Discord.Client();
const prefix = '!';

bot.on("ready", () => {
    console.log('Bot is online.')
})

const Healthstart = new Discord.MessageEmbed()
.setColor('#f54c4c')
.setTitle('Kingdom Health Program')
.addFields(
    { name: 'option 1:         ', value: '7 days         ', inline: true },
    { name: '                  ', value: '               ', inline: true },
    { name: '                  ', value: '               ', inline: true },
)
.setFooter('...');


bot.on('message', message =>{
    if(message.content.startsWith(prefix) || message.author.bot) return;

    const args = message.content.slice(prefix.length).split(/ +/);
    const command = args.shift().toLowerCase();
    if(command === 'start') {
        message.channel.send(Healthstart)
}
});

bot.login('token')
earnest phoenix
#

it already mutes but what i want is when they unmute them self bot will check and will mute them back

earnest phoenix
#

its not that

#

check the code

#

I'm saying the code isn't needed

#

lol

#

It's simple enough to do inside of discord, all the admin of the server needs to do is disable the user's ability to speak in the music channel and you need to add the permission to speak in the bot perms

#

pretty sure discord doesn't apply permission changes until the user switches channels

#

hence the need to server mute and server deafen

#

hmm, I still think that it's not needed, discord made a way without code to do it, and it's not that hard, if you need help to do this make a setup command that will give the user directions on how to update the channel settings

#

it's a bit inconvenient to mute each user by yourself

#

im guessing this is for an among us bot

#

as if there arent thousands of them that do the same thing already

#

hmm?

prime glacier
#
TypeError [ERR_INVALID_ARG_TYPE]: The "url" argument must be of type string. Received undefined
    at validateString (internal/validators.js:117:11)
    at Url.parse (url.js:159:3)
    at Object.urlParse [as parse] (url.js:154:13)
    at Object.exports.getURLVideoID (C:\Users\gamin\Documents\secret\node_modules\ytdl-core\lib\url-utils.js:30:22)
    at Object.exports.getVideoID (C:\Users\gamin\Documents\secret\node_modules\ytdl-core\lib\url-utils.js:63:20)
    at Function.exports.<computed> [as getInfo] (C:\Users\gamin\Documents\secret\node_modules\ytdl-core\lib\info.js:469:23)
    at ytdl (C:\Users\gamin\Documents\secret\node_modules\ytdl-core\lib\index.js:19:8)
    at play (C:\Users\gamin\Documents\secret\MusicSystem.js:23:26)
    at Object.run (C:\Users\gamin\Documents\secret\commands\music\play.js:114:9)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  code: 'ERR_INVALID_ARG_TYPE'
}
(node:10920) UnhandledPromiseRejectionWarning: Error [VOICE_PLAY_INTERFACE_BAD_TYPE]: Unknown stream type
    at VoiceConnection.play (C:\Users\gamin\node_modules\discord.js\src\client\voice\util\PlayInterface.js:84:11)
    at play (C:\Users\gamin\Documents\secret\MusicSystem.js:40:8)
    at Object.run (C:\Users\gamin\Documents\secret\commands\music\play.js:114:9)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:10920) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` 
(node:10920) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.```
lusty quest
#

you dont provide a String as URL

prime glacier
#

ohshit where

lusty quest
#

read the first line of the error?

tribal siren
#

your URL isn't a string bud

prime glacier
#

ohshit var stream = await ytdlDiscord(song.url

lusty quest
#

where is song defined?

#

also dont use var. var is more or less deprecated, use let or const instead

prime glacier
#
const urlcheck = videoPattern.test(args[0]);```
`if (urlcheck) {
      try {
        songData = await ytdl.getInfo(args[0]);
        song = {
          title: songData.title,
          url: songData.video_url,
          duration: songData.length_seconds
        };`
#

ohk

lusty quest
#

your scope of song is out of scope

forest vector
#

im kinda new to developing bots what coding language is generally used for making a bot

lusty quest
#

did you know any kind of language?

#

bcs there are a lot

prime glacier
lusty quest
forest vector
#

i know like html, c++ but like a little , and some java script

lusty quest
#

C++ and js can be used

#

C++ is in the long run probably more efficent

forest vector
#

ah ok

#

is like java not as good ?

lusty quest
#

its fine many bots are written in it. but at larger scales you get issues with Resource usage

forest vector
#

ah ok

#

do u have any recommendations in tutorials for c++ ?

lusty quest
#

so around 10k guilds you will have to use atleast 5 Shards better 10 and each can easy use 500-1GB ram if not coded efficent

forest vector
#

cause i would like to get better with this

lusty quest
#

idk never looked into C++

forest vector
#

hm ok

#

which one do u use

obtuse niche
forest vector
#

and is it just more efficient

lusty quest
#

currently js but i work on learning C#

forest vector
#

i heard of python isnt that like the newest language

lusty quest
#

python is fine but could be slower.

obtuse niche
#

I do not recommend python

forest vector
#

interesting

lusty quest
#

if you want to learn a modern Language use Rust or Golang

forest vector
#

ok

#

is it ok if we pin this part of chat so when i get back home i can write notes ?

twin swift
#

How can I make a vote command

lusty quest
#

define vote command?

obtuse niche
#

What lang?

twin swift
#

lang tr

lusty quest
#

programing language lol

twin swift
#

js

lusty quest
#

what did you expect from the vote command to do?

forest vector
#

are u doing like a poll system

twin swift
#

no

#

dbl vote command

lusty quest
#

what sould it do?

#

link the author to the DBL page?

forest vector
#

interesting

old cliff
#

Can we use canvas for gif manipulative?

carmine summit
#

yes

old cliff
#

Really ?

carmine summit
#

iirc

earnest phoenix
#

Hey, my bot isn't detecting the command when I enter it in chat, the bot is for my friend to help them with their mental health, if this goes well then I plan to make it public and to start off I just want a simple embed to be shown, it's not the embed that's the problem, the bot just isn't detecting the command...

const Discord = require('discord.js');
const bot = new Discord.Client();
const prefix = '!';

bot.on("ready", () => {
    console.log('Bot is online.')
})

const Healthstart = new Discord.MessageEmbed()
.setColor('#f54c4c')
.setTitle('Kingdom Health Program')
.addFields(
    { name: 'option 1:         ', value: '7 days         ', inline: true },
    { name: '                  ', value: '               ', inline: true },
    { name: '                  ', value: '               ', inline: true },
)
.setFooter('...');


bot.on('message', message =>{
    if(message.content.startsWith(prefix) || message.author.bot) return;

    const args = message.content.slice(prefix.length).split(/ +/);
    const command = args.shift().toLowerCase();
    if(command === 'start') {
        message.channel.send(Healthstart)
}
});

bot.login('token')
eager locust
#

How to use

message.mentions.users.first();
lusty quest
#

call delete() on the message object

lusty quest
young flame
viscid leaf
#

Holy shit

misty sigil
#

@young flame I have suggestion

young flame
misty sigil
#

make the embed edit into the selection message instead of sending a new one

#

i think that just makes it look cleaner imo

lusty quest
#

maybe use reactions to select a song

#

together with what mattthew suggested

young flame
#

but then id have to make it put a number for each choice

#

and i plan on making it in pages so then id have more numberS

lusty quest
#

make the selection per page. each page got 10 entrys

#

wait nvm

young flame
#

i have it separate because you can also send a link instead of like

lusty quest
#

yea switching pages will be confusing

young flame
#

+play never gonna give you up Rick astley

#

you can just send the yt link

thorn nexus
#

discord.js
how to check if an argument in a message is a standard emoji or not?

for example: everything is fine ๐Ÿ˜€
=> ๐Ÿ˜€ == emoji

pure lion
#

@thorn nexus any emoji or just that one?

jade portal
#

/languages italian

thorn nexus
#

@pure lion in general. I need to extract any standard emoji from the message

eternal osprey
#

how can i add images/gifs to my top.gg page?

quartz kindle
#

There are libraries on npm that already do that

thorn nexus
#
//so I get all custom emojis in the message, I also need to check the standard ones
let emojiID = [];
for (let i = 0; i < args.length; i++) {
  if (args[i].startsWith('<:') && args[i].endsWith('>')) {
    let emoji = client.emojis.cache.get(args[i].slice(2, -1).split(':')[1]);
    if (emoji) {
      emojiID.push(emoji.id);
    } else {
      continue;
    };
  };
};
if (emojiID[0]) return message.channel.send(emojiID);```
pure lion
#

Or just check if the emoji has a URL

thorn nexus
#

hmmmmmmmmmm

quartz kindle
#

Default emojis dont have urls

pure lion
#

Yeah exactly

quartz kindle
#

But they want to match default emojis

pure lion
#

Yes

eternal osprey
#

anyone knows how to add images to top.gg?

pure lion
#

So check if it doesn't have a url

thorn nexus
#

how are emoticons different from regular text?

pure lion
#

Refer here

quartz kindle
#

There is no message.emojis in discord.js, so you have to parse the text yourself, there is no default emojis in client.emojis either, so you cant check if they have an url or not

#

There are libraries that do that for you already, such as twemoji-parser

molten yarrow
#

you can check with regex if there is an normal emoji in the message
i was using it to remove emojis :3
something like this:

quartz kindle
#

Yes, thats what the emoji parser libraries do

molten yarrow
#

oh oki

quartz kindle
#

So you can just steal the regex from them xD

thorn nexus
#

@molten yarrow can I steal a function from you? Bad_rofl

molten yarrow
snow urchin
earnest phoenix
#

is that a newly invited bot

#

if so, you need to include applications.commands scope in your invite link now

#

otherwise no bueno

snow urchin
#

oh right, new scope, didnt think about that :D, thanks!

thorn nexus
#
let dictionary = require('../../emojis/regex');
for (let i = 0; i < args.length; i++) {
  if (args[i].startsWith('<:') && args[i].endsWith('>')) {
    let emoji = client.emojis.cache.get(args[i].slice(2, -1).split(':')[1]);
    if (emoji) {
       message.react(emoji.id);
    } else {
       continue;
    };
  } else {
    if (dictionary.indexOf(`${args[i]}`) != -1) {
      message.react(args[i]);
    } else {
      continue;
    }
  };
};```
pale vessel
thorn nexus
tribal siren
#

how to make the bot generate an invite to a guild?

thorn nexus
#
let invite = await message.channel.createInvite(
  {
    maxAge: 10 * 60 * 1000, // maximum time for the invite, in milliseconds
    maxUses: 1 // maximum times it can be used
  })```
pale vessel
#

you shouldn't though

drifting wedge
#

how can i get if the user is listenning to spotify? dpy

pure lion
#

how does discord.js set the client user at login?

pure lion
drifting wedge
#

alr ty

pure lion
#

np

frail sleet
#

has anyone here made economy commands using python?

slender thistle
#

Let me confirm whether that works or not

drifting wedge
#

would error out if user is selfbot though right?

#

i mean its fine lmao but it would?

slender thistle
#

I mean

#

Technically some fields would just be None

gilded olive
#

I mean discord.py has docs for spotify specifically

hollow sedge
#

Why is discord so integrated with spotify

earnest phoenix
#

partnership

#

for what? no idea probably your data

hollow sedge
#

lol

quartz kindle
#

Why do people even use spotify, its filled with ads and its annoying

drifting wedge
#

so its fine for me

quartz kindle
#

I just download the stuff i like lul

drifting wedge
#

true

#

i mean i like how spotify makes like playlists for you tho

#

i dont like any specific type of music

#

i like some songs

quartz kindle
#

And when not, i use youtube with adblocks

wise umbra
#

Spotify student is cheap tho

drifting wedge
#

so spotify does a good job

drifting wedge
quartz kindle
#

True

pale vessel
quartz kindle
#

I dont have netflix either

crimson vapor
#

Hello

umbral zealot
#

๐Ÿ‘‹

crimson vapor
pure lion
#

better than discord.js development

#

trust me

crimson vapor
#

never been there

#

never plan on it

#

only time I would ever go there is if I have an issue with d.js that can't be solved by reading docs

earnest phoenix
#

nah this is shittier than djs

#

atleast in djs they have rules to disallow spoonfeeding and idiots who try to code without learning the language

oak cliff
#

Rule 8

earnest phoenix
#

of which section..?

oak cliff
#

The that matters in this case? The server rules lol

#

Why would I refer to you bot rule 8 randomly

earnest phoenix
#
      a. Do not spoon-feed developers
      b. Approach problems that users are having with an open mind and with the objective of helping them learn how the process works and how they can address the issue. Telling them to โ€œgoogle itโ€ doesnโ€™t help anyone and is rude. ```
#

Telling them to โ€œgoogle itโ€ doesnโ€™t help anyone and is rude. it actually sometimes is best response

#

Would be like the first thing to pop up on google

oak cliff
#

Then dont just say google it

#

You can say, If you google that question the first result is really helpful

earnest phoenix
#

hm

opal plank
#

rule of the thumb:
if your question is answered in the first 3 searches on google, you are asking to be spoonfed

Going to a channel without doing research clearly shows spoonfeeding purposes imo, where you want people to do what is ultimately, your job

earnest phoenix
#

hey guys

outer perch
#

wat

#

Vibe Checking these devs

oak cliff
#

This isnt the channel for memes or media

#

If only we had a channel clearly marked for them

outer perch
#

but is for reactions

#

._.

untold marlin
#

How to get mongodb api?

#

Guys?

lusty quest
#

so an api that accesses MongoDB?

hollow sedge
#

You just have to install the driver for your language

brittle copper
#

Didnโ€™t expect for it to get approved tbh

tulip ledge
#

Okay so. I have this array with about 50 values sorted from lowest to highest, then I have a number and I need to find the index where it is higher or equal to but not higher or equal then the next one. For example:

const table = [1, 5, 7, 9, 22, 45]
let number1 = 3; // Should return 0 as it is bigger then 1 but smaller then 5
let nuber2 = 34; // Should return 4 as it is bigger then 22 but smaller then 45
let number3 = 9; // Should return 3 as it is equal to 9

Does anyone know how I would do this?

sudden geyser
#

@tulip ledge you'll probably want to use .findIndex

#

It's quite simple to implement: js table.findIndex((num) => num > target) - 1

#

There are algorithms that are faster than this, like binary searching.

quartz kindle
#

If your array is already sorted, yes binary search is likely the fastest

#

But on something small like this just use findIndex

drifting wedge
#

with html ofc

#

like margin top doesnt work

#

and float left also doesnt

quartz kindle
#

Whats the structure?

drifting wedge
#
        <div style="border-bottom: #FF6B6B 2px solid;">
        <div style="border: #83ff93 3px solid; font-size: 25px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card3" align="left">
          <b>0</b>
        </div>

        <div style="border: #FF6B6B 3px solid; font-size: 25px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card3" align="left">
          <b>1</b>
        </div>
      </div>
        
        <div style="border: #83ff93 5px solid; font-size: 45px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left;" class="card2">
          <b>0</b>
        </div>

        <div style="border: #83ff93 5px solid; font-size: 45px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card2">
          <b>1</b>
        </div>

        <div style="border: #83ff93 5px solid; font-size: 45px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card2">
          <b>2</b>
        </div>

        <div style="border: #FF6B6B 5px solid; font-size: 45px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card2">
          <b>3</b>
        </div>

        <div style="border: #d06bff 5px solid; font-size: 45px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card2">
          <b>4</b>
        </div>```
quartz kindle
#

Make the first div container display:block

drifting wedge
#

top top

#

like the border bottom one?

quartz kindle
#

Ye

drifting wedge
#

<div style="border-bottom: #FF6B6B 2px solid; display:block">\

#

?

quartz kindle
#

Ye

drifting wedge
#

dont see any change?

#

it showed before anyways

quartz kindle
#

Whats the container like?

#

For all that

drifting wedge
#

uhhh

#
      <div class="container-fluid">
        <div class="header-body">
          <div class="row align-items-center py-4">
          </div>
        </div>
      </div>
    </div>
    <!-- Page content -->
    <div class="container-fluid mt--6" >
      <div class="row justify-content-center">```
quartz kindle
#

Were are these divs? In py-4 or in justify cobtent center?

drifting wedge
#

1 sec

#

lemme get css

#
{
    display: flex;

    margin-right: -15px;
    margin-left: -15px;

    flex-wrap: wrap;
}```
#
{
    padding-top: 1.5rem !important;
}```
#
{
    justify-content: center !important;
}```
quartz kindle
#

If the display flex is the direct parent of the display block, then it wont work

drifting wedge
#

oh shit

#

whatever

#

ignore the "oh shit"

quartz kindle
#

You cant change the display of items directly inside a flexbox

#

Unless its display none

drifting wedge
quartz kindle
#

Move the 01 outside the flexbox container

drifting wedge
#
    <div class="container-fluid mt--6" >

      <div style="border: #83ff93 3px solid; font-size: 25px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card3" align="left">
        <b>0</b>
      </div>

      <div style="border: #FF6B6B 3px solid; font-size: 25px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card3" align="left">
        <b>1</b>
      </div>

      <div class="row2 justify-content-center">

        
      </div>
      <div style="border-bottom: #FF6B6B 2px solid; display:block;">
        
        <div style="border: #83ff93 5px solid; font-size: 45px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left;" class="card2">
          <b>0</b>
        </div>

        <div style="border: #83ff93 5px solid; font-size: 45px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card2">
          <b>1</b>
        </div>

        <div style="border: #83ff93 5px solid; font-size: 45px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card2">
          <b>2</b>
        </div>

        <div style="border: #FF6B6B 5px solid; font-size: 45px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card2">
          <b>3</b>
        </div>

        <div style="border: #d06bff 5px solid; font-size: 45px; font-family: helvetica; margin-left: 10px; color: #7289DA; float: left" class="card2">
          <b>4</b>
        </div>```
#

@quartz kindle

crimson vapor
#

html KEKW

#

backend is so much easier

drifting wedge
#

facts

lusty quest
#

but sometimes you want to make a Website for your bot

drifting wedge
#

making a dashboard

#

:/

lusty quest
#

yea started with one a while ago, but i hate HTML and frontend work

crimson vapor
#

most ive done is my sharex server

#

and it kinda hurts me knowing that I have to do it again

#

admin powersโ„ข๏ธ

hollow sedge
#

validation sucks :/

crimson vapor
#

wdym

hollow sedge
#

Like getting input from a website

crimson vapor
#

hmm

hollow sedge
#

And making sure that it is workable data

#

And you have to write two sets for it

#

One for the JS to give the user feedback and another for the backend because you can never trust users

crimson vapor
#

thats why I just gave a warning on my site and said that it won't work if not properly configured

#

like custom domain shit

#

I don't even have a regex KEKW

hollow sedge
#

Lol

#

Regex for emails?

crimson vapor
#

don't require emails yet

hollow sedge
#

Oh

crimson vapor
#

emails coming on rewrite

#

which I just started on

hollow sedge
#

Nice

crimson vapor
hollow sedge
#

I don't understand, what is the service you are offering?

#

For people to need to create accounts

crimson vapor
#

host images basically

hollow sedge
#

I thought you said you were using sharex

crimson vapor
#

yea I use sharex to take the pictures

lusty quest
#

would be nothing for me. taking the risk of getting sued for storing certain stuff

hollow sedge
#

oh I see what's going on

crimson vapor
#

yeah but like

hollow sedge
#

Yeah I agree

crimson vapor
#

just don't save images

hollow sedge
#

You got to encrypt that stuff

crimson vapor
#

encrypt what stuff?

#

the files?

hollow sedge
#

Nvm it's accessible to anyone

outer perch
#

I know how to make a working and decent website, but my design is always shitty. What should I do? ๐Ÿ˜ฆ

lusty quest
#

you still can get sued if someone uploads CP even if its encryped

hollow sedge
#

Yeah I see how security isn't really a priority here

#

I think it works like imgur

earnest phoenix
hollow sedge
#

I don't think you can get sued for what users upload

#

But you might get sued for not doing anything about it..?

crimson vapor
#

its one thing to not know and its another to not delete it after knowing

#

imo

lusty quest
#

youtube where facing a ton of Copyright Claims bcs of how users uploaded stuff (in the EU, read about Article 13)

outer perch
hollow sedge
#

Learn CSS

crimson vapor
#

practice

lusty quest
#

pay someone

outer perch
#

I know CSS

crimson vapor
hollow sedge
#

Then take a web design course

#

Something like that

tulip ledge
#

how do I check if something is undefined?

hollow sedge
#

What I like to do is look at other websites and see what they do

lusty quest
#

js?

outer perch
earnest phoenix
crimson vapor
#

so just practice then

#

lmao

mellow kelp
#

oh, you like html? name every tag

earnest phoenix
hollow sedge
#

you can make your own :)

earnest phoenix
#

i did : )

outer perch
hollow sedge
#

I mean you can make your own tags in html

earnest phoenix
#

oh shit XD

mellow kelp
#

dang

earnest phoenix
#

forgot about that

crimson vapor
#

opera

#

nice

lusty quest
#

ohh you like colors name every single color in Adobe RGB Color space

crimson vapor
earnest phoenix
hollow sedge
#

Those colors don't all have names :(

outer perch
#

the problem is Responsivity

earnest phoenix
#

ye

hollow sedge
crimson vapor
dawn summit
#

Is there a developer that's free?

outer perch
#

I'm baf at that

crimson vapor
outer perch
dawn summit
#

Are you a bot developer?

dawn summit
outer perch
#

so what is it

earnest phoenix
#

ive been mainly working on backend rather than front end, as i gotta make sure apache2 and cloud flare work like the children that they are

dawn summit
outer perch
#

no no no

#

wait

hollow sedge
#

Responsive design has gotten easier for me over time

#

I don't really need media queries

outer perch
#

you're tryna get someone to code for you, for free?

dawn summit
#

No

outer perch
#

ah k

dawn summit
#

I mean my friend needs a bot

earnest phoenix
outer perch
#

let me ask again

quartz kindle
#

So basically the same thing

hollow sedge
dawn summit
#

Yes.

outer perch
#

you're tryna get someone to code for someone, for free?

#

ain't gonna happen

dawn summit
#

Oof.

hollow sedge
#

yeah

earnest phoenix
#

๐Ÿ˜‚

hollow sedge
#

That's not how it works

lusty quest
#

can recommend to look on pages like fiverr

outer perch
#

no one codes for free

hollow sedge
#

Yeah fiverr is good

dawn summit
#

Ok.

outer perch
#

even if it's just a function to print 5

#

๐Ÿ˜‚

earnest phoenix
#

stackoverflow LUL

quartz kindle
#

Make a program that outputs 5 and charge 30 bucks for it

lusty quest
#

write it in some isoteric language if they forget to add one spezification for it

hollow sedge
#
def five():
    print("5")
hollow sedge
#

Oh I just proved you wrong

#

Get owned

outer perch
earnest phoenix
hollow sedge
#

You said make a function you didn't say to call it

crimson vapor
#
printFive() {
  console.log(5)
}```
earnest phoenix
crimson vapor
#

node based storage

#

like

#

sub-server

manic cairn
#

is that mongodb

hollow sedge
#

It should be called logFive

crimson vapor
lusty quest
#

yes its mongo

manic cairn
#

ah ok

hollow sedge
#

If you call it printFive it could mean open the print dialog to a page with 5 on it

earnest phoenix
hollow sedge
#

boob funny??

earnest phoenix
#

ye big funny

ivory seal
#

can u have 0 filters on a message collector?

crimson vapor
#
while (true) {
  if(Math.random > .9) {
    console.log(5)
    return;
  } else return;
}```
crimson vapor
earnest phoenix
ivory seal
hollow sedge
crimson vapor
#

FUCK

#

spelling mistake

crimson vapor
hollow sedge
#

Lol

#

Have fun fixing that

#

Probably won't be that hard tbh

crimson vapor
#

its not

hollow sedge
#

Just have to iterate over your current documents

crimson vapor
#

nah

#

1 doc

hollow sedge
#

Lol

#

Ok

hollow sedge
#

Oh I see

earnest phoenix
#

someone gimme an audio or video file that has no name i wanna continue to test my audio recognition but i ran my memes folder empty ๐Ÿ˜‚

crimson vapor
#

its gonna be poggers when its finished

hollow sedge
#

But files must have names

crimson vapor
#

they do have names

earnest phoenix
hollow sedge
#

oh

#

I didn't know you could see that gui with any DB in mongo

#

That's cool though

crimson vapor
#

wdym

hollow sedge
#

like I thought that was only atlas

crimson vapor
#

oh

#

nah its localhost

#

its epic

hollow sedge
#

MongoDB's interface looks so good tho

crimson vapor
#

my atlas is so fucked

#

like 10000 different collections

slender thistle
#

MongoDB Compass is uwu

crimson vapor
#

very

earnest phoenix
#
Command used in: GACHI PARTY by: Nice Cock

why the fuck

hollow sedge
#

Lol

#

Why is that highlighted

earnest phoenix
#
```python
crimson vapor
#

python was used

#

you can have discord speak the message

earnest phoenix
#

swag

#

shite tts is turned off

hollow sedge
#

Obviously

crimson vapor
#

yo

earnest phoenix
#

XD

crimson vapor
#

I need some big brain

lusty quest
#

?

crimson vapor
#

how should I link a file to a domain?

hollow sedge
#

Why barnie

earnest phoenix
#

mega brain

hollow sedge
crimson vapor
#

like

lusty quest
#

custom domain?

crimson vapor
#

yes

#

like million.is-a.computer has access to X files and not-million.is-a.computer has access to Y files?

hollow sedge
#

Can't you just redirect it to your own

crimson vapor
#

hmm

lusty quest
#

well make the user a domain redirect to an IP that relays the traffic to your server

dawn summit
#

Anyway, my friend gave up of his bot suggestion.

hollow sedge
#

And control access based on domain there

crimson vapor
#

no I mean

#

idk how to explain

#

but

#

million.is-a.computer/file1.png -> 200
not-me.is-a.computer/file1.png -> 404

#

makes sense?

hollow sedge
#

404 is the wrong error for that though

lusty quest
#

listen to all subdomains

crimson vapor
#

the domain part isnt an issue

#

I just need the backend to work

lusty quest
#

so you want to bind the file to a domain

hollow sedge
#

Pretty sure it's authentication not, not found

crimson vapor
#

yes

#

exactly

#

404 would be not found

hollow sedge
#

Just add a domain field to images

crimson vapor
#

should I link files to users or domains?

earnest phoenix
crimson vapor
#

or both?

hollow sedge
#

Probably users

#

So they can change their domains

crimson vapor
#

hmm

hollow sedge
#

Also I think it would be a 405: Method not Allowed error

crimson vapor
#

umm

crimson vapor
#

for me I want 404 since its really not there essentially

hollow sedge
#

But it's legit 405

crimson vapor
#

shhh

lusty quest
#

404 would be fine.

hollow sedge
#

Anything is fine

lusty quest
#

with 405 you could find other domains and possible attack points

hollow sedge
#

I don't see how

crimson vapor
#

should I do subdomains.join('') + fileID for the ID so I can just check the subdomains

lusty quest
#

404 could be a non existing subdomain.
with 405 you know there is something running on the subdomain

hollow sedge
#

And what can you do with that info

crimson vapor
#

@earnest phoenix you gonna speak?

#

basically I need it to not do like 100 DB requests as well as decern from 1 file on 1 subdomain and another file on another subdomain

hollow sedge
#

What

earnest phoenix
#

I am not gonna speak, I'm simply just interested in what you guys are working on

crimson vapor
#

edited message

hollow sedge
#

You can link users to their subdomains

#

Barnie why

#

You need some help

earnest phoenix
#

Rn?

#

no

lusty quest
#

regretting life decisions, and trying to make a new one on should i switch to C# and if i should start over with a small Dashboard for my Bot that is currently listed on top.gg

earnest phoenix
#

this is my first time with nitro xD

hollow sedge
#

Uh I don't think that translates well to non-native speakers

earnest phoenix
#

my native language is spanish

hollow sedge
#

Starting over? I would only do that if that's absolutely necessary

#

How would switching to C# help though

hollow sedge
lusty quest
#

this are 2 different things

#
  1. Learning more C# and recode my bot in it.
  2. Scraping my currently non existing dashboard and rewrite it in a different way
hollow sedge
#

Learning is always worth it :)

#

And rewrites usually do help because you have a clear image of what you want and how to achieve that

lusty quest
#

yea but its painfull to rewrite the bot bcs there is stuff currently aviable on my current bot where i have no idea if i can implement them in C#

hollow sedge
#

You can do anything in any language if you look hard enough

tulip ledge
#

Can someone please explain cuz I think my brain comitted suicide why this if statement still runs even when candidateProfile["members"][this.uuid]["experience_skill_combat"] logs undefined?

    for(const candidateProfile of this.data["profiles"]) {
      if (candidateProfile["members"] && candidateProfile["members"][this.uuid] && typeof candidateProfile["members"][this.uuid]["experience_skill_combat"] !== 'undefined' && candidateProfile["members"][this.uuid]["experience_skill_combat"]>profileCombat) {
        try {
          this.profile = candidateProfile["members"][this.uuid]
          profileCombat = this.profile["experience_skill_combat"]
        }
        catch(e) { wait(50) }
      }
    }
lusty quest
#

its probably possible but last time gave me already headache

hollow sedge
#

Yeah it's good to research ways of doing something before attempting it too

#

That way you know exactly what you're trying to do and possible ways to do it

hollow sedge
tulip ledge
#

I can't

#

it works with an API

#

It needs to be like that

hollow sedge
#

No it doesn't

tulip ledge
#

as people can disable certain parts of the api

hollow sedge
#

Ok but you arent sending a new query just by getting the value of a key

#

(unless you are in which case that would be pretty bad)

tulip ledge
#

wdym

#

I already have the data

#

this.data["profiles"]

hollow sedge
#

I don't think you understand

#

You're going like 5 levels deep

lusty quest
#

would it not be easyer to see what you get as a result and then work with it instead of having a stupidly long line of code

tulip ledge
#

wdym?

#

My brain actually died

hollow sedge
#

Instead you can just do something like this:

member = candidateProfile["members"][this.uuid]
tulip ledge
#

no no no

#

It's not like that

hollow sedge
#

And reference it

tulip ledge
#

A user has multiple profiles, I need the profile that has the most combatXP

hollow sedge
#

Then why is it called members?

#

Naming is messed up if that's true

tulip ledge
#

no

#

a profile has multiple members

#

one of wich is the user

hollow sedge
#

Then why is it called "candidateProfile"?

tulip ledge
#

because there are multiple profiles and I need to find one wich has the most combat xp

#

the code works if all API's are enabled on all profiles

hollow sedge
#

Ok I think I sorta understand now then

tulip ledge
#

but if 1 profile's API is disabled

#

It just dips

hollow sedge
#

But yeah you should show the output

lusty quest
#

you maybe could use ? inside your chaining

tulip ledge
#
      console.log(typeof candidateProfile["members"])
      console.log(typeof candidateProfile["members"][this.uuid])
      console.log(typeof candidateProfile["members"][this.uuid]["experience_skill_combat"] !== 'undefined')

return this:

object
object
false
object
object
true
#

But it still takes the first profile

#

where typeof candidateProfile["members"][this.uuid]["experience_skill_combat"] is undefined

lusty quest
#

how did you literate over the json or whatever the api returns?

tulip ledge
#

wdym?

#

The api returns a JSON object with the user's profiles

hollow sedge
#

Because you're using this.profile?

tulip ledge
#

I saved the data to this.profile

crimson vapor
#

loggers

#

im so fucking stupid

tulip ledge
#

loggers

crimson vapor
#

loggers

#

it worked

tulip ledge
#

Sooo no one knows how to fix my issue?

crimson vapor
#

im not sure what your issue is tbh

hollow sedge
#

Try !candidateProfile["members"][this.uuid]["experience_skill_combat"] instead of the typeof !== check

tulip ledge
#

Already tried it but I'll try again

hollow sedge
#

It's a better check anyway

tulip ledge
#

nope

#

still he same

#

(node:60168) UnhandledPromiseRejectionWarning: Response: Internal Server Error

#

I got this

jovial nexus
#

Does someone know a guide for storing a timeouts on mongo?

crimson vapor
#

timeouts?

jovial nexus
#

emm

#

like tempmutes or tempbans

crimson vapor
#

oh

#

im not sure the best way no

jovial nexus
#

when the bot restarts the tempban resents and dont unban, so i want to store it in a db

#

if sonmeone know please mention me

hollow sedge
#

What's wrong with setTimeout

crimson vapor
#

cache

#

hello @spice pier

hollow sedge
#

How do big bots handle that stuff though?

spice pier
#

hey

hollow sedge
#

Do they just run a script every minute or something

crimson vapor
#

cache

jovial nexus
#

idk, but my bot restarts

#

a lot

hollow sedge
#

Cache tempbans and mutes?

crimson vapor
hollow sedge
#

^

jovial nexus
#

whats that?

hollow sedge
lusty quest
#

a database for temporary stuff

#

you can set a TTL for entrys that will trigger a Event you can listen for

crimson vapor
#

you can store timestamps as when things should finish in mongo and on bot start query all of them and cache them all

hollow sedge
#

Wait you can trigger events on expiration?

lusty quest
#

yes

hollow sedge
#

How did I not know that

jovial nexus
#

and its stored localy or remotly?

hollow sedge
#

whichever you want

lusty quest
#

you can run a local redis server

#

there are free aviable redis server

#

they are remotely

hollow sedge
#

They don't have that much storage capacity though

jovial nexus
#

idk whats wrong with my vps but wont let me store a local db

lusty quest
#

well you should not use Redis as a main Database

hollow sedge
#

Doubt

#

What's your VPS

lusty quest
#

did you use any free VPS?

crimson vapor
hollow sedge
#

Yo that's actually really cool

#

Is there a reason that it has to be stored under stats though

crimson vapor
#

cleaner doc

jovial nexus
#

bruh google cloud

crimson vapor
hollow sedge
#

You should be able to use a local db

lusty quest
#

they offer a free vps lol

#

sure only in the US with next to no compute power but you can run a small bot on it

hollow sedge
#

Yeah but it's google cloud

lusty quest
#

they allow everything you can run on Linux

jovial nexus
#

google kinda sucks

lusty quest
#

probably no crypto miner but i guess you get the point

hollow sedge
#

Google cloud has databases

lusty quest
hollow sedge
#

Dunno if those are free though

quartz kindle
#

Which google cloud product?

jovial nexus
#

im not the one of my developmen team that manteins the vps

#

so

quartz kindle
#

Compute engine or app engine?

hollow sedge
#

I think their comment above answers that

#

You could ask though

#

@jovial nexus

jovial nexus
#

humm

#

@tawdry oracle ??

hollow sedge
quartz kindle
#

:D

#

Mine will lose like 20% of its members

jovial nexus
#

wdym?

hollow sedge
#

That's pretty good though

lusty quest
#

i think i loose maybe 40%

eternal osprey
#

hey

hollow sedge
#

Oh that looks nice

#

But the text at the top is hard to read

lusty quest
#

nvm i loose around 30%

eternal osprey
#

yeah but i haven't found a solution for that

jovial nexus
#

why do you say that??

#

what did i loose

hollow sedge
#

Just tone down the colors

hollow sedge
tawdry oracle
hollow sedge
jovial nexus
#

what vps do we use

tawdry oracle
#

google

hollow sedge
#

๐Ÿคฆ

jovial nexus
#

are you stupid?

lusty quest
#

they offer different type of VPS

eternal osprey
tawdry oracle
#

aaahh

#

compute engine

lusty quest
#

should be able to run local Databases

tawdry oracle
#

are you going to changue it again?

jovial nexus
#

wha

lusty quest
#

he asked for a solution to keep Temp bans over restarts. i suggested using Redis

hollow sedge
#

You could just use the Google cloud databases

#

They have redis

tawdry oracle
#

redis sounds cool i guess

lusty quest
#

its nice

tawdry oracle
#

sounds like reddit so

hollow sedge