#development

1 messages ¡ Page 109 of 1

hushed robin
#

should i explain what i'm trying to achieve

#

yes

boreal iron
#

ok

#

what data you wanna show? anything with a timestamp from the last 2 hours (max)?

hushed robin
#

no

quartz kindle
#
SELECT type, value, timestamp, ((value - value) / value) * 100 AS percentage_increase from history WHERE timestamp > (NOW() - INTERVAL 2 HOUR) ORDER BY percentage_increase DESC;
hushed robin
#

i already know how to do that

#

basically

#

i want to compare the last two hours

#

get the percentage increase

#

and list it by the highest increase

#

as i want to add a trending section

quartz kindle
#

also

#

In SQLite, there isn't a function called the now function, but rather "now" is a timestring parameter that is used in various SQLite functions to retrieve the current date and time. This may seem a bit confusing at first, since other SQL databases have a built-in function whose purpose is to return the current date and time. SQLite does this differently.

quartz kindle
#

chatgpt gave you code for mysql, not for sqlite

boreal iron
#

This may seem a bit confusing at first

hushed robin
#

ok

#

so why give incorrect code

#

🙁

#

imma ask chat gpt to fix it

quartz kindle
#

lmao

#

you really think AI is supposed to be accurate at coding?

lyric mountain
#

Imagine knowing how to ask proper questions

hushed robin
#

The error in the SQL statement is caused by the use of the "INTERVAL" keyword. This keyword is not supported by SQLite. Instead, you can use the "DATETIME" function to subtract two hours from the current time.

#

is this right or wrong

quartz kindle
#

its probably not wrong, but thats not all of it

hushed robin
#

ok

quartz kindle
#

NOW() is also not supposed

hushed robin
#

no errors

#

but it spits out nothing

#

returns 0

boreal iron
#

man... sqlite is dogshit

hushed robin
#

no

#

i like sqlite

#

very fast

boreal iron
#

well then use what u used at first again

#

WHERE timestamp > DATETIME('now', '-2 hours')

hushed robin
#

ok

#

chatgpt may have fixed it

#

it started spitting out a lot of data

#

but idk if it's correct

#

lemme see

boreal iron
#

well tim already posted the query string

#

except the fact u need to replace the where clause

#

as I wrote

hushed robin
#

it didn't work

#

chatgpt fixed

#

tbh

#

i don't think it works properly

#

no way 370 -> 401 is the highest percentage increase

queen rover
#

@lyric mountain Do you know what could be wrong? Although, literally, the console does not tell me anything.

//Message intent is on.

const client = new Discord.Client({
  partials: [User, Message, GuildMember, ThreadMember],
  intents: "3276799"
});

//I use CommandHandler.

client.commands = new Collection();

for(var archi_helps of archivos_helps){
  let command = require("./commands/helps/"+archi_helps)
  client.commands.set(command.nombre, command)
}
let archivos_helps = fs.readdirSync("./commands/helps").filter((f) => f.endsWith(".js"))

//prefix part.

client.on("message", async js => {
  if (js.author.bot) return;
  let prefix;
  if(prefix_db.tiene(`${js.guild.id}`)) {
    prefix = await prefix_db.obtener(`${js.guild.id}`)
  }else if(js.author.id == "Hidden xd") {
    prefix = "dev." || "ya!";
  }else{
    prefix = "ya!";
  }

  if(!js.content.startsWith(prefix)) return;
  
  let args = js.content.slice(prefix.length).trim().split(/ +/g);
hushed robin
#
SELECT id, type, value, timestamp, ((value - value) / value) * 100 AS percentage_increase 
FROM history 
WHERE type = 'playing'
AND timestamp > strftime('%s', 'now', '-2 hours') 
ORDER BY percentage_increase DESC
LIMIT 10;
#

this is the query

queen rover
#

I clarify that, I have the dependencies that are seen in that code, in addition to discord.js, etc. So there is no margin for error in that aspect (I guess.)

lyric mountain
#

Why are ur db methods spanish?

queen rover
lyric mountain
#

Put a console.log("here") (replace "here" with something unique) after every step

boreal iron
lyric mountain
#

See which one is the last to be logged

#

Alternatively, use a debugger

boreal iron
#

without seeing the data

lyric mountain
#

I see

queen rover
#

Well, before, it worked for me... since that package is in Spanish, however, I haven't updated it for a long time, and now that I've updated it, it may have changed... although it didn't give me any kind of error.

lyric mountain
#

But they blocked me so they wouldn't even read my message

queen rover
#

Oh

#

okay

lyric mountain
#

Don't mean u

queen rover
#

Sorry hehe

lyric mountain
#

Put a bunch of console.log inside that event

#

So you can know where it stops

lyric mountain
#

Without quotes it'll use the internal value instead

queen rover
hushed robin
#

'\

hushed robin
topaz terrace
#

idk any python, this is my first time using python
when i type "python" to check if i installed python correctly on my computer, it redirects me into microsoft store python
how do i fix it?

earnest phoenix
#

iirc it's py when you install via store

topaz terrace
#

what

#

at first i install it on microsoft store

#

after that

#

i uninstalled it 💀

earnest phoenix
#

then set your env var correctly if you haven't installed via the store, should be fine after that

#

this is my first time using python
but has a year old installation of PyCharm THThisIsFine

topaz terrace
#

oh

topaz terrace
#

i usually use nodejs

#

i wanna try out something new, decided i wanna try to do python code

earnest phoenix
#

why'd you even have pycharm installed for a year

topaz terrace
#

i forgot

#

why i installed pycharm

earnest phoenix
topaz terrace
#

wait

#

how do i even run a python file

earnest phoenix
#

python <file>

topaz terrace
#

oh

#

time to google stuff

#

how do i know which packages i have installed on the directory in python

earnest phoenix
#

python -m pip list

topaz terrace
#

where can i learn about python

earnest phoenix
#

internet

#

blog posts, websites, courses, python docs, etc.

sudden geyser
sharp geyser
#

@earnest phoenix thanks for the help on the clang thing btw

#

It ended up working

#

<3

neon leaf
#

what website o you guys recommend for public translations?

earnest phoenix
#

Crowdin or Weblate

neon leaf
#

thanks

earnest phoenix
#

Or just make your own platform gigachad

neon leaf
#

I suck at ui design so I doubt thats an option

earnest phoenix
#

Can also use basic github PRs

#

As crowdin & weblate & other services are paid

#

Weblate can actualy be self hosted

neon leaf
#

ooh, nice

earnest phoenix
#

Crowdin's free plan has limitations obviously

jaunty basalt
#

Hey can anybody please give some simple command ideas for my discord.js v14 bot?

earnest phoenix
quartz kindle
#

the answer is always yes

#

/swearinpolish

#

the answer is random polish stuff like kurwa jebana

jaunty basalt
#

Any other? (normal & simple)?

boreal iron
undone rose
#

Any of yall know why node-canvas may produce differing results depending on the machine its running on? Got two machines, my Windows 11 dev computer, and my Windows Server computer. Text renders perfectly on my dev computer, but when being rendered on my home server, the text is all shifted, aside from the text using a system font.

#

Im not sure its using the correct font but it looks too close to what I want to tell

#

Font is a custom .otf font that is installed on the machine and is being registered correctly in canvas

deft wolf
#

It really depends on what your bot specializes in. If you don't have an idea for a bot, you need to take a direction because adding everything you come up with to the bot is probably not a very good idea

lyric mountain
#

windows likes to fuck up fonts

undone rose
#

Ah, thats kinda annoying that it differs even between Windows versions

#

Ez fix but still

lyric mountain
#

idk if it's possible in canvas, but in java I can transform text into glyphs and have the pixel-boundary of it

#

certainly helps dealing with non-uniform ascend/descent (which doesn't happen in java tho)

civic geyser
#

hello

wooden oak
undone rose
#

Yeah Im just gonna have to change the coordinates for the placement. The text fits within its bounds and scales correctly, its just weird about where to put the text

lyric mountain
wooden oak
#

After effects?

earnest phoenix
#

THERE ARE PROBABLY TEMPLATES BECAUSE EVERYONE USES THE SAME BORING GIFS

lyric mountain
undone rose
#

Fivver

wooden oak
#

OK I'LL MAKE ONE

earnest phoenix
lyric mountain
#

even blender, but it'd be overkill

#

do note tho, such gifs are horrible to read

civic geyser
#

hi

earnest phoenix
#

that template is also available on the internet

#

i saw it once

hushed robin
#

was very annoying

wispy python
earnest phoenix
#

the link that is shared among all turkish yardim bot developers ^

sudden geyser
#

please don't unironically do that

rustic nova
#

I've seen enough bots with that type of banner, still gives me PTSD from reviewing

earnest phoenix
#

No

#

Other than listening to a message sent, you can't specifically listen to a message by a webhook by its URL or whatever

#

A message object has a webhook ID if it was sent by a webhook, use that

eternal osprey
#

what the fuck is this

#

isText is not even coming from my code but the actual node_modules folder

hushed robin
#

fixes that issue

eternal osprey
#

owh damn is v13 already deprecated no way

#

i meant broken

hushed robin
#

no

#

v13 is not deprecated yet

eternal osprey
#

tf why is it giving me this issue then

hushed robin
#

you can upgrade to the latest version of v13 or v14

eternal osprey
#

oowh

hushed robin
#

for v13 it's v13.14.0

eternal osprey
#

does it change anything in the general structure?

hushed robin
#

no

eternal osprey
#

alright thanks bro

limber siren
#

Hello, I need help I am creating a discord.js V14.5.0 discord bot and I wanted to create a button so I did but when I interact with the button it's giving me some strange error.

Interaction.create event code:

if (interaction.isButton()) {
    // Handle the button click
    if (interaction.customId === 'primary') {
        // The 'example-button' was clicked
        await interaction.reply('You clicked the button!');
    }
}

/button code:

const row = new ActionRowBuilder()
          .addComponents(
            new ButtonBuilder()
              .setCustomId('primary')
              .setLabel('Click me!')
              .setStyle(ButtonStyle.Primary),
          );
    
        await interaction.reply({ content: 'I think you should,', components: [row] });

The Error:

if (channel && !channel.isTextBased()) return;
                                ^

TypeError: channel.isTextBased is not a function
    at InteractionCreateAction.handle (C:\node_modules\discord.js\src\client\actions\InteractionCreate.js:46:33)
    at module.exports [as INTERACTION_CREATE] (C:\node_modules\discord.js\src\client\websocket\handlers\INTERACTION_CREATE.js:4:36)
    at WebSocketManager.handlePacket (C:\node_modules\discord.js\src\client\websocket\WebSocketManager.js:352:31)
    at WebSocketShard.onPacket (C:\node_modules\discord.js\src\client\websocket\WebSocketShard.js:481:22)
    at WebSocketShard.onMessage (C:\node_modules\discord.js\src\client\websocket\WebSocketShard.js:321:10)
    at callListener (C:\node_modules\ws\lib\event-target.js:290:14)
    at WebSocket.onMessage (C:\node_modules\ws\lib\event-target.js:209:9)
    at WebSocket.emit (node:events:513:28)
    at Receiver.receiverOnMessage (C:\node_modules\ws\lib\websocket.js:1184:20)
    at Receiver.emit (node:events:513:28)

Please can someone help me 👍

hushed robin
limber siren
#

oh ok thanks what a dummy 🤦‍♀️

hushed robin
#

lol

limber siren
# hushed robin lol

Hello, I wanted to ask you another question I am creating a channel and setting the permissions on the channel.

code:

        interaction.guild.channels.create({
          name: 'quizchannel',
          type: ChannelType.GuildText,
          permissionOverwrites: [
            {
              id: interaction.guild.id,
              deny: [PermissionsBitField.Flags.ViewChannel],
            },
            {
              id: interaction.user.id,
              allow: [PermissionsBitField.Flags.ViewChannel],
              allow: [PermissionsBitField.Flags.ManageChannels],
            },
            {
              id: clientID,
              allow: [PermissionsBitField.Flags.ViewChannel],
              allow: [PermissionsBitField.Flags.ManageChannels],
            },
          ],
        })

But the default view channel is denyed and that's working but the interaction.user.id is not so its really confusing.

Pics:

hushed robin
#

idk

lyric mountain
#

if anything, check docs

limber siren
#

I have I did exactly what's on it

#

what do you mean ()

lyric mountain
#

is the version exactly the same?

lyric mountain
hushed robin
#

that's an issue with discord.js itself

#

you need to upgrade to fix it as i said

#

but idk about your new issue everything looks fine

limber siren
#

no i fixed that issue @hushed robin helped me

hushed robin
#

w me

rigid folio
#

Idk

wheat mesa
#

Why not look at all of them and take small bits of inspiration from each? It’s kinda boring if you just straight up “copy” another site’s look

#

I know but often times “inspiration” means a similar look and feel

#

You should look at sites for ideas but I wouldn’t try to look at any one specific site to gather inspiration from

#

I would suggest looking over what aspects of their design each make them unique and interesting and create your own look that builds off of those aspects

#

These sites seem to be mostly minimalist, aim for minimalist if you like that style

#

They’re pleasing to look at without cluttering your vision with flashy things

#

None of them look the best because they’re all slightly different styles

#

I think you’re missing the point that they’re all good in their own way

#

You like the minimalist style, being concise, and having a simple yet visually appealing color scheme

#

Perhaps

#

I’m not big into frontend so I can’t speak for those types of things

rigid folio
#

Wut

brisk light
#

So newbie here i created a verification bot in python that uses / commands but no / commands are showing someone said / commands can take upto 6 to 12 hrs and it need to be signed? I got understand why is it not working can someone tell me in simpler terms-?

earnest phoenix
#
  1. they don't take up to 6-12 hours to register, that was before (even before it was fast/closer to 20 minutes/1 hour) and now it's instant
  2. they don't need to be signed whatsoever, all you have to do is send a request to Discord with information regarding the slash command, which is most likely done by the library you're using
#

You most likely have something wrong in your code and can get help if you post your code, for example one slash command you've created and how you sync/post the commands

brisk light
earnest phoenix
#

As said, it's most likely done by the library you're using

#

Until you share code for us to help you, can't really do anything

earnest phoenix
#

There are no slash commands there

#

You're just listening to on_message events

brisk light
#

Well fk me thanks!

earnest phoenix
#

Examples mainly use cogs but shouldn't be too hard to just the same code without cog

earnest phoenix
#

Looks better, still need to sync the slash commands though

brisk light
earnest phoenix
#

No, like shown in the gist bravemmlol

brisk light
earnest phoenix
brisk light
#

What does group mean

civic scroll
#

hi i was sleeping

civic scroll
next storm
#
Timeout for: 5167
Limit: 5
Methods: patch
Path: /channels/1046346065256906843/messages/1091627031990648933
Route: /channels/1046346065256906843/messages/:id
Global: false``` what's this ratelimit for?
rustic nova
#

Patch sounds like editing a message

crystal wigeon
#

Hey, okay so, Im trying to send a message in a channel in all the guilds my bot is in, Im able to fetch all the guilds using the guilds api, and the channels api, but how do i check if my bot has perms to send message in a channel

earnest phoenix
#

Pretty sure you already got told countless times bravemmlol

deft wolf
#

Can't you just send a message and catch an error saying that the bot doesn't have permission to send messages on the channel?

earnest phoenix
#

Example here

crystal wigeon
#

ngl, still confused about the perms part,

#

aha

earnest phoenix
#

Other example here, that's just the lazy way

crystal wigeon
#

i missed this message

#

so i gotta fetch roles, member roles demm

undone rose
#

no

crystal wigeon
#

then?

#

im trying to do this via the api and not djs client

undone rose
#

Just catch the error when your message doesn't get sent lol

#

Also, why don't you use webhooks instead

crystal wigeon
#

facepalm thats not right lol

undone rose
#

This is what they are for

crystal wigeon
#

ic

#

webhooks

#

lemme look into that

crystal wigeon
undone rose
#

It's creating a webhook and posting to that webhook

crystal wigeon
#

but that webhook is uh connected to a channel it says?

deft wolf
#

Yes

earnest phoenix
#

You create a webhook in a channel, yes

crystal wigeon
#

basically a proxy

earnest phoenix
#

That webhook can only send messages in that channel

#

No basically a webhook

crystal wigeon
#

ic

earnest phoenix
#

That's the principle of what a webhook is

crystal wigeon
#

gotcha, thanks

#

mmmm, my use case here is different but i see how this can be useful

earnest phoenix
#

Figma

#

"Figma".replace("F", "L")

civic scroll
#

yes

#

not just frontend

#

but any kind of graphic

earnest phoenix
#

I don't design I just code

#

Because my designs never look the same as the code

#

And the code is much shittier

#

I design in my head and end up editing lots of things lots of times

#

ikr

#

tbh is sucks ass

#

that's why i'm also not a frontend dev smart

civic scroll
#

no

earnest phoenix
#

mdx yes

civic scroll
#

just make it use monospace fonts

#

ez

earnest phoenix
#

and not going back trollStare

civic scroll
earnest phoenix
#

I could get back to some monospaced font

#

The issue is that none looks good/smooth

#

Tried Source Code font or whatever it's named

#

Not cool

civic scroll
#

spam jetbrains mono

earnest phoenix
#

hell no

#

monolisa > *

neon leaf
#

does anyone know sequelize well? I want to make it so a server can have many users & a user can have many servers, a server has a users field which should be all users that did something on that & a user has a servers field for the same

quartz kindle
#

what are the contents of the users inside server and servers inside user?

#

only the id, or something else?

neon leaf
#

a user has id, name, discriminator, avatar, authToken, refreshToken, accessToken

#

a server has id, name, icon

quartz kindle
#

but like

#

user has servers and server has users/members right?

#

and inside that, its only ids?

#

or something else

neon leaf
#

I dont have anything yet, I dont know how it should be done

quartz kindle
#

because if its only ids then you can create a table mapping one to the other

#

for example

#
// users
1, name, discriminator, avatar, authToken, refreshToken, accessToken
2, name, discriminator, avatar, authToken, refreshToken, accessToken
3, name, discriminator, avatar, authToken, refreshToken, accessToken

// servers
1, name, icon
2, name, icon
3, name, icon

// servermap
1, 1
2, 2
2, 3
3, 1
3, 2
3, 3
``` somethinglike that
#

in the server map both columns should be indexed but none should be unique

#

that way you can fast query stuff like "all servers in user id 1" and also "all users in server id 1"

neon leaf
#

ah

#

and should the id be an auto increasing number or the actual server id as bigint?

quartz kindle
#

the actual server id

#

i mean, you can use another auto incrementing id as the primary key

#

but thats only useful if you need to query stuff by creation/insertion date

#

or by insertion order

#

if you dont think you'll ever need that, you can make the id itself your primary key

neon leaf
#

alr

#

works perfectly, thanks!

jovial finch
#

hi ! sorry to disturb, idk if I'm at the right place, but I've got a problem with the kvote in the karuta server / game... can I ask some help to anyone ? thank you and have a nice day / evening ☆

cedar thicket
#

Guys, i am from italy (where ChatGPT got banned) and i wanted to ask you a thing, if in italy ChatGPT got banned, also my APIkey got banned? Because i can't use my ask-gpt command on my bot

gaunt echo
quartz kindle
#

also yeah, the ban should only affect you if you're running your bot from home or from an italian server

cedar thicket
#

I don't know where are Replit servers

#

But 100% not in Italy, haha

gaunt echo
bronze yoke
#

Hi does someone know or can make a bot that can see how many twitch points a user has on twitch and show it in discord?

deft wolf
#

I would probably start by reading the twitch api documentation first

bronze yoke
#

Yea I found that there is a way but I ain't the best programmer

quartz kindle
#

oh god another tim

bronze yoke
#

moehahaha

lyric mountain
#

not including hosting cost + maintenance

hushed robin
#

theres no way to fetch a users channel points

lyric mountain
hushed robin
#

what are you doubting

lyric mountain
hushed robin
#

unless it’s undocumented it doesnt exist

lyric mountain
#

literal official source

hushed robin
#

doesnt say you can fetch a users channel points

#

and neither does the docs

#

not sure what your doubting

lyric mountain
#

apparently that's covered in their ToS

hushed robin
#

did you find the non existent endpoint?

lyric mountain
#

fuck you

hushed robin
#

😱

#

lmao

#

your always so quick to doubt me

#

😂

lyric mountain
#

at least I have the maturity to know when I'm mistaken

#

differently to your underdeveloped brain

hushed robin
#

yes your wrong

#

Im right

lyric mountain
#

didn't u block me btw?

hushed robin
#

w me

#

yes

#

i did

quartz kindle
#

this gives you the points

#

if i understand correctly

lyric mountain
#

it's regarding the channel itself, instead of the users

#

like, point rewards

hushed robin
#

^

#

i dont believe theres a way tbh i even saw a forum and another guy said theres no way

lyric mountain
#

there IS a way, just not without breaking their ToS

hushed robin
#

very good way

#

why not break it

lyric mountain
#

also there is a way that'll get an estimate of how many points an user has (without breaking tos)

#

what there isn't is a precise and legal way

hushed robin
#

so it can be wrong which probably isnt ideal

lyric mountain
#

but it is a way

hushed robin
#

true

#

whats the way

lyric mountain
#

figure it out

hushed robin
#

well no

#

i dont really care was just wondering

#

🚀

wooden oak
#
if (interaction.channel && interaction.channel.type === ChannelType.DM) {
  return interaction.reply({embeds: [dmn], ephemeral: true});
}

Why not responding

wheat mesa
#

No context has been attached with your question

#

Please be more specific

deft wolf
#

Wouldn't it be better to just

if(interaction.channel.isDMBased())

?

wooden oak
#

Ohh

earnest phoenix
#

When sending the identify payload to Discord's gateway, is the intent required for user authentication?

#

Wondering if they handle that for users as well or just bots

lyric mountain
#

the intent is included in the url

#

I think you do need to include it in the exchange payload tho

#

like, after you get the key

earnest phoenix
#

Key?

lyric mountain
#

after the user presses "Authorize" in the oauth2 screen

#

it'll send u the key to exchange for the actual info

#

the token I mean

earnest phoenix
#

Isn't that access token just for the REST API?

pale vessel
#

Why not check the network inspector?

#

It has all the messages and payloads for the ws

earnest phoenix
#

Yeah it doesn't have there iirc, though it doesn't necessarily mean they don't handle it

#

Especially when the token sent is not the user token

lyric mountain
#

for the oauth2 part you already specified the scope in the url

earnest phoenix
#

Yeah but gateway != rest

pale vessel
#

They might ignore the field entirely since it's not a bot token

earnest phoenix
#

It's not a user token either

#

Nevermind

earnest phoenix
#

What would be an optimal way to edit some HTML component, e.g. make it bold, given I get a WebSocket event related to one component based on its ID.

So for example all components are normal text at first, then I get a WebSocket event and want to put the component bold that the even said should be bold.

cc @earnest phoenix if you got some mastermind idea

#

Don't want to iterate because it's absolutely shit

lyric mountain
#

u don't need to iterate if you set ids for them

#

u can also reduce the iteration scope if u put an id on the enclosing component so you can do a targeted iteration

earnest phoenix
#

So iterating can't really be removed or what

lyric mountain
#

ids are O(1), no iteration involved

earnest phoenix
#

e.g. the websocket payload is

{
    "id": "1337"
}

I'd need to update the component with ID 1337 only.

Given my components are not saved in an array or whatever, still need to find which one

lyric mountain
#

simply retrieve that component

#

const elem = document.getElementById(theid)

earnest phoenix
#

Not HTML, component may have been a bad name

#

Like yes it's an HTML components but from a class

lyric mountain
#

...?

earnest phoenix
#

Have a Something class

#

That has an ID

#

And need to edit data in that class

#

Which will then be reflected in HTML on its own

#

Bad practice to edit the HTML tag that has the ID of the class

lyric mountain
#

like, of the component in question

earnest phoenix
#

It's just a class, don't have code available at the moment though

#

Just a basic class with ID and text

#

Will then be rendered in HTML with React magic

lyric mountain
#

ah, react

#

you could've said before

earnest phoenix
#

When editing text it reflects on HTML

earnest phoenix
#

Don't want something limited to React

lyric mountain
#

well, if it doesn't have an ID then there's no way to escape iterating

#

but most framework do allow setting ids

earnest phoenix
earnest phoenix
lyric mountain
#

Html iteration is pretty fast yeah

earnest phoenix
#

Even if you need to iterate over let's say 500 classes every 1-2 seconds

lyric mountain
#

500 is nothing and 1s is an eternity

hushed robin
#

whats the chances of sqlite getting corrupted

lyric mountain
#

With you handling it? 95%

#

For anyone else it's <1%

hushed robin
#

🥲

#

is there any free way to backup

#

my database is now passed discord file limits

wheat mesa
#

aint no way he was ACTUALLY using that to backup data

#

that's like

#

a violation of user privacy

grim aspen
#

Please

wheat mesa
#

on so many levels

hushed robin
#

no it's not

grim aspen
#

Wait idk

hushed robin
#

i don't store user data

#

i store data on games

grim aspen
#

Are you trying to use sqllite to compile?

hushed robin
#

no

#

what

lyric mountain
#

Idk why u even care in making a backup for something that's not generated by you

#

Ah wait, I know

hushed robin
#

this is unrelated to the compiling thing

wheat mesa
lyric mountain
#

Because you don't want to bomb steam api again

grim aspen
#

I was referring from his message history

hushed robin
wheat mesa
#

I know but that doesn't even make remote sense 😭

hushed robin
#

why

#

🥲

lyric mountain
#

Loose is the opposite of tighten

hushed robin
#

oh

#

my bad

grim aspen
#

I’m questioning whether or not you’re using chat GPT to help with sql

lyric mountain
#

They are

hushed robin
#

i was, it wasn't really working properly though

#

but what about how i can backup my db?

grim aspen
#

Well first, let’s not use chat GPT

#

Throw that out the window

hushed robin
#

why

#

i'm not too good with sql

grim aspen
#

Because chat GPT isn’t also good with sql

hushed robin
#

ok

#

well it doesn't matter

lyric mountain
#

You generate a dump and tar.gz it

earnest phoenix
hushed robin
lyric mountain
#

It'll generate a dump and make a tar.gz file

hushed robin
#

whats a tar.gz file

lyric mountain
#

Research time

hushed robin
#

true

lyric mountain
#

You'll also need to figure out how to dump a database

#

And where to store

hushed robin
#

Short for Tape Archive, a TAR file is used to store multiple files in one to send over the internet or for archiving purposes. Similarly, the TAR GZ file extension is created when compressing archived TAR files with the GNU zip utility.

#

so does this mean i can send it on discord ?

lyric mountain
#

Doubt it'll be within the allowed size

#

Don't use discord as backup ffs

hushed robin
#

so whats the point of it

lyric mountain
#

Because simply copying the database will include the chance of fucking it

hushed robin
#

ok

#

how do i create one in js

grim aspen
#

please take our words of advice that we are giving you in this channel. Chat GPT WILL NOT WORK. Idk how to get it to you that we are trying to help you and chat GPT isn’t helping. Even I don’t know SQL but that won’t stop me from asking for advice here if I need to. Back when I was new I used to believe that even I knew everything but I was humbled easily by devs who knew more than me. I know it’s hard but I know you can and are willing to understand eventually that what we are giving you is more important for you to use. We all started somewhere and learned to build from the ground up with advice from here.

hushed robin
#

what

#

no need to type so much

grim aspen
#

I feel better now

#

Bro what

hushed robin
#

why are you typing so much

#

it's not that serious

earnest phoenix
grim aspen
#

Ok what language are you mainly using

hushed robin
#

me?

grim aspen
#

Yes

hushed robin
#

javascript

lyric mountain
#

Not mainly, only

#

Afaik they didn't use any other language ever

hushed robin
#

no

#

i've used some other languages

#

just not much

lyric mountain
#

If js is your "much" I'm afraid of what's "little"

hushed robin
#

well

#

i use js a lot

#

wym

wheat mesa
#

1 or 2 projects != "a lot"

#

just sayin

#

there's always a lot to learn

#

that's part of the development cycle

hushed robin
#

i don't only have 1 or 2 projects

#

i have a lot

grim aspen
#

Bro stick to one project at a time

#

It makes it harder to have multiple

rustic nova
#
  • start project
  • work alot on it
  • get depressed over something
  • stop working on it
  • repeat
grim aspen
#

Exactly

hushed robin
#

no

#

i finish

#

then i move on

grim aspen
#

Not what I meant entirely but ok

grim aspen
#

Stick to one project and continue with it

hushed robin
#

well

#

idk what to add onto my previous project

#

i think it's done

lyric mountain
#

Preferably one you start yourself

hushed robin
#

this one i did myself

earnest phoenix
#

my amount of unfinished projects is 3HC_Stonks

grim aspen
#

You know what, let’s just go back to sql

#

For a bit

hushed robin
#

my project that i stole a lot for is rostats

#

but i kinda quit on that

wheat mesa
grim aspen
#

Stole?

hushed robin
#

well not stole

#

just took a lot of code from online

grim aspen
#

Average dev

hushed robin
#

idk what to add

grim aspen
#

Let’s go back to sql and database

hushed robin
#

ok

grim aspen
#

I suggest googling how to do the database, there is a good explanation by w3schools

hushed robin
#

i know the sql basica

#

select * from table where blah = 'blah'

#

just the basics

grim aspen
#

So what are you trying to do now

hushed robin
#

well

#

what i recently tried doing with sql is i want to add a trending command to my bot

#

where it'll basically compare the latest hours data with the second latest hours data, see which has the highest percentage increase, then order it in DESC order

#

which is really hard which is why i asked chat gpt

#

what chat gpt made returned data but it didn't look right

grim aspen
#

Like I said it’s easier to learn than chat GPT

lyric mountain
#

because the basics include create, update and delete

hushed robin
#

idek where to start

hushed robin
grim aspen
#

Ok so if you do then you should know how to do those steps with a database

hushed robin
#

yes i know how to do those

#

what i'm trying to do is more than that

#

much more

lyric mountain
#

what you want to do is fairly simple

hushed robin
#

🥲

#

not for me

grim aspen
#

Bro

#

It’s not that hard

lyric mountain
#

tho it does involve window functions

#

or you do it though code instead of sql

hushed robin
#

it is to me

#

i mean

#

i could probably do it with javascript but i think it would be more efficient to do it with sql

marsh talon
#

just do what i do and hire people to help with whatever you dont fully understand

grim aspen
#

Do it with JavaScript

hushed robin
#

hm

grim aspen
#

Try it

#

Doesn’t hurt to try

hushed robin
#

i mean

#

ik i could do it with javascript

grim aspen
#

That’s what I’m saying

hushed robin
#

but as i said wouldn't it be more efficient just doing it with sql

lyric mountain
#

sql wont be efficient if you don't know how to write efficient queries anyway

grim aspen
#

Either way it’s efficient but I recommend using JavaScript

hushed robin
#

just not advance ones like this

#

only simple

grim aspen
#

Bro

#

Try JavaScript

hushed robin
#

anyways

#

what does this mean

#

No CMAKE_CXX_COMPILER could be found.

grim aspen
#

Wasn’t that from earlier

#

Kind of irrelevant

hushed robin
#

yes

#

i've been searching for a solution for awhile

#

but can't find one

lyric mountain
#

well, the path of least resistance is your wallet

grim aspen
#

Oh boy

#

We’re back to this

lyric mountain
#

otherwise, a week or so learning how to compile it

hushed robin
#

because i need a little help

earnest phoenix
hushed robin
#

and it took like 20gb from my memory

grim aspen
#

Visual studio has a selection of different ones to use

hushed robin
#

which ones do I need?

#

I downloaded a bunch of extra ones

grim aspen
#

C+ and C++

lyric mountain
#

love to code in C+

grim aspen
#

Shut

hushed robin
#

i have all these

lyric mountain
quartz kindle
#

battleless coding in C++? what dimension is this

hushed robin
#

no

#

i'm trying to compile something

#

star

lyric mountain
#

he's just trying to compile a paid software that happens to have source open for compilation without license telling otherwise

grim aspen
#

atp let him

quartz kindle
#

le-mao

grim aspen
#

What is in language packs

hushed robin
#

thats

#

like

#

not programming languages

#

reading writing and talking languages

grim aspen
#

Omfg

#

Not LITERAL LANGUAGES

hushed robin
#

what

grim aspen
#

No. Language packs I think has the main programming languages in individual packs

hushed robin
#

no it doesn't

#

i'm looking at it right now

pale vessel
#

I'm pretty sure it's what battleless said

hushed robin
pale vessel
#

lol

quartz kindle
#

battleless is right about something? what age is this?

grim aspen
#

Oh wtf

earnest phoenix
hushed robin
#

i already have that

grim aspen
#

Emberassing

hushed robin
#

it's checked

grim aspen
#

Did you install it?

hushed robin
#

yes

earnest phoenix
#

Checked != Installed

hushed robin
#

it is installed

#

i installed it awhile ago

grim aspen
#

Install it again

hushed robin
#

how do i install it again

grim aspen
#

Uninstall it and reinstall it

hushed robin
#

ugh

#

i have to wait 15 minutes again 🙁

earnest phoenix
hushed robin
#

yes

#

as i said i installed it quite a bit ago

#

i am currently reinstalling i will send the results here

earnest phoenix
#

What happens when you run cl on your terminal/console?

#

(Run cl.exe if you're in Command Prompt)

grim aspen
#

He went to general chat

hushed robin
#

yeah

#

i will do that when it's done reinstalling

#

my internet is a bit bad so it'll be like 10-15 minutes

grim aspen
#

Any progress?

hushed robin
#

my wifi is not the greatest

#

ok

#

it's done

hushed robin
earnest phoenix
hushed robin
#

command prompt

earnest phoenix
#

You must run it inside Visual Studio, there's a program called "Developer Command Prompt from VS", you might want to run it in there and see it for yourself

hushed robin
#

yessssssss

#

i fixed it

#

BIG Ws

grim aspen
#

Congrats

hushed robin
#

it's now compiling

#

hopefully everything works 🤞

#

ayyyy w

#

now i don't have to pay

pale vessel
#

That was a long six minutes

#

Good job though

#

||Now send me the exe||

hushed robin
#

sure

#

can't you compile it yourself though?

boreal iron
#

Damnit

#

So I lost 17,99

#

All your fault Voltrex

hushed robin
#

not really

#

he didn't help much

#

now i need to learn how to draw pixel art

earnest phoenix
#

💀

boreal iron
#

Owned I guess

hushed robin
#

i mean i don't mean any bad by that

lyric mountain
#

could've simply used gimp

boreal iron
#

Even paint when using the zoom

hushed robin
#

yes

#

this even better tho

#

specifically made for pixel art

lyric mountain
#

it's basically the difference between Dihydrogen Monoxide and Water

hushed robin
#

it's not

wooden ember
#

pixel is pixel

hushed robin
#

yes but because this is specifically made for pixel art it has tools to make it easier

#

and better

wooden ember
#

anyway just wanted to ask if they removed the ability to give ownership of servers to bots cuz the option is gone now

hushed robin
#

why would you give a bot ownership of a server

wooden ember
#

cuz I own a couple that are dead but dont want to delete them incase they are needed in the future so i just give them to a bot and leave

#

have done it a couple times one fairly recently

#

but the option is gone now so i was curious why

hushed robin
#

well, it makes sense it's gone

#

don't think they want people giving bots ownership of a server

hushed robin
#

and if it's gone there's nothing you can do about it

hushed robin
#

too much to say

lyric mountain
#

give 1 example

hushed robin
#

no

lyric mountain
#

classic

hushed robin
#

why you always hating

wooden ember
#

but oh well

#

wonder what happend to all the servers owned by bots

hushed robin
#

well, not exactly

#

they can create guilds if they're in under 10 guilds

hushed robin
lyric mountain
hushed robin
#

makes no sense

hushed robin
lyric mountain
#

tell me a single feature that's "better than other painting tools"

#

pixels is as simple as it gets

#

can't improve much over something like that

#

heck people were doing pixelart ages ago, it was called cross-stitching

hushed robin
#

google buddy

#

😂

wooden ember
lyric mountain
#

...but you're the one claiming it has better features

hushed robin
#

maybe just stay in the server?

lyric mountain
#

the burden of proof is on you

hushed robin
lyric mountain
#

say 1

hushed robin
#

I use Aseprite all the time and have GIMP installed on my computer, so I can answer this.

Aseprite has indexed colour palettes that make it easy to manage your colours.

Aseprite handles layers and the canvas very simplistically, while GIMP can be a bit awkward with that stuff.

Aseprite has animation tools built in, and allows for easy playback, loop sections and onion-skinning.

Aseprite has a "tiled" mode where you can work on a single tile and see how it tessellates with itself.

Aseprite is still growing, and new features just for pixel artists are being added all the time.

Those are a few reasons I can think of. Overall it's just tailored to pixel art a bit better.

#

there ya go

#

thats like 5

wooden ember
#

so makes sence to juts gove the bot the server and leave

hushed robin
#

or just use folders

wheat mesa
#

aseprite is more targeted to pixel art, gimp can do almost anything

wooden ember
#

i do but eh

lyric mountain
earnest phoenix
#

The only thing that GIMP sucks at is being user-friendly, it's user interface is literally a hellish landscape, but once you know your way around it it's very nice

#

Krita solves GIMP's problem

lyric mountain
#

krita is gimp but more drawing-oriented

#

gimp is more for image editing tbh

#

and inkscape excels at vector drawing

earnest phoenix
#

Krita also has very nice features for image editing as well, it's also nice that Intel became a gold corporate sponsor of it a few months ago

lyric mountain
#

and ofc, all 3 fully free and have an ungodly amount of plugins

wheat mesa
#

(free if you know how 😉 )

boreal iron
#

Photoshop is also free topggDoge

#

Yet has nice UI

wooden ember
#

started using it more in about 2018 for random stuff and it became easyer to use as they reworked the ui but then like last year they moved everything around again and i have no idea where anything is anymore

#

i guess thats cuz if you are a gfx sweat you use hotkeys and crap so the ui isnt that bad then but eh idk

#

its probably worse for me cuz my screen is only 720p

#

not much room to work with, or thats just a cope idk

hushed robin
#

theres many more things not listed there

lyric mountain
#

Feel free to add any more points

hushed robin
#

no

lyric mountain
#

Until then, it has no advantage over regular drawing software

hushed robin
#

it does

#

🕺

lyric mountain
#

Not without any proof

#

it's ok to take the L

hushed robin
#

there's no L being taken

#

not showing you proof doesn't change anything

#

your free to have your opinion but i think otherwise tbh

lyric mountain
#

Sure, just as it doesn't make that tool any different from other editors

#

Aside from UI

hushed robin
#

wrong again !

lyric mountain
#

Prove it then

hushed robin
#

no

lyric mountain
#

Smh

quartz kindle
#

this guy should stop coding and go become a politician

hushed robin
#

that's the plan

lyric mountain
#

I could mistake him for a flerfer

hushed robin
#

president of the united states 🚀

lyric mountain
#

Or a moon denier

hushed robin
#

imma make trump proud tbh

grim aspen
#

Oh boy

quartz kindle
#

next justin trudeau

boreal iron
#

Tf Flazepe

hushed robin
grim aspen
#

I mean the mods aren’t watching

hushed robin
grim aspen
#

Politics

#

Mods don’t like it

lyric mountain
#

Just why I didn't comment on that lul

hushed robin
grim aspen
#

I think Battleless should battle Elon musk

hushed robin
#

good ideaa

#

i would

grim aspen
#

No wait that would make dumb and dumber for

hushed robin
#

elon musk is very smart

quartz kindle
#

remember that guy

#

that demanded elon musk make him ceo of tesla

#

because "i am a super genius just like you so i deserve to be ceo"

hushed robin
#

fair enough tbh

dry imp
#

ngl tho aseprite is the best

wheat mesa
brisk light
#
AttributeError: 'Bot' object has no attribute 'slash_command'. Did you mean: 'add_command'?```


https://pastecode.io/s/ndm2sg0y
help ;w;
rustic nova
#

get rid of command_prefix in your constructor of your bot instance

#

You're starting your bot in prefixed mode

pale vessel
#

You can't have both in dpy? That sucks

rustic nova
#

You can, its called bridging

#

Or that's only a thing on pycord

brisk light
rustic nova
#

Remove it from your Bot instance, the command_prefix="/"

brisk light
rustic nova
#

Just remove the command prefix parameter, keep the intents one

brisk light
#
    bot =  discord.Bot(command_prefix="/")
AttributeError: module 'discord' has no attribute 'Bot'```
rustic nova
#

You did the opposite of what I meant

#

Best is to check out the docs from discordpy about slash command usage and refer to that example

brisk light
rustic nova
#

Not the one i was talking about

#

@pale vessel does dpy still not support slash commands or are the docs just really outdated? KEKW

brisk light
rustic nova
#

From

To

brisk light
#
    bot = commands.Bot(ntents=intents)
TypeError: BotBase.__init__() missing 1 required positional argument: 'command_prefix'```
rustic nova
#

To be honest, you should probably switch to a different library than discordpy, am really not finding anything on their docs about slash commands lol

brisk light
#

So like javascript?

#

Different library? Like other py library for discord bots?

rustic nova
#

Just try some python based ones out

brisk light
#

So i should switch from @pallid tartancommands to @whole stratusp.commands?

pale vessel
#

bot.app_commands, I believe

earnest phoenix
#

Just use hybrid commands

#

It will have slash commands by default, and have prefix commands if needed

rustic nova
#

Yeah libraries use different terms for that

#

bridge on pycord, hybrid on discordpy

earnest phoenix
#

Bridging is the worst term

#

As you're not really bridging

pale vessel
#

Why do you have to argue with everything man

rustic nova
#

I dislike how discordpy doesn't have slash commands on their quickstart ngl, especially when slash commands are the way to go at the moment

earnest phoenix
#

Because it hasn't been updated in ages and they are working on a proper guide

brisk light
#

What if i ditch slash command for a symbol

I was using slash to look cool

#

Cuz this is getting confusing :'>

earnest phoenix
#

It isn't really confusing

#

There are examples etc.

brisk light
earnest phoenix
#

You can literally just create a slash command with

@app_commands.command(name="aaa")
async def aaa(self, interaction: discord.Interaction) -> None:
  await interaction.response.send_message("bbb")

Which is documented

pale vessel
#

You gotta import app_commands from discord then

#

Not bot

earnest phoenix
#

And if you don't use cogs and have a 3k lines bot.py file then you can use

@bot.tree.command(name="aaa")
async def aaa(interaction: discord.Interaction) -> None:
    await interaction.response.send_message("bbb")
earnest phoenix
#

use the one below

brisk light
#

Its like 71 lines of code
But ok

earnest phoenix
#

Usually you'd use cogs for your command and not put them in your bot.py file

#

if you don't use cogs, use the one below

brisk light
earnest phoenix
#

https://pastecord.com/wisisirypa.py

I changed your bot to use a custom class which replicates the normal commands.Bot class, the reason is so that when your bot is set up it will call the setup_hook function and automatically sync commands for your testing guild ID, which you need to replace from GUILD_ID to your actual testing guild ID. Feel free to remove the custom class if you want, you can copy the code of the setup_hook in a on_ready event if you wish, though that is not recommended, hence the custom class.

Everything else stayed the same besides some small changes with the @bot.tree.command decorator and the Interaction as parameter.

#

Also changed that it sends ephemeral messages instead of sending a DM to the user. ctx.author is pretty much interaction.user now

#

Also haven't tested more than sending the embed

brisk light
#

Wtf is up with my thing

earnest phoenix
#

How do you run your bot

brisk light
#

Via terminal

earnest phoenix
#

Can you run

python3 -m pip show discord.py

in your cmd/terminal

brisk light
#

Ok

#
Name: discord.py
Version: 2.2.2
Summary: A Python wrapper for the Discord API
Home-page: https://github.com/Rapptz/discord.py
Author: Rapptz
Author-email: 
License: MIT
Location: /home/user/.local/lib/python3.10/site-packages
Requires: aiohttp
Required-by: discord, discord-ext-bot
earnest phoenix
#

Okay then just below the line

super().__init__(intents=intents, command_prefix=command_prefix)

add

self.tree = app_commands.CommandTree(self)

You'll also need the

from discord import app_commands

import

brisk light
#

Okie!

earnest phoenix
#

That will add a bot variable that you can then access with bot.tree

#

You can use that for lots of things, can also make

self.version = "Bot version here"

and always access it with bot.version

Pretty convenient depending what you may do in the future

#

For example your verified_users variable, you could very well make it a bot variable in the future ^-^

brisk light
#

ImportError: cannot import name 'AppCommandOptionType' from 'discord.enums' (/home/user/.local/lib/python3.10/site-packages/discord/enums.py)

https://pastecode.io/s/n79dsp4c

#

Issue with my python?

#

like i will host this bot online definitely wont run on this loacl machine

earnest phoenix
#

Can you do

python3 -m pip list
#

Because you seem to have an old version of discord.py installed

#

Some 1.x version installed

brisk light
earnest phoenix
#

Yeah which is pretty weird

brisk light
#

and python is 3.10

neon leaf
#

so I want to make a function that can be either sync or async, now I need to add intellisense but for some reason it just displays Promise<...> | ..., why?

loadEnv<F, A extends boolean | undefined>(
  /** The path to the Env file */ file: string,
  /** Whether to load the file asynchronously */ loadAsync?: boolean
): A extends true ? Promise<Record<string, string>> : Record<string, string> {
  // ...
}
earnest phoenix
#

Can you just try to uninstall discord.py and start the bot, you eventually have some legacy package installed somewhere

#
python3 -m pip uninstall discord.py

should do the trick

brisk light
#
  File "/home/user/Desktop/discord bot/bot.py", line 3, in <module>
    from discord.ext import commands
ImportError: cannot import name 'commands' from 'discord.ext' (unknown location)```
brisk light
earnest phoenix
brisk light
#

i mean it worked for you-

earnest phoenix
earnest phoenix
brisk light
#

even tho i uninstalled

#

and uninstalling it again says its not instlled

earnest phoenix
#

There should be the list of installed packages

brisk light
earnest phoenix
#

Oh yeah my bad, it's

python3 -m pip list

sorry

brisk light
#

i did that tho i removed show either xD

#

you wanna see all pip packages?

earnest phoenix
#

Oh yeah then that yep CatJAM

earnest phoenix
#
python3 -m pip uninstall discord
python3 -m pip uninstall discord-ext-bot
python3 -m pip uninstall py-cord
#

discord is the old package name of discord.py so it's not needed

#

discord-ext-bot is some weird package

#

py-cord uses the same imports as discord.py so it will cause issues when importing

#

Then you can install discord.py again with

python3 -m pip install discord.py
#

You can also remove the

self.tree = app_commands.CommandTree(self)

line

#

And try to start again

brisk light
#

@earnest phoenixyou are a GENIUS!!!

#

love it!

#

i just need to add correct guild id

earnest phoenix
brisk light
#

i gave bot all permissions

earnest phoenix
#

Probably something wrong with the code that is handling button clicks

brisk light
#

how would i debug---

earnest phoenix
brisk light
#

okie!!

#

interaction?

earnest phoenix
#

The button handler goes in the same class as the view

#

See the example again

quartz kindle
lyric mountain
#

oh boy, don't use json as a database

#

also, delete that url, quickly

#

you just leaked your token

#

and refresh it asap

brisk light
#

Aw fuck time to generate new token

lyric mountain
#

regarding your question, you're probably taking too long to answer the interaction

#

or actually, not responding at all

thin oasis
#

👀

slender wagon
#

since i pull the icons from the apiand i need to insert them in the site i did this

const getIcon = (iconName: IconName) => {
        switch (iconName) {
            case 'react':
                return <FontAwesomeIcon icon={faReact} />;
            case 'css3-alt':
                return <FontAwesomeIcon icon={faCss3Alt} />;
            case 'js-square':
                return <FontAwesomeIcon icon={faJsSquare} />;
            case 'html5':
                return <FontAwesomeIcon icon={faHtml5} />;
            case 'js':
                return <FontAwesomeIcon icon={faJs} />;
            case 'vuejs':
                return <FontAwesomeIcon icon={faVuejs} />;
            default:
                return null;
        }
    }

does anyone have another idea?

#

in the map i do this:

<div className="flex justify-center">{getIcon(project.icon)}</div>
lyric mountain
#

is it causing issues?

slender wagon
#

no lmao

#

i was just wondering

slender wagon
#

which ofc leads to issues

lyric mountain
#

you could format the iconName to be in the proper format

slender wagon
#

i was getting this btw:

Unhandled Runtime Error
Error: Objects are not valid as a React child (found: object with keys {prefix, iconName, icon}). If you meant to render a collection of children, use an array instead.```
lyric mountain
#

that's because you didn't map it

#

the api will return a json, not a component

slender wagon
#

wait no that's the previous one

#

yeah i was playing around with next api

#

they had a huge update lately

#

took me long enough to figure out the new way

lyric mountain
slender wagon
#

alrightys i am gonna try that

lyric mountain
#

make sure to add a fallback measure since it's possible that not every icon will follow that pattern

slender wagon
#

ok

slender wagon
#

i hate using nextjs api btw, i would really love ot use express. but i don't own a personal server atm

#

or maybe even better use rust

#

@radiant kraken is rest-api with rust a overkill?

wicked pivot
#
//res.body.joined = timestamp
console.log(res.body.joined)
console.log(moment(res.body.joined).format('DD/MM/YYYY'))```

```js
1611624932
19/01/1970```

why is it giving me a wrong date?
lyric mountain
#

joined is a UNIX (seconds) timestamp

#

moment uses millis timestamp

#

simply multiply the value by 1000

wicked pivot
#

oh great, thank you

lyric mountain
#

the same applies to every other discord timestamp, if u ever face that again

lethal cipher
#

hello i got this error with my bot

#

can anyone help me please

deft wolf
#

The name of the command is invalid

lyric mountain
#

drop the account and you're set

deft wolf
lyric mountain
#

to stick to the brain: member will always come from a guild or a guild event

#

member will always contain user, but not the opposite

#

anything that's local to guilds (nickname, roles, permissions, etc) will always come from member

boreal iron
hushed robin
#

question of the day #1
whats your favorite language?

rustic nova
#

||English||