becca-lyria
becca-lyria copied to clipboard
[FEAT] - Question Of The Day with Becca!
What feature would you like to see?
A Question Of The Day feature.
It would be really great if the unreliable QOTD bot can be replaced by Becca :D And that way maybe we can also get more fun questions.
Additional information
No response
I think we'd need to iron out some implementation approaches. Ideally in a way that will scale.
Okay,
In order for this to work, we will need to do a few things:
- We will need to add config options to set the channel, and to set the hour for the CRON (in UTC), and optionally a role to ping.
- We will need to load in a bunch of questions.
- We will need to track which questions have been asked in a server. (I don't have an implementation idea for this yet...)
We can probably shove these under a new qotd
top-level command.
Hey @naomi-lgbt! I'm not sure what your plans are for implementing this, but Heptagram API has a qotd endpoint.
You can find the endpoint here, and the docs are up to date here.
Currently the endpoint is very simple, but the goal with Heptagram API is to tailor it to bots, so I am happy to change and adapt the endpoint to make it work for this implementation!
Just let me know!!
Just saw that those docs don't have the endpoint π€¦. When I get home tomorrow, I will have those docs updated. The endpoint is currently there tho! You can do a get request on it, and it should return a random one.
I'd be happy to consider it.
The biggest things are being able to track which questions have already been sent, and servers being able to load custom questions.
Awesome! Re: the docs, they should now be deployed, and up to date.
What would make the tracking able to happen? Currently a response to the endpoint looks like this
{
"_id": "62aa53296e2e5cdfd27bd4b1",
"id": "c19034ba-9364-4d31-b700-61600a056c18",
"uniqueID": "90",
"qotd": "What outdoor activity havenβt you tried, but would like to?",
"dateUploaded": "2022-05-06T23:00:40.452Z",
"__v": 0
}
It is kind of messy right now, but we can use either "id" or "uniqueID and a new endpoint to be able to specifically call certain questions. uniqueID may make the most sense, because it is sequential, instead of randomly generated.
Let me know what you think, I am open to suggestions, and want to make this as easy as possible for you!
Currently the DB has 351 qotds, but we can expand that significantly.
@naomi-lgbt, what do you think?
For this to work, we would need:
- Either a way to pass a list of questions that we want to exclude from the random questions OR a way to pull down all the questions at once (so we can do the filter logic locally)
- Assurance that the
uniqueID
will never change when new questions are added.
Hey @naomi-lgbt, I would love to take this on...
For this to work, we would need:
- Either a way to pass a list of questions that we want to exclude from the random questions OR a way to pull down all the questions at once (so we can do the filter logic locally)
- Assurance that the
uniqueID
will never change when new questions are added.
I am working on routes to make those things possible
Is this also blocked until the config overhaul?
Yes.
I will focus on the API side while I wait then. π
Would love to take this once I finish my other issue
@naomi-lgbt, with the API temporarily removed from the scam link detection, would you prefer we don't use it for QOTDs?
Nah, we can totally use it for QOTDs - this isn't a feature that will result in erroneous kicks/bans so we're all good.
ππ»

You can filter out now....
API is all set to go!
The IDs will never change for an QOTD
Loading up the database now, but we have 1505
qotds in there now