#Trivia Bot Thread

1 messages · Page 1 of 1 (latest)

merry coyote
#

.

gray knot
#

A

sinful nexus
#

B

glossy socket
#

@sinful nexus saw the message! I'll be sure to check it out once I'm done with schoolwork

#

You did that really quickly too lol

sinful nexus
#

i just added the functionality

#

that they wanted

#

this is the main part

#

but i recommend that you check out the two commands /ask /end

#

because they handle edge cases and shows how to handle active questions

glossy socket
#

I'll have to get on this later...

#

oreo you have an interesting plugin there

#

for the equal value and type (===) and the arrow function (=>)

sinful nexus
#

It's ligatures

#

Comes with firacode and jetbrains mono

#

It's a font basically

sinful nexus
#

So like what should the data visualization look like?

glossy socket
#

oh shoot right i completely forgot about this Frieren3

#

thats alright i already started

glossy socket
sinful nexus
#

Ight

#

Google sheets are apparently easy to work with now

#

With js if u use Google app stuff

glossy socket
sinful nexus
#

Yeah I was just gonna say that

#

I had to double check

glossy socket
#

btw

sinful nexus
#

If it was easy to convert to Google sheets

glossy socket
#

did you use prisma

#

ive actually never used an orm before

#

but i used it the other day for my wiki app and its great

#

or did you use something called sapphire

sinful nexus
#

Both

#

Sapphire is just a framework for djs

#
#

U dont need need to use it since the logic in the commands will still be the same

glossy socket
#

unless you recommend it a lot

sinful nexus
#

I mean if I make a bot I always use sapphire, but since this both is solely gonna be for trivia I see no need for it.

#

Unless this bot will handle a lot of events in the future.

#

If it will

#

Then yes I recommend sapphire

#

It's very flexible

#

Almost as flexible as plain ts

glossy socket
#

alr then

#

ill check the docs

sinful nexus
#

Yeah just ping me if u need any help

#

I recommend using the sapphire cli

#

To start

gray knot
#

so how are things here FernThink

glossy socket
#

can work on it today

gray knot
#

School goes first KanneThumbsUp

glossy socket
#

I'm having so many issues with docker Frieren3

glossy socket
#

When I tell docker to run some commands it doesn't work but when I tell it to run a script containing the exact same commands NOW it works

#

At least I can move on... HeiterDrunkCry

#

Hopefully this was worth it for when it has to be deployed

#

Tbh I don't know if I can host it myself when the time comes

gray knot
#

I guess it depends on when the Trivia event takes place and how much manpower we can muster

#

Theoretically having 6(+) people should make it easy compared to the previous one

#

But I was not there at the first trivia event so Frieren8

glossy socket
#

I don't think we'll run into performance issues unless we get like ~200 participants

gray knot
#

I could be eating my words in a year or two

gray knot
#

The previous event had around that number no?

glossy socket
#

Really?

#

Huh

#

I suppose I can simulate a stress test

#

I would've thought the turnout would be lower since I got into the top active so quickly lol

gray knot
#

I think I saved the trivia event participants list hold on

#

Yeah uh, the first trivia event was like during one of the heights of activity with the anime (still airing(?)) I think

#

A second trivia event with season 2 would probably be uh, comparable

glossy socket
#

Potentially more...

gray knot
#

Okay so it was more like 158 I think, according to the results excel document, which you may already have SerieUwu

glossy socket
#

Anyway the performance issues on the server side are pretty low, there could easily be 5k questions answered per second if it wasnt going through the discord api

#

That and the hardware it's run on

#

158? Alr I'll expect like 400 max

#

I'll assume everybody answers proportionally in 5 seconds or something

#

But that's later

glossy socket
gray knot
glossy socket
gray knot
#

the people

glossy socket
#

Oh yeah for sure lol

gray knot
#

Some of these questions absolutely cannot be answered in 5 seconds

#

(S1 trivia event)

glossy socket
#

Maybe they'll decide to do a warmup or something AuraShrug

sinful nexus
sinful nexus
#

And then parse the questions after

#

That's the best way to keep performance consistent

#

Bc I don't think my old method will work if you're expecting 200+ competitors

#

Since it only fetches the last 100 msgs

#

Idk how much u can fetch

glossy socket
glossy socket
glossy socket
#

alr looks like the websocket can comfortably handle ~50-100 messages per second

#

which is great

#

ive never really seen that many being sent at once anyway

#

the delay is about ~150ms in the container id say so very small

#

testing the db load next

#

did a bit of optimization with setImmediate() and async stuff

not sure if it will make a difference

sinful nexus
glossy socket
sinful nexus
#

Hm

#

Kinda overkill

#

Why not sqlite

#

Faster for sure

#

Ofcourse both works

glossy socket
#

Like harder to use

#

Or something else

sinful nexus
#

Nah like it's more resource intensive

#

Than sqlite

glossy socket
#

If it's an issue I'll switch

#

Orm makes that easier

sinful nexus
#

True

#

But there are some stuff that don't work in sqlite that works in postgres

#

I forgot what it was

#

Something to do with an array or something

glossy socket
#

Yeah

#

That's true

#

Anyway it's going well but I've just been busy

sinful nexus
#

I mean I could help if you want me to

glossy socket
#

For bigger projects I'd love to collab sometime

sinful nexus
#

I'm planning a Pokémon type bot but for freiren characters where u collect cards based on characters and battle each other lol

#

Idk why

#

Just got that idea in school one day

#

Idk if I'll follow through with it

glossy socket
glossy socket
#

I am also "working" on a frieren game

glossy socket
#

I figured out a way to not have to store the open or closed status of questions

#

Only the most recent question can be open and a question is only open if the bot has a listener on that channel which is something it already tracks

sinful nexus
#

makes sense

glossy socket
#

@dry oyster alright the main system is done, very fast and type safe might I add :)

anyway if theres anything you want added or changed as the host let me know

you can only have 1 question open and in 1 channel, i did this to make it faster but i dont think that will be an issue

#

i dont know about the hosting situation but i built with docker so hopefully that will be made easier when the time comes

dry oyster
#

Wow this came completely out of the blue

#

I wasn't even aware of this thread existing

glossy socket
#

oh lol

#

flew under the radar StarkButCoolColored

dry oyster
#

Ok this looks pretty nice

glossy socket
#

I haven't written any of the grading utilities stuff but that's easier

Can do point bonuses and other stuff

dry oyster
#

Does it pick up the right answers yet?

#

is this a private thread btw ? can't have the world know lol

glossy socket
glossy socket
#

So it simply logs every message for grading later

glossy socket
#

@dry oyster you ARE going to be hosting right

#

i only really talked about it briefly more starting

#

also lmk about the other stuff

dry oyster
#

I'm gonna be honest with you dude

#

We will definitely make use of this and all that but errrrrrrrrrrrrrrrrrrrrrrrrrr I never recall announcing or planning a trivia event anytime soon

glossy socket
#

ye i kinda expected that

#

but someone did say better get started on that soon then or something like that

#

other messages in chat too

#

oh and i think @merry coyote was also interested

#

oreo and ravager already here

#

wait sacch created the thread

#

alr and thats good for now just in case nick wants to make private later

sinful nexus
#

Cool

sinful nexus
#

The video doesn't wanna play for me

#

Oh well

swift sequoia
#

looks pretty solid

#

thanks a lot

#

when a levels aren’t killing me i’ll start work on a database, when i get on the wiki (hopefully)

sinful nexus
#

a database?

swift sequoia
sinful nexus
#

oh

glossy socket
#

we should do a trial run at some point

glossy socket
sinful nexus
#

yeah the file type was unsupported on my phone for some reason

#

i saw it after i got on pc

glossy socket
#

oh cool

sinful nexus
#

i couldnt view it even after i downloaded it

swift sequoia
glossy socket
swift sequoia
#

Umm, when I get on the wiki I’ll make up a small test run database

#

Enough for you and me to test run

glossy socket
glossy socket
gentle fable
#

oh you mean people's answers are already logged

#

I was confused because each question only ever has the one answer, which you create when you create the question, so I wasn't sure why we wouldn't have the answer lmao

glossy socket
#

yes!

#

i think people mentioned how there was a lot of different forms people gave their answers in so

#

no auto grading with a preset answer

gentle fable
#

yeah, I remember the discussion in the wiki channel

glossy socket
#

@merry coyote i just added role removal when the boosts expire

  • made sure double boosting doesnt break anything