#development

1 messages · Page 164 of 1

spark flint
#

maybe you would do js export default { webpack: config => { config.node = { fs: 'empty', child_process: 'empty', net: 'empty', dns: 'empty', tls: 'empty', }; return config; }, };

#

in the next.config.mjs file

surreal sage
#

yes

#

but it's giving a major error

#
ValidationError: Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
 - configuration[0].node should be one of these:
   false | object { __dirname?, __filename?, global? }
   -> Include polyfills or mocks for various node stuff.
   Details:
    * configuration[0].node has an unknown property 'fs'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.
    * configuration[0].node has an unknown property 'child_process'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.
    * configuration[0].node has an unknown property 'net'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.
    * configuration[0].node has an unknown property 'dns'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.
    * configuration[0].node has an unknown property 'tls'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.
 - configuration[1].node should be one of these:
   false | object { __dirname?, __filename?, global? }
   -> Include polyfills or mocks for various node stuff.
   Details:
    * configuration[1].node has an unknown property 'fs'. These properties are valid:
      object { __dirname?, __filename?, global? }
      -> Options object for node compatibility features.```
surreal sage
spark flint
#

i am not sure then sadly

surreal sage
#

dont be sad 😃

quartz kindle
surreal sage
#

my first mistake when doing everything is that i did the child process/api request in a component

#

checking if it'll work inside a page (where it is now with an api request)

surreal sage
#

oh shitwtf

#

i dont even have to change anything

#

and it works

#

damn

neon leaf
#

how do I prevent 3.4 turning into 34 with discord number inputs?

earnest phoenix
neon leaf
#

it turns out , works fine, is that based on client language or default?

#

its just a discord js option get

earnest phoenix
#

I'm assuming that's based on client language, but better to ask in DDevs

wheat mesa
#

man I am so sick of these blockchain devs trying to find another pump and dump to get paid to make

sharp geyser
#

Definitely not strange how each one has the same skills, years of experience and ad message

radiant kraken
#

yeah it's like as if they came from the same guy or something

sharp geyser
#

No never

warm shale
#

that was some issues on top.gg side?

deft wolf
#

5xx error is a website side error, so yes

spark flint
#

@winter pasture

#

ads joeverymad

solemn latch
#

@languid isle no ads

winter pasture
#

Apparently I’m late to the party

#

Thanks woo 😊

craggy pine
#

With modals with a timeouit filter, if someone clicks the "Cancel" button on a modal form, how would I resolve the timeout still happening?

        const modalResponse = await interaction.awaitModalSubmit({
            filter: (i) =>
            i.user.id === interaction.user.id,
            time: 300000,
        }).catch(async error => {
            return modalResponse.reply({
                embeds: [
                    await client.errorEmbed(`Form timed out due to taking too long...`)
                ],
                ephemeral: true
            })
        })

I thought modalResponse would work but it doesn't because it isn't initzialsed yet. Interaction already gets replied if I do that and editReply says unknown message

#

I can do interaction.channel.send() but I want the message to be ephemeral to the command user

craggy pine
#

It's strange too that if I do happen to directly send a message to a user when it times out, the follow function doesn't exist

if(modalResponse.isModalSubmit()) {
//do stuff is user submits the form
//function doesn't exist though if the form times out
//wrapping it in a try catch fixes it
}

Kinda janky.

pale vessel
earnest phoenix
#

anyone know if there an api that provides data on an albums AEU

earnest phoenix
#

For example:

const modalInteraction = await interaction
  .awaitModalSubmit({ ... })
  .catch(() => null);

// Timed out
if (modalInteraction === null) {
  await interaction.followUp({
    content: 'Timed out.',
    ephemeral: true
  });

  return;
}

// Continue normally
earnest phoenix
earnest phoenix
#

yes

#

i want to see data for albums

#

That depends on what platform the album is hosted on

#

I'd recommend that you read this

The album-equivalent unit, or album equivalent, is a measurement unit in music industry to define the consumption of music that equals the purchase of one album copy. This consumption includes streaming and song downloads in addition to traditional album sales. The album-equivalent unit was introduced in the mid-2010s as an answer to the drop of...

craggy pine
#

Ah followup, I forgot that was even a method.

earnest phoenix
#

i want an api that will provide me the data

#

what does that wikipedia article have to do with the question

#

I need to know where the album(s) you want to get the data of are hosted to suggest an API for it

#

And the article tells you how it works, so you might be able to figure out yourself, not so complex

#

...

#

😐

#

any album

#

in existence

#

of albums

lyric mountain
#

me with college photo album:

craggy pine
#

Man assumes we think all albums are hosted on only spotify or sum

earnest phoenix
#

yes

#

i do

#

do you

#

How's an API supposed to magically get the data of every album and show you the AEU?

#

It needs to know where it's hosted, contact the platform, get streams count, then calculate it

#

Do you understand how that works now?

#

why would it need to contact the platform

#

...

#

To get the streams count?

#

you don't need to count the service to do that

#

if you don't know one just say that pls

#

I'd recommend that you read the article on how AEU works and then back

craggy pine
#

You do realise a "Stream" of an album exsists on a platform?

earnest phoenix
#

You clearly don't, if you do, tell us how it's calculated

earnest phoenix
#

I'm asking you, let's see if you actually know

#

yes

#

it's right there

#

i replied to it

#

Yeah so you don't know, if you actually know how it works you would just say it, go ahead

#

#

what are you yapping about

#

You said you know how AEU works, but refuse to tell us how, and instead reply pointing to the link I sent on how it works trying to teach you

#

yes

craggy pine
#

Why does this bring me back battless vibes

earnest phoenix
#

because it's literally in the embedded image

lyric mountain
# earnest phoenix yes

as the old saying goes: "You cannot win in chess against a pidgeon - they'll knock the pieces, shit on the board and strut around like they won it"

earnest phoenix
#

(it's not i have no idea who battleless is)

lyric mountain
#

yes mr. pidg- I mean, battle

earnest phoenix
#

???

wheat mesa
#

This is entertaining

#

Bored af sitting in discrete math class rn

#

Professor can’t explain the subject for shit so this is the best I’ve got

solemn latch
lyric mountain
#

lmao

#

first valid use for notes

solemn latch
#

notes are the best for account tracking ^-^

earnest phoenix
#

i'm not battleless

#

no one here has proof of me being this random person

#

i asked a simple question and am being asked these random questions. if you know a service, please provide the link. if you don't, you don't need to answer 😐

earnest phoenix
#

i'm not him

#

you don't need to go searching for messages

#

You are the same person, but supposedly "changed"

#

ok but i'm not battleless

wheat mesa
#

same shit different bathroom

earnest phoenix
#

so stop calling me him

#

does my username look like it says battleless

sage bobcat
earnest phoenix
#

?

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

sage bobcat
#

One message removed from a suspended account.

earnest phoenix
#

Okay so back to teaching you

Mr. dondathedon, so let me ask you, what do you need to calculate an AEU? Stream count is that correct?

sage bobcat
earnest phoenix
earnest phoenix
#

if you don't know move on

lyric mountain
earnest phoenix
#

very easily provable but

earnest phoenix
#

🤷

#

Voltrex you are blocked

#

I need to start blocking you guys

lyric mountain
#

please

earnest phoenix
#

if anyone else knows you can ping me

#

Oh no! Being blocked by beyond the mind!? This is not fair! How can I live with this??

sage bobcat
earnest phoenix
craggy pine
#

If hes going to block everyone guess he wont get his answered den 🤣

sage bobcat
#

One message removed from a suspended account.

craggy pine
#

of course 😛

earnest phoenix
craggy pine
#

I see, so you only wish to block the people are are like the top developers in this discord and only want to be spoonfed since I guess you don't know what google is, got ittttttttt

earnest phoenix
#

does it look like I care about Voltrex's developer status

lyric mountain
#

I mean...

#

tf when did u join w3?

earnest phoenix
#

Like a year ago, I am one of the highest members in the entire consortium, might even be elected as a TAG (Technical Architecture Group) member, highest of all

sage bobcat
earnest phoenix
marsh lark
#

Do you do voluntary work like nodejs and w3 in your free time

earnest phoenix
#

Yes

#

All of these are voluntary work, foundation of almost all software and such are built voluntarily

#

And even though it is all voluntary, we maintainers and high status people have very important and draining responsibilities to make it all better and keep them on track, to also hold our titles

marsh lark
#

Oh Node 16 reached EOL today

mighty scroll
#

Is there a way to edit this status with the bot? I just saw was released with few days ago and it's still in Beta

marsh lark
#

I don't think it's documented in the api docs yet

rustic nova
#

It's not something fully released yet either

#

Rolled out

mighty scroll
#

I was also not able to find something about it, but i just said to ask, maybe there is a change 😄

rustic nova
#

Unlikely while it's being rolled out

mighty scroll
#

Thank you guys

earnest phoenix
wheat mesa
#

god damn my bot is still running on nodejs 14 lmao

earnest phoenix
#

Damn

sage bobcat
rustic nova
#

Lack of cognitive opportunities

frosty gale
#

unoptimised brain function

sage bobcat
#

One message removed from a suspended account.

harsh nova
#

I've no clue what runtime my bot is using ngl

marsh lark
#

like the version or the runtime BlobCatWorriedSip

earnest phoenix
#

Hey guys my bot is not playing music can anyone tell why?

#

This so?

rustic nova
#

Sure, let me just channel my telekinetic abilities and transform myself into your mind

wheat mesa
#

@lyric mountain how do you recommend structuring a flutter app? Should I have like a pages folder for each different page or something like that?

rustic nova
#

In short: how about you explain your issue

earnest phoenix
#

Can anyone help me?

#

Pls

#

Is this due to lava link?

#

How can I get it?

wheat mesa
#

nobody can help you when you don't explain your issue

bitter granite
earnest phoenix
#

It's just not playing

#

When use command play and use it

#

It join but it's not playing

rustic nova
#

Damn

#

Still can't do much with that info

#

How about you describe what you have programmed, tell us how you think it's supposed to work etc

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

rustic nova
#

My skills are way above your capacity of understanding

#

I know what they're about to say before they ask

bitter granite
earnest phoenix
bitter granite
earnest phoenix
#

Oh

#

Then ping me lol

#

Don't just type

wheat mesa
#

💀

#

dude we are very obviously talking to you

#

you're the only one who asked an incomplete question in here

bitter granite
earnest phoenix
#

My bot not playing song if i use command it's just join vc and say playing (song)

#

Idk why

#

Is this happening

wheat mesa
#

and yet you still have not provided us with any useful info

earnest phoenix
#

No sound come from bot

bitter granite
earnest phoenix
#

What kind of information i say u?

wheat mesa
#

you didn't provide any code, no errors, no information on what you're using to play music, no information on literally anything other than "My bot doesn't work, why?"

#

You see why that's not useful right?

earnest phoenix
wheat mesa
#

Can you read my message in its entirety before responding

#

That is the type of information that does us no good

earnest phoenix
#

Hmm

rustic nova
#

Waffle, do you not have the recent patch? You can look into people's minds now

wheat mesa
#

Oh shit it's out already?

earnest phoenix
wheat mesa
#

My internet is pretty slow, this is a 12tb patch

earnest phoenix
wheat mesa
#

Gonna be a few weeks

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

bitter granite
sage bobcat
#

One message removed from a suspended account.

bitter granite
bitter granite
craggy pine
#

Okay so in regards to no sound for music, it's all dependent on the library being used. A common fix is related to ffmpeg and how its installed. This is Distubes FAQ
https://scs.twilightgamez.net/xYfHG.png

lyric mountain
#

...which I also use for any project I make tbh

wheat mesa
#

I see

#

I think I can figure out the structure

#

As long as I'm not getting this stupid fucking "bottom overflowed by infinity pixels" issue

lyric mountain
wheat mesa
#

aaaaa

lyric mountain
wheat mesa
#

well I'm just confused because it's not like I have a lot of content on the page

lyric mountain
#

there's a flutter inspector to the left, if ur using intellij

wheat mesa
#

I'm just trying to set it up so the app has a persistent navbar and then each page displays on a different tab, all I have is a text element in those pages

#

using android studio

lyric mountain
wheat mesa
#

Yeah I'm using column

lyric mountain
#

those two are annoying to make work, as they require a parent that has a bounded dimension in the main axis

wheat mesa
#

I just threw in my pages to where the example code used to be

#

Since it seemed to work for them just fine

lyric mountain
#

so a column must exist inside a container with constrained height, for example

#

if u want to make it scrollable put inside a SingleChildScrollView

wheat mesa
#
return Scaffold(
      bottomNavigationBar: NavigationBar(
        onDestinationSelected: (int index) {
          setState(() {
            currentPageIndex = index;
          });
        },
        indicatorColor: Theme.of(context).indicatorColor,
        selectedIndex: currentPageIndex,
        destinations: const <Widget> [
          // 4 nav destinations
        ],
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const<Widget> [HomePage(), MenuPage(), RewardsPage(), MyOrderPage()][currentPageIndex]
          ],

        ),
      ),
    );
lyric mountain
#

btw, u dont need <Widget>

#

and u can exploit commas to force newline after elements

#

the issue there is that column is inside Center, which doesn't have a defined size

#

put it inside a SizedBox and set a height

wheat mesa
#

I see, was there a reason it worked for the demo then?

lyric mountain
#

demo from where?

#

some examples online are quite outdated

#

for example, u dont need int index either, just index

wheat mesa
#

The generated "sample" when I start a flutter project with android studio

lyric mountain
#

💀 u gone with studio

wheat mesa
#

I mean it seems pretty much the same as intellij

lyric mountain
#

it's a fork, as intellij is open-source

#

but it has some performance issues and lacks most features

wheat mesa
#

I just went with studio because it was the easiest to follow on the tutorial area

#

Can I convert my current project to intellij or do I just have to suck it up and make a new one and copy paste my code

#

(I only have like 4 files so it's not a big deal if I need to)

lyric mountain
#

u can just import the folder yeah, it'll recognize

#

just not the settings file probably

wheat mesa
#

👍

lyric mountain
#

u need something like this for columns/rows

wheat mesa
#

any plugins I need to install other than the flutter plugin?

lyric mountain
#

the moment u import the project it'll ask u to download android stuff

wheat mesa
#

alr

lyric mountain
#

optional, but it's good to have as you'll need an emulator anyway

#

speaking of which, it can be found here

#

or with double shift

wheat mesa
#

so IDEA is the ide to use right

#

or am I meant to use something like webstorm for some reason

lyric mountain
#

idea yeah

#

idk if storm has flutter support

#

(community idea)

wheat mesa
#

I think I'll start a new flutter project for simplicity's sake, then just copy paste what I have since it's not much

lyric mountain
#

(also get codeglance plugin for sanity's sake)

#

flutter projects tend to get...tall

wheat mesa
#

wait where on earth is the "view device" window?

lyric mountain
#

double shift -> android emulator

#

or here

wheat mesa
#

also it keeps complaining that I'm missing android platform sdk 29 but it still runs just fine

lyric mountain
#

that's probably because it detected the android folder as a module

#

u can click to download it to remove the warning and enable intellisense in those files

#

or u can just ignore it, wont matter unless u edit the android files directly

wheat mesa
#

it apparently can't find the sdk at all

#

nvm got it to shut up

#

it found it after I dug around a little

wheat mesa
#

nvm I found it

#

it was in the 3 dots

#

stupid intellij hiding things from me

lyric mountain
#

the pains of a cleaner interface

wheat mesa
#

How would I go about making custom widgets like so? I'm doing this but I can't seem to get anything to show on the main page: ```dart
import 'package:flutter/material.dart';

class HomePage extends StatefulWidget {
const HomePage({super.key});

@override
State<StatefulWidget> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return const Scaffold(
body: Text("Home"),
);
}
}

#

And then in the main "view": ```dart
return Scaffold(
bottomNavigationBar: NavigationBar(
onDestinationSelected: (index) {
setState(() {
currentPageIndex = index;
});
},
indicatorColor: Theme.of(context).indicatorColor,
selectedIndex: currentPageIndex,
destinations: const [
// 4 destinations
]
),
body: Center(
child: SingleChildScrollView(
child: const [
HomePage(),
MenuPage(),
RewardsPage(),
MyOrderPage(),
][currentPageIndex]),
),
);

#

Oh maybe it's actually an issue with the page view itself, it's saying it's caused by the _HomePageState widget

#

Yeah apparently Scaffold was not the way to do it

lyric mountain
#

scaffold is basically the skeleton of the app, ur supposed to have only 1

wheat mesa
#

I see

#

So basically I should use the other container types for subsections of my app

lyric mountain
#

yes, likely SizedBox or Container

#

the latter if u want a decorated container

wheat mesa
#

👍 thank you for the advice

earnest phoenix
#

can anybody tell me real quick what are the correct permissions a Giveaway Manager role should have? is it just the Base permissions + Manage Messages?

earnest phoenix
#

My bot is playing song means its showing playing this this song but its not playing its lyrics in vc idk why

#

Pls help

bitter granite
earnest phoenix
#

not to show playing

bitter granite
earnest phoenix
#

i m not getting i saying

#

U join one server i show u

#

Come dm

bitter granite
earnest phoenix
#

Ok

north coral
#

found a solution, can delete the msg, ty

summer torrent
#

@pale vessel i forgot you ^

tulip ledge
#

Anyway to make it so user’s username’s underscores don’t make messages italic?

radiant kraken
radiant kraken
#

\_message\_

wheat mesa
#

The only thing I can really see it being used for is easier use of a debugger

pale vessel
#

rust-analyzer is sometimes a pain to work with but I don't think whatever jetbrains uses is any better

#

oh apparently jetbrains also switched to rust-analyzer

#

it used to use RLS like the old rust VSC plugin

#

but apparently they used something proprietary for RustRover?

#

(not part of the included file either)

grim aspen
radiant kraken
pale vessel
#

I shouldn't need to do that though, since it's lib-side (rust-analyzer's bug here)

earnest phoenix
#

'

eternal osprey
#

hey, i have started my haskell journey and got some problems with understanding :

test :: (a, b) -> (b, a)
test (x,y) = (x,y)

suppose that my x,y are both Int's.. why would it matter?

#

cuz the first type inferring is about the actual type, while the function declaration is rather about the parameter values.

#

is it maybe because you else could do test ("test", 5)?

#

as i just remember haskell is statically typed.

proven lantern
#

Is there a good way to make a bunch of discord accounts to use for testing? I would need around 12 of them.

craggy pine
#

Time to make 12 emails and passwords. 😄

deft wolf
#

And you probably can't use temporary emails because you'll have to confirm with your phone number

tulip ledge
#

Can anyone tell me why this is happening?

lyric mountain
tulip ledge
#

I also get this in console

#

Anything I can do about that?

lyric mountain
#

not really

tulip ledge
#

I just have to wait?

#

For it to resolve itself?

#

Why do my other bots work tho

lyric mountain
#

internal server error (status 500) means the issue is on their side

tulip ledge
#

Yeah but isn’t it weird it only happens to one bot when it’s an internal server error?

lyric mountain
#

perhaps, but sometimes it does happen

#

keep an eye on discord status to see if anything pop there

tulip ledge
#

But theres nothing I can do about it?

lyric mountain
#

nope

tulip ledge
#

I suppose this is the issue

warm surge
proven lantern
quartz kindle
#

:^)

proven lantern
quartz kindle
#

OwO scawwy

earnest phoenix
#

how can i get role emoji and add to embed as Thumbnail

#

@slim void

slim void
#

Zero need for a ping dude.

earnest phoenix
#

or not

slim void
#

No bc u pinged me for zero reason. 🙄

earnest phoenix
#

how lol

slim void
#

I do but ok 🤷‍♂️ why would I help someone who keeps asking in multiple channels then randomly pings me or anyone?

#

If u wanna belive thay idk how then go right ahead it doesn't bother me what u think

earnest phoenix
#

cas i need help

sudden rivet
#

Hey guys, im looking for a day tracker bot with a customized prompt that can be set with a prompt and a reminding schedule as well as a monthly report of all users with a tracker.
Example, User has gone 25 days without stalling.

#

Please mention me when responding

craggy pine
sudden rivet
quartz kindle
#

well, getting someone to develop it is gonna cost money, otherwise youre gonna have to do it yourself

#

if you wanna try doing it, maybe we can help with some things if you run into trouble, but youre gonna have to do most of it by yourself

jaunty basalt
#

Why there are so many Unknown interaction errors these days?
Earlier it wasn't much, but it increased now 😔

earnest phoenix
#

Pls

#

Can anyone help me ?

#

No one

earnest phoenix
#

This error?

cloud agate
#

has anyone here done anything with custom command logic in discord.py?

#

like how you would go about discord.js command/etc logic (all custom, not using provided methods of loading/invoking commands/cogs/etc)

#

ive been going deep on trying to implement my own logic, but d.py really doesnt like it when you try to get low-level with its internals and modify how it works, gotten as far as entirely custom cogs/commands/groupcommands

#

probably looks a bit wacky to any d.py devs, but i needed more than it could provide so im just seeing what i can do

#

no real clue why, but using my command/cog code literally halves my bots memory usage

#

think d.py is doing some funky things under the hood KEKW

deft wolf
#

Most "unknown interaction" errors result from the bot responding too slowly to the interaction. If the bot needs more than 3 seconds to respond, then the response must be deferred. Of course, this is the most popular one and that may not necessarily be the reason, but if something like this happens repeatedly, it should be looked into

jaunty basalt
lyric mountain
#

the important part is the error message, which u apparently muted in the second image, and didn't include in the first image

next storm
#

can anyone help me regarding clerk and nextjs?

wheat mesa
#

@lyric mountain how do you normally implement MVC? Do you just have like a controller instance variable in each widget/view that update state or something?

lyric mountain
#

I just make an utility class for accessing the database, preferrably with a generic method that maps the query result to the supplied class

tulip ledge
#

Anyone have a solution to mobile users being able to press send twice on slashcommands?

radiant burrow
#

my friend was telling me about intellij bc a professor said we get a student license. Is it particularly any better than VSC, especially if I get copilot for vsc? I was trying out intellij and it doesn't seem all that great for remote file work (because it wants to resolve the fact that some methods are imported from files it doesn't see)

earnest phoenix
#

no it sucks

radiant burrow
#

i just went on my phone and pressed send twice and it did do an error

#

so is that what you're talking about

earnest phoenix
#

tbh i don’t see any reason to use webstorm over visual studio code

radiant burrow
#

that's what I couldn't tell, like if intellij had some featrues I wasn't seeing making it worth the price

tulip ledge
#

If I use one of my slash commands and I press send twice really quickly it does the command twice

radiant burrow
#

well yeah

tulip ledge
#
  if (await canCommandRun(slashCommand, command, userProfile, banned, client)) {
    command.run(slashCommand, userProfile);
    setTimeout(() => {
      client.cmdCooldowns.delete(slashCommand.member.user.id);
    }, 1000);
    client.cmdCooldowns.set(slashCommand.member.user.id, command.data.name);
  }

Tried adding a cooldown between sending commands but doesn't work either

earnest phoenix
#

your right

radiant burrow
#

would a user be suprised if they pressed send twice and the command happened twice?

grim aspen
#

no

tulip ledge
#

well, the issue is that it's an RPG bot

#

so users can use commands that are supposed to be on cooldown twice

earnest phoenix
#

wow

grim aspen
#

i'm guessing discordjs?

radiant burrow
#

hmm does it not update the cooldown quick enough

tulip ledge
#

yes

earnest phoenix
#

you can bypass the cooldown

tulip ledge
earnest phoenix
#

update it quicker

#

🤑

tulip ledge
#

the cooldowns are saved to the user's profile

neon leaf
radiant burrow
#

what method for handling the cooldown are you using atm?

tulip ledge
#

alright

grim aspen
#

just use a combination of different timers and data services

radiant burrow
#

its weird bc when I do it on my phone it just puts an error for both

#

but for you it responds to both of them?

earnest phoenix
#

not for me

radiant burrow
#

interesting

earnest phoenix
#

if i click fast it registers 2 commands

grim aspen
#

if it's erroring two same messages twice then check code

earnest phoenix
tulip ledge
earnest phoenix
#

ios?

tulip ledge
#

yes

radiant burrow
#

I wonder why mine is. lemme check

earnest phoenix
#

are you ios brady

radiant burrow
#

android

earnest phoenix
#

hm

#

maybe that’s why it doesn’t work for you

#

works for us and we’re on ios

tulip ledge
#

Maybe it has to do with different discord versions?

radiant burrow
#

oh now it did

tulip ledge
#

I hate the ios one for slashcommands

radiant burrow
#

let me see what happens with a command that uses energy on mine, now im curious

earnest phoenix
#

oop

radiant burrow
#

no mine updates it for both

neon leaf
#

hm

radiant burrow
#

22 energy before, adventure uses 3 energy

neon leaf
#

well

#

if you want to make 100% sure

#

implement a queue and run each command one after another

earnest phoenix
#

why not have bot think

radiant burrow
#

so that means u just gotta adjust it so it updates quicker ig?

neon leaf
#

drastically

radiant burrow
#

oh yea defer response?

tulip ledge
radiant burrow
#

interesting

#

what happens if you don't

tulip ledge
#

cuz the last one just overrides the first one

#

so it's not that bad of an issue

radiant burrow
#

is it a command that takes more than 3 seconds

tulip ledge
#

Ok nvm I was stupid and managed to fix it

earnest phoenix
#

nice

radiant burrow
#

yay!

tulip ledge
#

I only put the check outside of the await not the adding to the cmdCooldowns map

#

well ty all

earnest phoenix
#

i should make a bot

#

what do i make

radiant burrow
#

a bot that randomly bans a member once a day

earnest phoenix
#

🤑

#

does anyone know a bot that restores roles

radiant burrow
#

in what context

earnest phoenix
#

when u leave

#

then join back

#

roles = restored

radiant burrow
#

ohh

#

uhh i think carl bot does that bc i have had that happen but I dont think its a normal feautre

earnest phoenix
#

wow

#

so my bot idea is taken

neon leaf
#

it will always be

earnest phoenix
#

🙁

neon leaf
#

just do it better than the competition

earnest phoenix
#

😦

earnest phoenix
#

how tho

neon leaf
#

whitelist which roles will be added back, exclude users with x role, ...

earnest phoenix
#

true

#

i thought of the first one but blacklist

#

so for example if u kick admin who’s abusing and they join back

#

they won’t get admin back

#

insane idea

#

role select menus have multi select right

#

ok i’m going to make this bot when i get home

#

and post on top.gg for the entire world

radiant burrow
earnest phoenix
#

i’m also going to paywall the bot

radiant burrow
#

ah yes

#

the feature every bot dev needs to add

earnest phoenix
#

changing anything except the restoration being on and off will require a vote

#

not that bad tbh

radiant burrow
#

oh thats not a paywall

earnest phoenix
#

so to edit blacklist you will need to vote

radiant burrow
#

votewall more like

earnest phoenix
#

yeah

radiant burrow
#

but its against tos to votelock most of your commands

#

per topgg

#

-guidelines

earnest phoenix
#

everything will be under a single command

#

and the main feature won’t be vote locked

#

so i think i’m fine

radiant burrow
#

gotcha gotcha

wheat mesa
#

Factory keyword in dart is awesome @lyric mountain, it feels like a modern version of Java

tulip ledge
#

Any idea why

 await cmd.showModal(modal)

Gives me a 404?

lyric mountain
#

dont think I've used factory before, but yeah it pairs really well if you're used to java

#

flutter front + java back is great

wheat mesa
#

It’s a really nice keyword for defining singletons

#

That way you don’t have to access it through like Class.SINGLETON_PROP.method(), every instance you create will use the singleton you defined

#

(In the way I’m using it at least)

tulip ledge
#

Do modals only work on buttoninteractions?

slim void
#

no

tulip ledge
#

Then why does my modal work when I do it on a button interaction but on a normal interaction it gives me a 404

earnest phoenix
#

what’s a normal interaction

tulip ledge
#

like slashcommand

earnest phoenix
#

does anyone know a bot that will restore a users roles if they rejoin the server?

tulip ledge
earnest phoenix
#

why

#

you can use a modal as a response to slash commands

earnest phoenix
#

you're just doing something wrong

earnest phoenix
grim aspen
#

just use chatgpt

#

to make that bot

earnest phoenix
#

but i am wondering if there already exists a bot with advanced configurations

wheat mesa
#

It probably exists

earnest phoenix
#

i'm trying to see

#

before i waste my time

earnest phoenix
#

advanced configurations

slim void
#

That tells use nothing :/

earnest phoenix
#

it does

slim void
#

Not really. I could call my status changer advaced

#

Anyway have you tried google?

earnest phoenix
#

yeah

#

cant find one

#

but maybe it's hiding

slim void
#

Well if you cant find any you may have to just make your own

#

Im sure there are some out there though. It all depends how much you look etc

earnest phoenix
#

i looked for 5 minutes

#

cant' find

lyric mountain
#

pretty much any reputable role-manager bot does

earnest phoenix
#

whats a role manager bot

slim void
#

What it says....

lyric mountain
#

a bot that manage roles

earnest phoenix
#

yes but

#

can u give me an example of one

#

so i can view it

lyric mountain
#

dyno idk

#

just find some popular bot with a role management module and it probably has it

earnest phoenix
#

dyno does not have

slim void
earnest phoenix
#

can u not

slim void
#

?

#

I just googled role management discord bots

earnest phoenix
#

pinging me for no reason

slim void
#

oh no im so sorry

lyric mountain
#

I dont use bots

#

but I saw bots do that already

slim void
#

I mean if he used google like I just did he would see a lot of them 🤷🏻‍♂️

earnest phoenix
#

but u can't name any

#

makes sense

slim void
#

Droplet

#

Mee6

#

I think unbeliaboat

deft wolf
#

I'm sure carl bot has this feature

earnest phoenix
#

none of those havew

earnest phoenix
#

but no customization

slim void
#

Droplet does 💀

#

How do I know bc I use it

#

If you cant find what YOU want why not just make it?

#

Not trying to be rude btw

earnest phoenix
slim void
#

Just make your own if your that picky

earnest phoenix
#

im not picky

#

you said it does but i cant find it

#

whats the command name?

radiant burrow
#

I know copilot can be used elsewhere but vsc + ghcp = about everything intellij seems to have

#

plus ghcp is like a billion times cheaper

rustic nova
#

along with the currently closed-beta copilot chat

#

useful asf

radiant burrow
#

poggythumbsup I'll give it a shot!

#

thx

earnest phoenix
#

it's bullshit

radiant burrow
#

it's been really nice on the trial

earnest phoenix
#

90% of the time it's a nuisance

#

suggests some random code

radiant burrow
#

hmm i havn't noticed it too much but ive only used it for a few hours. When it suggests stuff I'm a little surprised how it's what I need

#

plus the brushes seem nice

#

but i guess ill let u know if i notice more issues haha

earnest phoenix
#

🤷

#

idk maybe it works good for you but i don't find it's all that

#

if i really need help from an ai i just ask chatgpt

#

🤲

radiant burrow
#

that's true it seems like a baked in gpt that's more oriented to programming

#

i mean that's actually what it is i guess

earnest phoenix
#

Is there any guy who will help me to setup my bot repl

#

I will invite you

#

To my fork

#

It's python bot

#

what

earnest phoenix
#

Some error is coming can u help?

#

without knowing the error no one will be able to help

earnest phoenix
#

i can help you out

earnest phoenix
earnest phoenix
earnest phoenix
#

@earnest phoenix

earnest phoenix
#

Come dms

tulip ledge
#

Alright, so I am developing an RPG bot and it's getting quite big of a playerbase right now and I'd like to implement a logging system so I can monitor what users do to look for exploits, stuff I need to nerf, etc. Do any of you know a good way of implementing it? I was thinking of sending a message to a channel in the support server with the command issued and some data with the command?

tulip ledge
earnest phoenix
#

i’m being honest

tulip ledge
#

if you don't know just don't answer

earnest phoenix
#

you asked a yes or no question

#

i answered

tulip ledge
#

I'm already implementing the idea I had

#

brother

#

go bother someone else please

earnest phoenix
#

how am i bothering you

#

maybe don’t ask questions then

next storm
#
                    <span className="animated-gradient-text_background"
                    style={{
                        "--content": "'Food'", 
                        "--padding": "0.05em",
                        "--start-color": "var(--food-start-gradient)",
                        "--end-color": "var(--food-end-gradient)"
                    }}>```

why does the style part comes in red?
lyric mountain
next storm
#

nextjs and tsx

lyric mountain
#

ah, cant help much then, but did u define --food-start-gradient somewhere?

#

also wdym with "comes in red"?

#

like as in marked as error?

next storm
lyric mountain
next storm
# next storm

the component is working fine, but it's just showing the above red line, also hosting it in vercel gives error

tulip ledge
tulip ledge
lyric mountain
# next storm

that's a weird error, especially if it's working, you'll need to wait someone proficient with njs to pop here

lyric mountain
#

there's a global ratelimit, by logging to a channel ur reserving a big slice of it solely for logging

tulip ledge
#

how do you suggest I implement the logging feature then?

lyric mountain
#

serialize that (json, xml, whatever format) and save in a column in a table, if u need to analyze then simply query it

#

or document, if ur using nosql

#

that embed can be easily saved as a json

tulip ledge
#

yeah but that won't allow me an overview right?µ

pale vessel
lyric mountain
#

it will, you can simply query the data

tulip ledge
#

because how would I know which users to query if I can't see which users are possibly botting

lyric mountain
#

how would u do it with embeds?

tulip ledge
#

it just stays in the logs channel

lyric mountain
#

it'll also just stay in the database

tulip ledge
#

and if I see weird behaviour I can take action

lyric mountain
#

you wont be able to keep up with that channel once movement start to grow

#

all you'll see is a very fast spam

tulip ledge
#

mmmmhhh, ok

#

but how would I know which user's logs to query?

#

and won't it use a ton of storage?

lyric mountain
#

well, think about what you'd look for in the embed and apply it on the query

tulip ledge
#

well yeah, on the embed I'd just see if a user uses a command every x minutes it'd definitely be a botter

#

but I can't see that if it's stored in a database I need to query

lyric mountain
#

even if u do, database size issues dont appear until late tens of millions

#

just make a trigger that keeps only the last 10k or so entries

#

you wouldn't need to see a log from 2 months ago would u?

tulip ledge
#

mmmh, ok

#

yeah no probably not

lyric mountain
#

what database are u using btw?

tulip ledge
#

mariadb

#

mysql

lyric mountain
#

ye ye, ik maria

tulip ledge
#

but i'm using keyv

next storm
# pale vessel what are those property names? can't you simply use `content`, `padding`, `start...

actually I've 2 words which is Food & For

                <span className="animated-gradient-text_background agtb-food"
                    style={{
                        "content": "'Food'",
                        "padding": "0.05em",
                        "start-color": "var(--food-start-gradient)",
                        "end-color": "var(--food-end-gradient)"
                    }}>
                    <span className="animated-gradient-text_foreground animated-gradient-text_foreground-1">
                        Food
                    </span>
                </span>
                <span className="animated-gradient-text_background agtb-for"
                    style={{
                        "--content": "'For'",
                        "--padding": "0.05em",
                        "--start-color": "var(--for-start-gradient)",
                        "--end-color": "var(--for-end-gradient)"
                    }}>
                    <span className="animated-gradient-text_foreground animated-gradient-text_foreground-2">
                        For
                    </span>
                </span>```

in my css it's:```css
.animated-gradient-text_foreground {
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-left: 0.05em;
  padding-right: 0.05em;
  background-image: linear-gradient(90deg, var(--start-color), var(--end-color));
  position: relative;
  z-index: 10
}

.animated-gradient-text_background:before {
  content: var(--content);
  position: absolute;
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: -10px;
  background: var(--geist-text-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  padding-left: var(--padding);
  padding-right: var(--padding)
}```
lyric mountain
#

was going to say that if u were using postgres, it has built-in json querying tools

#

so u could filter by properties

#

idk if maria has it, ik mysql doesn't

tulip ledge
#

well yeah, I guess I'll save it to the database and see if I can figure out a way of making a good query

#

problem is

#

I'm using keyv right

lyric mountain
#

keyv?

tulip ledge
#

so I can only query by key or by value and I won't know the full json value

#

so I can't rlly filter by properties unless I pull all 10k entries

tulip ledge
#
lyric mountain
#

that uh...kills the advantage of sql

pale vessel
lyric mountain
#

but u can store the full json as the value

#

you still dont need to fetch every entry, only those relevant (through WHERE clause)

tulip ledge
#

well, yeah I can still use sql queries

#

so I suppose I'll do that

next storm
tulip ledge
#

and what do you suggest I make the key?

lyric mountain
#

honestly, you'd still need to store the full json, there's no way to have enough columns for every case

lyric mountain
tulip ledge
#

using uuid?

lyric mountain
#

no, just an autoincrement number

#

you'd have 4 columns at minumum:

  • key
  • user id
  • timestamp
  • the json
tulip ledge
#

ok, but I'm using keyv

lyric mountain
#

u said u can use regular queries

pale vessel
tulip ledge
#

yeah

#

I guess I should do that

#

Should I make a sepperate database or just a sepperate table?

lyric mountain
#

table

#

btw remember not to use timestamp as the name of the column

#

if u do, then use " to indicate literal

tulip ledge
lyric mountain
#

" not '

tulip ledge
#

oh oops

lyric mountain
#

' in sql is string, " is literal

tulip ledge
#
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '{
  key INT AUTO_INCREMENT PRIMARY KEY,
  userid VARCHAT(255) NOT NULL,
  "ti...' at line 1

Am I stupid?

lyric mountain
#

remove {

tulip ledge
#

been a while since I use sql x)

#

oh yeah its with ()

lyric mountain
#

it's (

tulip ledge
#

woops

lyric mountain
#

lmao

tulip ledge
lyric mountain
#

for timestamp u can use NOT NULL DEFAULT CURRENT_TIMESTAMP

tulip ledge
#

alright

#

I'm still getting an error

lyric mountain
#

I think it was current_timestamp

tulip ledge
#

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INT AUTO_INCREMENT PRIMARY KEY,?

lyric mountain
#

every database has a diff name for it

lyric mountain
#

what ide are u using?

tulip ledge
#

I'm just doing it in my terminal

lyric mountain
#

ah

#

nope, it's with _

tulip ledge
#

mmmh removing the _ didn't fix it

lyric mountain
#

ah, remove primary key

#

u declare it in constraints

tulip ledge
lyric mountain
#

put a better name for the constraint

#

but yes, like that

tulip ledge
#

what do you suggest is a better name?

lyric mountain
#

idk, pk_key is what I use normally

#

fk for foreigns, uk for uniques, etc

#

that way u dont have the issue of running into duplicate constraint names

tulip ledge
lyric mountain
#

see if it's INTEGER

#

shouldn't be, but worth a try

tulip ledge
#

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INTEGER AUTO_INCREMENT,

lyric mountain
#

nvm then

tulip ledge
#
CREATE TABLE logs (
  key INTEGER AUTO_INCREMENT,
  userid VARCHAT(255) NOT NULL,
  "timestamp" NOT NULL DEFAULT CURRENT_TIMESTAMP,
  log JSON,

  CONSTRAINT pk_key
    PRIMARY KEY (key)
)
#

This is the sql I'm using

lyric mountain
#

varchat

tulip ledge
#

ah

#

haha

#

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INT AUTO_INCREMENT,

#

💀

lyric mountain
#

hm, try putting not_null in it

tulip ledge
#

where?

#

in the key?

lyric mountain
#

key INT NOT NULL AUTO_INCREMENT

tulip ledge
#

nope

#

same error

#

I'm really confused

#

why is that not valid sql

tulip ledge
#

Did I not do it like them?

#
CREATE TABLE logs (
  key INT AUTO_INCREMENT NOT NULL,
  userid VARCHAR(255) NOT NULL,
  "timestamp" NOT NULL DEFAULT CURRENT_TIMESTAMP,
  log JSON,

  CONSTRAINT pk_key PRIMARY KEY (key)
)
#

Isn't this the same?

#
CREATE TABLE logs (
  key INT NOT NULL AUTO_INCREMENT,
  userid VARCHAR(255) NOT NULL,
  "timestamp" NOT NULL DEFAULT CURRENT_TIMESTAMP,
  log JSON,

  CONSTRAINT pk_key PRIMARY KEY (key)
)
#

I did like this

#

but still not working

lyric mountain
#

with int size?

tulip ledge
#

ah

#

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INT(16) NOT NULL AUTO_INCREMENT,
userid VARCHAR(255) NOT NULL,
"timestamp...' at line 2

#

maybe it has to do with timestamp?

lyric mountain
#

perhaps

#

try another name

#

oh wait

#

u remove timestamp type

#

"timestamp" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

tulip ledge
#

ohh...

#

nope -_-

#

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INT(16) NOT NULL AUTO_INCREMENT,
userid VARCHAR(255) NOT NULL,
"timestamp...' at line 2

lyric mountain
#

try removing " then

tulip ledge
#

nope

#

and renaming it doesn't work either

#

yeah if I remove the line for timestamp and try it still gives the error

lyric mountain
#

would be easier through an ide tbh

#

just a sec, lemme throw that script in intellij

#

nvm, thats before u added timestamp

tulip ledge
#

look at the key

lyric mountain
#

ah, it's key

#

see how it's orange

tulip ledge
#

yeah

#

I need to use " "

lyric mountain
tulip ledge
#

alright

#

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '"key" INT NOT NULL AUTO_INCREMENT,

💀

craggy pine
#

Have you tried using heidiSQL? If this is being done on windows atleast, it does all that work for you pretty easily.

tulip ledge
#

I'm just creating the table using my terminal on windows

craggy pine
#

Well what I mean.

#

Download it on windows, and connect it to your VPS

#

what I do

tulip ledge
#

https://www.heidisql.com/?cookie_consent=1 this one?

craggy pine
#

could just link it but. lol

#

I too use mariadb

#

You'll probably have to adjust your mariadb settings to allow connections anywhere.

#

I forget the exact file but its just changing the ip to 0.0.0.0 I think

#

been forever since I've messed with the settings.

craggy pine
#

well probably, I only do it for a single server discord bot so idc

#

but ull probably not want to do that.

#

I do know that you'll want to create a user profile for mariadb for your desktop IP.

#

so for me it's "Nyu" with my password + my ipv4

#

it wont be root because well, its not the ubuntu machine.

tulip ledge
#

ok but question

#

how is heidi sql gonna solve that error?

craggy pine
#

Because its a UI based system and not a console based system, so however you wana setup your table, you can do it with buttons

#

it just may be a simplier time.

#

You can also execute SQL directly in the program if needed too.

tulip ledge
#

ok I'll try I guess, thanks everyone for helping

lyric mountain
#

having highlighting and visual clues is much better for writing sql

tulip ledge
#

Do you think I could use a trigger on the insert event or whatever its called in mysql to delete the oldest entry if there are more than 10000

lyric mountain
#

sure why not

tulip ledge
#

Alright is that the best option?

lyric mountain
#

doing in a trigger

earnest phoenix
#

what if someone bots 10000 trades to hide their exploits

#

🤑

wheat mesa
#

Is there an easy way to output 1 decimal place, or none if the number is a whole number in C++? Ideally I'd have behavior like this: ```
Number: 55.31235
55.3
Number: 32.0
32
etc

#

@earnest phoenix maybe you know?

marsh lark
wheat mesa
#

I'm so fucking sick of std::setprecision

#

so fucking complicated for absolutely no good reason

marsh lark
#

well ur using c++ mmLol

wheat mesa
#

I don't have a choice

#

output formatting is fucking dogshit in this language

#

Instead of doing what I want it to do, some absolute genius C++ stdlib dev decided to make setprecision control the amount of total digits outputted instead of decimal places

#

Which I cannot even explain how moronic that is

#

And the "solution" is to use std::fixed, but I don't want to use that because then numbers that I want to have outputted without decimal points are going to output decimal points

#

See my issue here

#

I had to come up with some braindead redundant and overly complicated solution because this isn't easy to do apparently

quartz kindle
#

cant you use modulo and cast to int?

lyric mountain
# wheat mesa
std::string trunc(double value, int decimals) {
  if (decimals <= 0) return std::to_string((int) value);

  std::string out = std::to_string(value);
  return out.substr(0, min(out.length, out.find('.') + 1 + decimals));
}
``` ![mmLol](https://cdn.discordapp.com/emojis/356831697385422848.webp?size=128 "mmLol")
wheat mesa
#

Now I can't solve it because of ONE test case

wheat mesa
#

like what the fuck

#

how am I meant to know what to round

#

if some are 2 places and some are 1

quartz kindle
#

and you are banned

quartz kindle
wheat mesa
rustic nova
#

@ebon rain last warning

wheat mesa
#

crazy how I've spent 2+ hours trying to format this and failed, but the core functionality of the assignment took me 10 minutes

quartz kindle
wheat mesa
#

it wants those two numbers to be outputted with 2 decimal places

#

for some reason

lyric mountain
#

this is the moment you wish u had DecimalFormat

#

would be simple af with just 0.##

wheat mesa
#

this is the moment where I wish I didn't have an autograder looking at my work

quartz kindle
wheat mesa
#

wdym

quartz kindle
#

like the actual sum of those values produces 2 decimal places?

wheat mesa
#

One of the values is from the input as PI, the other is a sum

#

Which the issue with inputting PI is that it's going to give like 3.14159265 or whatever the constant is defined as in the stdlib

#

Therefore the total will be off as well

quartz kindle
#

so you need to check, if more than 2 demicals, truncate to 2 decimals

#

if less, keep them in their original value?

wheat mesa
#

I believe so

#

Problem with C++ is that it's not super easy to format that

#

std::setprecision will specify the number of digits, not just decimal places, unless you use std::fixed

quartz kindle
#

so instead of using setPrecision in one of your conditions, use the fmod method

wheat mesa
#

But if you use std::fixed, it'll output something like 20.00 or 21.20

quartz kindle
#

exactly

#

the fmod method will keep whatever decimals the original number has

#

so you just need to rule out excessive decimals

wheat mesa
#

jesus tim you're a fucking genius

#

it passed

quartz kindle
#

exdee

wheat mesa
#

but my god that is WAY harder than it should've been

#

considering we have been taught absolutely nothing about formatting in C++

#

Not even printf

#

Literally just cout is all we "know"

#

So we should not be expected to know how to format that

#

I spent 2 hours formatting and 10 minutes on the actual assignment

quartz kindle
#

you're probably expected to format it using strings or math

#

counting digits and such

rustic nova
wheat mesa
#

I wouldn't say so, the point of the assignment was to teach about loops and conditionals

quartz kindle
wheat mesa
#

I don't see why we would need to spend so much time worrying about formatting

rustic nova
#

very

quartz kindle
#

using conditionals and loops on strings and characters

#

in order to detect and count digits

wheat mesa
#

That's not what it was meant for though, I'll send a description of the assignment rq

quartz kindle
#

but well idk

wheat mesa
rustic nova
#

Yess successfully made a docker-only VPN Network

pogu

#

took me ages to figure out the docker networking

wheat mesa
#

I basically cheated on this assignment too

#

I used a vector when we haven't even come close to learning about those

#

Hell we barely just touched arrays for the first time

quartz kindle
#

yeah sounds weird

#

i would assume "natual language processing" is supposed to some advanced subject that people should already have some experience to be able to deal with

wheat mesa
#

And the extent of our arrays was "this is called a pointer. for this assignment just treat it as if it were an array in java"

quartz kindle
#

or maybe they want to weed out the weaklings :^)

wheat mesa
#

It's technically a 2nd year course

#

But it's so unbelievably basic for a 2nd year course

quartz kindle
#

basic on the surface but filled with tricks inside

#

:^)

wheat mesa
#

A month in and we haven't talked about pointers or references or anything actually related to C++

#

Not even how memory works

#

I hate it when courses don't explain why something is the way it is, especially if it's not that complex

quartz kindle
#

lodge a complaint with the board of education

wheat mesa
#

Memory is a big topic but a basic "A pointer is a variable that stores a location in memory" wouldn't be that hard

quartz kindle
#

at the place where im working at, students are asked to rate the teachers at the end of each course

#

if the teachers dont do a good job, they wont get much work

wheat mesa
#

that's how it should be

#

my discrete math professor is a dick and sucks at teaching tbh

quartz kindle
#

rip

wheat mesa
#

doesn't answer questions because "we don't have time"

#

is VERY condescending if you actually ask a question in class, so nobody does

#

I hate it when professors don't like teaching their lower level courses

#

Just because it's introductory and simple to you doesn't mean that we can be experts in it in 5 minutes from a slideshow

quartz kindle
#

ye

wheat mesa
#

I love teaching people the basics and the stuff that I'm confident in, it's so rewarding

#

I'd honestly probably be a teacher if the pay was higher and if I didn't want to write enterprise level code and such

rustic nova
rustic nova
#

yeah

wheat mesa
#

I respect your job @quartz kindle, wish u the best

#

wish you were my teacher 😭

quartz kindle
#

xD

earnest phoenix
#

from this site, how can i add bot

#

to my server

real rose
#

@earnest phoenix did you setup the bot yet?

earnest phoenix
#

i had setup luca bot

real rose
#

luca?

earnest phoenix
#

i just saw here in this sever with same pic]

#

carl bot

real rose
#

I'm confused as to what you're looking for now

earnest phoenix
real rose
#

If you want to invite your bot to your server, you can just use a blank invite link.

earnest phoenix
#

i dont know how to add

real rose
#

Is your bot running

earnest phoenix
real rose
#

Then just invite it

#

using an invite link

#

You can create one on the Discord developer dashboard