#dev-contrib

1 messages Β· Page 154 of 1

gritty wind
#

I'm just mildly annoyed utcnow doesn't set the tz on it's own

vale ibex
#

legacy

molten perch
#

Wow that was fast, thank you! πŸ˜„

green oriole
#

my pleasure doing business with you πŸ•΅οΈ

molten perch
#

lemon_fingerguns_shades
I had to do a bit of a trick with the cache, but it works

fallen patrol
#

bump, can I submit pr to apply this to Lance?

#

doesn't seem worthy of an issue, but if no one says yeah I'll make one lol

green oriole
#

I don't understand what you want to change and why

fallen patrol
#

OK I will make an issue lol

#

the paginator in Lance was taken from bot years ago. the bug was fixed on bot, but not on Lance. this patch fixed it on bot last year. it was not ported to Lance.

green oriole
#

I see, you can PR it

gritty wind
#

Hey @vale ibex did you have to manually cross-off the task in bot#1961 or was it closed automatically with the PR?

dusky shoreBOT
vale ibex
#

I did it πŸ˜›

gritty wind
#

Aww, would've been cool

#

Thanks for your review btw

fallen patrol
gritty wind
#

Just tell joe, he'll find a way to make review bot do it

fallen patrol
#

lol

#

probably not a feature that's wanted tho

patent pivot
#

interesting idea

vale ibex
#

Yo, whoever want's to be a part of the termination of @brisk belfry feel free to check out bot#1928

dusky shoreBOT
green oriole
vale ibex
#

heh

green oriole
#

guess I am going to jail

#

I mean I can say an hour is 12

patent pivot
green oriole
#

you know what bothers me

#

the big A

#

that's too nitpicky if you ask me

vale ibex
trail pilot
#

I was about to say the same thing haha

#

and that lead to my question, would you want logic suggestions or nitpicks?

green oriole
trail pilot
#

What do you all think of sir-lancebot#948 which migrates the quiz command into threads and also adds a few questions onto the most common categories for the quiz command?

dusky shoreBOT
trail pilot
#

Actually about that last part, I'm not sure if this is just deja vu but was there an issue on adding more questions to the quiz command?

vocal prairie
#

sir-lancebot#815 maybe?

trail pilot
#

Yep it was that, thank you

#

so for now it might just have to be migrating to threads since that issue is for Objectivitix i think

fallen patrol
#

oh ye

#

FYI archiver_id will always be none

#

(on threads)

cold island
trail pilot
fallen patrol
dusky shoreBOT
austere hornet
#

Never heard of seasonalbot before

green oriole
#

It was sir lancebot like 10 months ago

thorny obsidian
#

seasonalbot is what lancebot used to be called

fallen patrol
#

^

#

also this discord-python/bot#1928

dusky shoreBOT
fallen patrol
#

say...

#

@clever wraith does the appeals plugin have a way to allow mods and up into the appeals server without kicking them automatically?

austere hornet
gritty wind
#

Anyone with the dev-ops role does not get kicked

fallen patrol
#

but what if there's a new mod who needs to be added πŸ˜›

clever wraith
gritty wind
#

No real reason to be on that server

fallen patrol
#

how can staff be given roles to bypass if they get kicked lol

gritty wind
#

Given the roles here

fallen patrol
#

ah

green oriole
#

But it is a mystery how you assign it

fallen patrol
#

yeah

fallen patrol
green oriole
#

I mean, we would just restart modmail and do it while the bot is restarting lol

fallen patrol
#

lmao

green oriole
#

We won't assign devops just for this

#

It does have some perms, it isn't a vanity role

fallen patrol
#

ah

patent pivot
green oriole
#

With who though

patent pivot
#

scale got in somehow

green oriole
#

Scale got yeeted didn't he

fallen patrol
#

well tbf scale has admin so

patent pivot
#

what a hacker

fallen patrol
#

not really like scale is getting extra perms

green oriole
#

Doesn't matter for scale anyway, he's admin lol

patent pivot
#

probably won't be possible at some point down the line

#

when we do

#

zero trust all the thingsℒ️

green oriole
#

You should really do the thing

fallen patrol
green oriole
#

Just because it is so technically interesting

patent pivot
#

it's not actually perm removal, it's just requiring things like 2fa to use perms

fallen patrol
#

so

#

nothing is changing?

#

this server already requires 2fa

austere hornet
#

How is that possible??

patent pivot
austere hornet
#

I'm so confused

fallen patrol
patent pivot
#

escalate temporarily to have perms

fallen patrol
#

ahh

#

gotcha

#

how would escalation be done?

patent pivot
#

bot command + site somewhere

fallen patrol
#

yes I want the juicy implementation details

fallen patrol
patent pivot
#

huh?

green oriole
#

I was thinking about command + DM to the bot

patent pivot
#

they have to go to a site, enter a 2fa code, and then they get perms

#

lol

green oriole
#

Having a web challenge run on the CF edge could be interesting

fallen patrol
#

and how would perms be granted?

patent pivot
#

bot

#

through roles or overrides

fallen patrol
#

with a role that has admin, below the bots highest role

patent pivot
#

above all roles

fallen patrol
#

no, it would be below the bots highest role

green oriole
#

Web challenge would allow stateless bot which would be sick

patent pivot
#

it is something that i am tying into

#

snow don

fallen patrol
#

which now means the bot is in control

patent pivot
#

my cool project name

green oriole
#

Ah yes

patent pivot
#

but snowdon will do more than thta

green oriole
#

That explains it

fallen patrol
#

so some of the current admin user commands would not be accessible to them unless superuser

#

eg eval

#

because anyone who had access to the eval command could bypass the whole system

#

and just yeet themselves an admin role

patent pivot
#

eval would be something we'd look at yeah, it would probably be a separate bot to python but we'd need to see how we can hook it in

fallen patrol
#

yes I do think of the discord permissions system daily

patent pivot
#

presumably have snowdon expose an API where python can check if the user has sudo status

thorny obsidian
#

My big concern is redundancy in case there are issues with the bot's connection or the api gateway for the bot

fallen patrol
#

would this apply to admins or owners too?

#

okay I'm basically asking are you gonna make lemon and Sebastiaan have to do the 2fa

patent pivot
patent pivot
thorny obsidian
#

(With me no longer being an admin but still needing to do things like move channels, role adjustments, and etc. It's essentially zero trust and it's such a pain to get things done tbh)

fallen patrol
#

so what happens to your permanently superuser perms Joe πŸ‘€

thorny obsidian
patent pivot
fallen patrol
patent pivot
# thorny obsidian what would this script look like? How would it be run? Because if it's relying o...

a good question, and one to figure out, running it would probably use something like Shamir secret sharing to decrypt a token and use that to restore perms, not entirely sure of the implementation yet, almost all of this is just ideas in my mind. As for a situation where bots cannot use the REST API, I can't think of one where discord is online and that is the case, so it's one to think about but not one I expect we'd have to deal with

thorny obsidian
patent pivot
#

it wouldn't use python, all of this would be on a separate team on separate bots

fallen patrol
#

btw what's the status of botcore?

#

since botcore is supposed to dedupe code between bots

patent pivot
#

think it's in Zig's hands, not sure where we're at with it

fallen patrol
#

wish i could help lol

gritty wind
#

We merged the first commit a couple days ago

#

The repo itself is public though, you can see that

thorny obsidian
#

I guess I'm just ultra hesitant of the zero-trust thing, cause with my events lead role it has been Not The Most Fun ℒ️ and if there's a hiccup you still have to determine if it's serious enough for the Doomsday script or not. It just sounds like a lot of friction to getting stuff done. Buuut I'm no longer an admin so *shrug*

patent pivot
#

I'm not sure it's similar to your situation

#

this isn't removal of permissions, admins will still have all the permissions they need, it's just audited and needs 2FA, I'm not even sure if we'll restrict Administrator

#

but yeah it's something that still needs a lot of specifying

brisk brook
#

Zero-trust o_O?

My Dad has done work for a bank, and they need zero-trust for all microservices... and when I say, trust me, it does not sound fun.

thorny obsidian
brisk brook
#

All sockets between the microservices are encrypted, audit logs are done on an encrypted Blockchain, etc.

pydis_nope_py

thorny obsidian
#

Because right now, anytime I want to do something with moving channels, or roles, or whatever it's me requesting to either have those perms or it be done. Even if an admin is immediately around to give that to me, it's still a delay and additional friction to getting things done when you're on a roll with getting things done.

patent pivot
#

but yeah it's something we've yet to specify fully, UX will be something that we balance out with security

patent pivot
#

but as much as is feasible

#

and auditing permission uses feels like something that is fairly alright

gritty wind
brisk brook
cold island
austere hornet
#

Lol

gritty wind
#

What's the unlabeled zone between scaleios and not scaleios

#

What's the government hiding

#

What do they not want us to know

fallen patrol
gritty wind
#

There aren't any issues written down afaik

patent pivot
#

lol, yea, there aren't

fallen patrol
#

or was that smartconfig

gritty wind
#

forms probably

fallen patrol
#

ah, that's your project 🀑

gritty wind
#

That one does have some issues written down, just not public

fallen patrol
#

yeah

thorny obsidian
#

@molten perch what's the command structure for .aoc daystar?
Is it still something like: .aoc daystar 5-2
?

molten perch
#

Nope. I implemented a view! πŸ™‚

#

You just do .aoc daystar

thorny obsidian
#

oooh, nice nice!

molten perch
#

And the leaderboard command works like: .aoc lb [name] if it is not found, then it'll send back an error.

cursive relic
#

Somehow .aoc join ain't working :/

patent pivot
#

Kat is working on it

#

lol

#

no idea

#

probably fires a sentry exception

thorny obsidian
#

... the answer is nothing lemon_sweat

#

D:

patent pivot
#

it doesn't raise from there, but it logs an error to sentry

thorny obsidian
#

oh how does it know to log to sentry?

patent pivot
#

not all leaderboard failures notify, transient HTTP doesn't, but if it gets a bad response (e.g. bad cookie) then it'll log

stable mountainBOT
#

bot/exts/events/advent_of_code/_helpers.py lines 261 to 262

log.error("It seems like the fallback cookie has expired!")
raise FetchingLeaderboardFailedError from None```
stable mountainBOT
#

bot/exts/events/advent_of_code/_helpers.py lines 278 to 279

log.error(f"reached 'unreachable' state while fetching board `​{leaderboard.id}`​.")
raise FetchingLeaderboardFailedError```
thorny obsidian
#

aaaaah, okie

patent pivot
#

but we could make it more visible yea

vale ibex
#

We should resolve those in sentry so that when they happen again they get shoved in #dev-alerts

patent pivot
#

lol

#

no

#

alerts are sensitive, include user data

#

a lot

#

lol

#

if mod commands fail, they get relayed. if site fails, IPs and browsers get relayed, so on

gritty wind
#

Somewhere, in the depth of that channel, you can find my IP, browser, location, probably my phone number and mother's maiden name too

patent pivot
#

lmfao

austere hornet
#

Lol

gritty wind
#

sir-lancebot#951
bot#1966

gritty wind
#

They are tiny, would appreciate a review

#

Are there any more projects that need this

#

maaaaybe site

#

nop

fallen patrol
gritty wind
#

I'll put out a new announcment

#

But seeing as like 1 person actually uses it, it really does not matter

#

For most people, you'll have to do nothing

#

I could probably ping them individually too

fallen patrol
gritty wind
#

I know, I saw

fallen patrol
#

oh i forgot

brisk brook
#

What do you use it for?

#

I've never found a use

fallen patrol
# fallen patrol oh i forgot

Please make sure to ping me with an explanation of what you use it for if you vote B
@gritty wind hehe Tldr I use file logging for seeing differences between runs, or after a test run and they fail.

patent pivot
#

are our logs deterministic 😎

gritty wind
#
  1. We don't log tests
  2. There are definitely better ways to see what tests failed
  3. What joe just said
#
  1. It doesn't really matter to be able to see what changed between runs tbh
patent pivot
gritty wind
#

It's why we keep you around

austere hornet
#

Lmfao

vale ibex
#

Once bot#1868 is merged, we should probably update/remove .aoc subscribe

dusky shoreBOT
vale ibex
#

so that people know to use the new way

#

same for the lovefest equivalent

fallen patrol
vale ibex
#

can also remove role management perms from lance then too

fallen patrol
#

neat

green oriole
austere hornet
#

Lmao

molten perch
#

Yep, we'll definitely need to implement parallel testing on the API in the future πŸ€”

vale ibex
#

yea, xdist is real nice

#

we have it on bot if you want a reference

dusky shoreBOT
molten perch
patent pivot
#

xdist my beloved

patent pivot
vale ibex
molten perch
#

Okay, let's just discuss it before doing anything. πŸ˜„

molten perch
austere hornet
#

Lol

thorny obsidian
molten perch
#

Will you do that, or should I do it?

dusky shoreBOT
vale ibex
#

has had some feedback implemented already

dusky shoreBOT
fallen patrol
molten perch
#

That's one endpoint

fallen patrol
#

depending on how the tests are distributed, it won't help

molten perch
#

What do you mean? What will not help?

#

Oh, paralel testing. No, I'm almost certain it will.

#

I mean 45 seconds is not long, but if we aren't gonna implement paralel testing, it's gonna take much longer.
That's what I want to avoid.

fallen patrol
#

wut

#

yeah, they don't all

clever wraith
#

Does @stable mountain have slash commands and buttons?

static canyon
clever wraith
#

using dpy 2.0?

static canyon
#

Yes

clever wraith
#

Do you guys plan on adding your own implementation of slash commands or via a fork?

#

oh

static canyon
#

But we probably won't be using slash commands

fallen patrol
#

some form of comment lol

gritty wind
#

#dev-log now that's how you motivate reviewers

trail pilot
#

Should .aoc [command] be limited to #aoc-bot-commands?

thorny obsidian
trail pilot
#

ah alright

#

it’s kind of taking over #advent-of-code though and I’m sure it isn’t a worry now but in the future it might be

#

specifically .aoc join

thorny obsidian
#

I'm okay with it taking over for now because there isn't much else to talk about with AoC

clever wraith
#

!remind 166h dusk time.

stable mountainBOT
#
Sure.

Your reminder will arrive on <t:1638059219:F>!

clever wraith
#

Fuck wrong channel

austere hornet
#

@clever wraith you can run !remind delete 3522 if you want to delete that

clever wraith
#

No I want the reminder I just sent it in the wrong place

austere hornet
#

Ah ok

austere hornet
molten perch
#

I noticed a "minor" error in the AoC dayandstar feature,
could someone take a look at sir-lancebot#954 ?
It's 3 liner basically, shouldn't take more than a minute to review.

dusky shoreBOT
molten perch
#

Where?

#

Nope, if you run postgres with docker it has to be in correspondence with the url specified in docker.

#

For now it's enough if you specify a bogus value, but as soon as my PR gets merged(if it ever gets merged lol) you'll have to specify an actual db url.

#

But if you did not touch any of the API part, the tests should pass. πŸ˜„

fallen patrol
molten perch
#

Yes, it is.

#

It's under development. I can't really do anything else.

#

The current tests don't use the database at all, so you can just provide a bogus value. It does not matter.

#

But my PR introduces tests that actually require a database to be set up.

fallen patrol
#

what's your pr number?

molten perch
#

api#30

fallen patrol
#

smh some devops needs to set that repo up so all comments go to #dev-log

fallen patrol
#

kind of seems overscoped, both a migration and setting up the test suite...

molten perch
#

That's how it is.
I worked a lot on that PR.
In order to set up an endpoint I had to create a testing suite.

#

And actually, tests are the core parts of the endpoints.
The only additional things are the fixtures.

fallen patrol
#

if one builds on the other then it can be done with two prs, pointing the migration pr towards the testing suite pr and leaving as draft but specifying do not merge

#

because it's overscoped and large that's likely why there's no reviews yet πŸ˜›

#

and I know that from experience, having made some 2000 line diff prs lol

molten perch
#

It is not large at all.
I just modified a few models so that it's more convenient. (we're talking about one-liner changes)
Secondly, I pushed that PR yesterday lemon_fingerguns_shades

fallen patrol
molten perch
#

To be totally honest at this point, I was trying to be humble.

fallen patrol
#

ah

fallen patrol
#

hey could someone look at bot#1967 lol might want to close it

dusky shoreBOT
austere hornet
#

Lol what the hell

austere hornet
#

Thanks @cold island

molten perch
#

Hey! Would someone mind to take a look at sir-lancebot#954 ? It only needs one review.
(It's a three-liner basically)

dusky shoreBOT
molten perch
#

Thanks a lot.

austere hornet
#

Hey! I would appreciate a few reviews on sir-lancebot#901. Thanks so much!

dusky shoreBOT
austere hornet
#

I've noticed that .halloweenify and .spookyfact aren't locked to October. Should they be?

stable mountainBOT
#

bot/exts/avatar_modification/avatar_modify.py line 289

brief="Spookify an user's avatar."```
austere hornet
#

May I PR a fix?

austere hornet
#

Also if I could get assigned to sir-lancebot#937, that would be great. Thanks!

dusky shoreBOT
full fractal
#
bot_1        | 2021-11-22 02:29:42 | bot.utils.scheduling | ERROR | Error in task Task-16 140701060127440!
bot_1        | Traceback (most recent call last):
bot_1        |   File "/bot/bot/exts/help_channels/_cog.py", line 316, in init_cog
bot_1        |     await self.move_idle_channel(channel, has_task=False)
bot_1        |   File "/bot/bot/exts/help_channels/_cog.py", line 352, in move_idle_channel
bot_1        |     await self.unclaim_channel(channel, closed_on=closed_on)
bot_1        |   File "/bot/bot/utils/lock.py", line 108, in wrapper
bot_1        |     return await func(*args, **kwargs)
bot_1        |   File "/bot/bot/exts/help_channels/_cog.py", line 436, in unclaim_channel
bot_1        |     return await _unclaim_channel(channel, claimant_id, closed_on)
bot_1        |   File "/bot/bot/exts/help_channels/_cog.py", line 448, in _unclaim_channel
bot_1        |     claimant = await members.get_or_fetch_member(self.bot.get_guild(constants.Guild.id), claimant_id)
bot_1        |   File "/bot/bot/utils/members.py", line 20, in get_or_fetch_member
bot_1        |     member = await guild.fetch_member(member_id)
bot_1        |   File "/usr/local/lib/python3.9/site-packages/discord/guild.py", line 1714, in fetch_member
bot_1        |     data = await self._state.http.get_member(self.id, member_id)
bot_1        |   File "/usr/local/lib/python3.9/site-packages/discord/http.py", line 335, in request
bot_1        |     raise HTTPException(response, data)
bot_1        | discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
bot_1        | In user_id: Value "None" is not snowflake.

whyyyy

#

did someone change the help channels in the test server pithink

full fractal
#

Makes sense, how am I supposed to fix it?

#

hmm, !dormant didn't work as apparently it's disabled?

tawdry vapor
#

Manually move the channels to dormant and reload the extension I guess

full fractal
#

seems to have fixed it, thank you!

static canyon
#

@green oriole fyi your issue (bot#1968) is a dup. of one I made a few weeks ago (bot#1930)

static canyon
#

Not sure what the process for duplicates is

clever wraith
#

:BaguetteSwing: duplicate :BaguetteSwing:

#

Thanks discord, appreciate it

#

Well, in most cases you can copy the information from the newer issue to the older and close the newer one

static canyon
#

I guess I'll do that then, thanks πŸ‘

clever wraith
#

You could wait for Ak if you wish

#

I can get his ass over there hehe

static canyon
#

It's okay, already done :p

#

Maybe I should've waited but oh well lol

clever wraith
#

I think it is fine personally

static canyon
#

I hope so :p

green oriole
#

wow I can't believe you did this Tizzy

#

||it's fine lmao||

static canyon
#

πŸ˜„

austere hornet
#

@static canyon Just as an FYI so you don't yell at me for committing failed lint code like last time lol. I committed Bluenix's suggestion which probably caused a line spacing issue, which I'll try to fix later today. Thanks!

static canyon
#

Sounds good πŸ‘

#

Although to be clear, I wasn't meaning to "yell" at you last time; was just making sure you had pre-commit etc.. on because it makes life way easier

#

I'll probably review your PR over the weekend or something

static canyon
#

!remind 5d Review sir-lancebot#901

stable mountainBOT
#
Of course!

Your reminder will arrive on <t:1638016170:F>!

dusky shoreBOT
austere hornet
#

Thanks

fallen patrol
#

heyyy could a admin or owner add api to #dev-log πŸ₯Ί

#

I use dev-log to keep track of stuff over github notifications lmao

short snow
#

@vale ibex I will just ping you

vale ibex
#

I don't have access to do that

#

So admins & devops can't

short snow
#

welp πŸ˜”

vale ibex
#

seems owner only

short snow
#

okay

#

@patent pivot please do, (I am pinging cuz this is like the 4th time someone is asking to do that)

fallen patrol
#

4th time someone
that was me lol

short snow
#

i did once, rest you lol

patent pivot
#

uh

#

@fallen patrol @short snow as far as I can see api is in dev-log

fallen patrol
#

not all comments are

patent pivot
#

okay, enabled the PR comments that weren't on

fallen patrol
#

thanks!

short snow
#

thanks!

molten perch
#

pytest-xdist is a real wonder πŸ˜„
Managed to cut API test times to one-fifth of the original times.

molten perch
#

Yeah, I was just testing it.

#

It works, regardless. πŸ˜„

green oriole
#

there is no real reason to not add it

molten perch
#

Yeah, the issue is more about the hows, because of the databases.
But I managed to get it work with worker ids.

#

Just waiting for an approval or similar on api#31

dusky shoreBOT
vale ibex
#

Yea go for it πŸ˜„

#

we want xdist in there

molten perch
#

Done-zo.
It took a bit longer because of package installs.
But the test only took 11 secs, in contrast to that yesterday it took 24 secs.

vale ibex
#

Nice

fallen patrol
molten perch
#

Feel free to check it out.

fallen patrol
#

built in feature
the hooks are built in

molten perch
#

Okay.

#

πŸ™‚

#

I still believe, that we shouldn't bother with hooks and plugins, when you can do the same thing with worker ids.

#

And I find it more convenient. But, we'll see πŸ˜„

fallen patrol
molten perch
#

Just the way you would run it normally. pytest

green oriole
fallen patrol
#

so the database is already running, everything is already set up?

molten perch
#

As of now, you have to have a database up and running, and provide a db url in the env.

#

Then, pytest.

#

But you can also run in docker.(not sure though)

#

We might create a task, not sure.

fallen patrol
#

so it'll give me a very cryptic error if there isn't a database running πŸ˜›

molten perch
#

Most certainly yes.

vale ibex
#

We should just support it in docker

molten perch
#

Yeah, like the migrations

vale ibex
#

if you want to run psql locally then that's up to you

fallen patrol
vale ibex
#

If you have the knowledge to have a psql server running locally, then you likely have the knowledge to run pytest against it

molten perch
#

Seems overcomplicated to me.

fallen patrol
#

currently installing to see what the cryptic errors will be

#

its really not.

vale ibex
#

There will always be a database, since we will have it running in docker

molten perch
#

Okay, but I'm not sure why we would torture ourselves with hooks and such.

fallen patrol
#

tests/conftest.py

import pytest

def pytest_configure():
  if not database:
     pytest.exit('A database must be running to test')
#

and database just needs to validate it can connect

molten perch
#

We're gonna support it only in docker. As Chris mentioned

fallen patrol
#

could also use pytest_sessionstart

#

not sure why you think hooks are torture lol

#

but docker is another fine solution

molten perch
#

Because those are integrations tests, I'm not sure why would someone go ahead and run them just out of the blue.
But sure, we're gonna support it in docker only, but still..

fallen patrol
#

I'm not sure why would someone go ahead and run them just out of the blue.
I read both readme.md and contributing.md and neither mention a database is required to run the tests
While it is implied, it is never mentioned. So that's my review, I guess. I'll convert it to a github review

molten perch
#

Yeah, since...
We don't have the tests yet. πŸ™‚
It's a PR yet to be merged, I'll open PR to make the README better later on.
But I'm a bit busy with the endpoints already, I'm terribly sorry.

fallen patrol
#

It's a PR yet to be merged, I'll open PR to make the README better later on.
I was reading that pr. Since it requires it, there should be a sentence that says it requires a running database, and tests must be run in docker. Doesn't need a whole pr to add it, a sentence should do. πŸ™‚

thorny obsidian
fallen patrol
#

Yes, I know its under development, that's why I'm reviewing it.

fallen patrol
molten perch
#

@vale ibex It seems like that I cannot run pytest in docker, because the dev packages won't be installed when building the container. (--no-dev)
Do I just add a poetry install to the development "target"?

vale ibex
#

Yea, you could

#

but I'd suggest swapping production and development around if that is the case

#

since you always want to "build up" a docker image

molten perch
vale ibex
#

ahh

molten perch
#

And If I were to swap the stages around it would mean that dev packages are installed even in the prod. stage.

#

So, I'm clueless πŸ˜‚

vale ibex
#

Nah, you'd do the install with --no-dev first

#

then in the dev stage install again without the flag

#

if production is before dev, then it would be stopped before that second install

molten perch
#

Yeah, but poetry is installed in the builder stage
Then, even if I were to put production before dev, I still wouldn't be able to use poetry. (I guess, I tested it out.)

vale ibex
#

Yea, you'd need to do FROM builder as development

#

rather than FROM base as development

#

Is there a particular reason we use assertEqual in site tests rather than assertCountEqual when comparing json? I don't think we really care about ordering, just that the actual key:value pairs match.

austere hornet
vale ibex
#

Yea sure, seems fine to me

#

also assigned you to the issue just below that

molten perch
# vale ibex Yea, you'd need to do `FROM builder as development`

Managed to get it work. (Did not swap it in the end, so the order is: builder, development(from builder), prod(from base))
Also, is there a particular reason as to why the app volume is read only? Pytest wanted to write to some cache file, so I had to remove it. Now it works fine.

vale ibex
#

It's read only so that code changed in teh container for whatever reason doesn't mess up your local copy

#

We should keep that volume read only and add specific writeable volumes for what we need

molten perch
#

Oh, yes. Makes sense, sorry.

vale ibex
#

No worries πŸ˜„

fallen patrol
#

pytest writes to cache to be able to help debugging test runs

austere hornet
vale ibex
#

it's referring to the message you linked.

austere hornet
#

Ah ok

#

Gotcha

vale ibex
#

the grammatic error fix seems fine too

#

Go for it

austere hornet
#

Thanks!

molten perch
vale ibex
#

Yup looks good

#

Could even add a comment saying they're needed for pytest

molten perch
#

Sure! πŸ™‚

austere hornet
austere hornet
#

Thanks @molten perch !

fallen patrol
#

what is hypothesis?

trail pilot
#

Hypothesis is a testing framework in Python iirc

clever wraith
austere hornet
#

Lmao

cursive relic
#

are link shorters blacklisted?

static canyon
#

Soonℒ️ they won't need to be but for now they are

cursive relic
#

but some of them (at least 1) seems to be available

static canyon
#

It's not something where they all have to be blacklisted

#

It's more that bit.ly for example has been used loads by people sending the nitro scam

cursive relic
#

oh I see

static canyon
#

And so we blacklisted the entire website until we get url unfurling

#

Which will be soonℒ️ (there is a PR for it somewhere on bot)

cursive relic
#

oo, nice

gritty wind
#

My PR deletes the shortened URL before unfurling it

#

We unfurl for the purposes of applying further filters

#

There is no good reason to use a shortener here

static canyon
#

Right, fair enough

short snow
green oriole
#

lmao

short snow
#

also, I remember an issue for this already existing pithink

green oriole
#

Chrome just crashes if I try to do that

patent pivot
#

removed it

green oriole
#

Thanks

fallen patrol
green oriole
#

no

brisk brook
#

@austere hornet I am reviewing your PR and one of your comments gave me a great idea.

#

You asked about the author check - and yes we can use it!

#

Add a self.checks = set() attribute inside __init__().

Inside the command after defining the author_check() add it to this set using self.checks.add(author_check) (and remove it after you're done).

#

Now inside the listener you can have this code: ```python
for check in self.checks:
if check(after):
break
else:
# This means that no check returned True
return

Now put the code that adds the message here:

...

cold island
#

You can do if not any(check(after) for check in self.checks):

green oriole
#

damnit Zig

cold island
brisk brook
#

Ah, right

stable mountainBOT
#
You're the boss!

Your reminder will arrive on <t:1637702066:F>!

austere hornet
#

Thanks!

molten perch
#

Hey if you have some time, would you mind to take a look at api#30?
(It supports running tests in Docker, so It should be fairly easy to set it up, but you can read the README, it has been modified as well)

cold island
#

Hmm the otn endpoint was already migrated right?

molten perch
#

No, it has not been.
It built upon my previous PR that was close due to recent discussions regarding SQLAlchemy async, and 2.0 Syntax.

#

So that's the first endpoint effectively

#

But I can almost certainly say that this is the last heavyweight PR, since we've set up everything we need(including this PR):
Tests, ORM, Migrations.

cold island
#

I see

#

I think once we have one endpoint migrated we should look into using the new API in prod so that we can test that it's working properly, and then continue to the other endpoints

stable mountainBOT
austere hornet
stable mountainBOT
#
Sure.

Your reminder will arrive on <t:1637712916:F>!

molten perch
molten perch
#

I am. πŸ˜„

#

Actually, it's pretty much done, so. πŸ˜„

stable mountainBOT
green oriole
#

setup-python supports caching for both pip and pipenv projects.
RIP

gritty wind
#

Use the composite action smhhhhhh

#

I’ve already scammed my way into botcore, and soon, every other repo

fallen patrol
#

so it should cache the dependencies for poetry too

static canyon
#

!ban 816637783233527839 7d You were told literally yesterday to not self-advertise. Should you decide to rejoin, make sure you DON'T do this again.

stable mountainBOT
#

:incoming_envelope: :ok_hand: applied ban to @tardy wraith until <t:1638362201:f> (6 days and 23 hours).

molten perch
#

Hey! I've been looking at the site and bot code for a while, but I don't seem to get, when the active field of a Reminder will be set to False, I haven't really thought of that before.
It seems like that when a user is reminded, the reminder will just simply be deleted πŸ™‚
(or maybe that's is only for backwards-compatibility? )

gritty wind
#

No you’re right, it never is

#

I have a PR open on bot to fix that

molten perch
# gritty wind I have a PR open on bot to fix that

Oh I see.
I was just confused since the Patch Request Body format looks like that:

    >>> {
    ...     'mentions': list[int],
    ...     'content': str,
    ...     'expiration': str,  # ISO-formatted datetime
    ...     'failures': int
    ... }

So, activate is not accepted in that case, in the FastAPI version.
I'll go ahead and add it.

austere hornet
#

sir-lancebot#901 needs core dev reviews! (non-core dev reviews are also appreciated ofc)

dusky shoreBOT
stable mountainBOT
#

.github/workflows/lint-test.yaml lines 84 to 91

# Run flake8 and have it format the linting errors in the format of
# the GitHub Workflow command to register error annotations. This
# means that our flake8 output is automatically added as an error
# annotation to both the run result and in the "Files" tab of a
# pull request.
#
# Format used:
# ::error file={filename},line={line},col={col}::{message}```
green oriole
#

The page is called formatting output inside github actions iirc

fallen patrol
#

wow i searched forever

#

and when i finally ask i searched one more time

#

;-;

austere hornet
#

Hey does anyone know when PyDis will incorporate threads on the server?

cold island
#

We've been discussing it. I think it's probably a matter of an admin having time to pay proper attention to it.

green oriole
#

I have a bunch of things ready for that admin hyperlemon

molten perch
#

Hey! If any of you could look at api#30 it would be greatly appreciated. The PR might seem a lot, but actually it's just a few files, the rest of them are one-liner tiny model improvements, and Docker - or - Github Actions - related things.
(It should also be pretty straightforward to set the project up and run the tests!)
Thanks! πŸ™‚

austere hornet
#

What do people think about me using the nltk module for validation in sir-lancebot#901 (as stated in Shom770's latest comment)?

dusky shoreBOT
austere hornet
#

!pypi nltk

stable mountainBOT
trail pilot
#

Yeah, I think nltk.corpus.wordnet has support for all the english nouns and more

static canyon
#

Is there a way to get all the issues/PRs I've commented on for a specific repo? Presumably it's stored somewhere so that GitHub knows to email you when a new comment/commit/etc. is made

static canyon
#

Perfect, thanks πŸ‘

dim topaz
#

Just looking for some assistance with snekbox. In particular the following config

2021-11-25 09:57:01,374 |    12 |                 snekbox.nsjail |  WARNING | Failed to set the memory swap limit for the cgroup. This is probably because CONFIG_MEMCG_SWAP or CONFIG_MEMCG_SWAP_ENABLED is unset. Please ensure swap memory is disabled on the system.```
#

Tryna sus the correct config

#

Also please @ me on a response, Im off soon

vale ibex
stable mountainBOT
#

snekbox/nsjail.py lines 98 to 107

try:
    # Swap limit is specified as the sum of the memory and swap limits.
    # Therefore, setting it equal to the memory limit effectively disables swapping.
    (mem / "memory.memsw.limit_in_bytes").write_text(mem_max, encoding="utf-8")
except PermissionError:
    log.warning(
        "Failed to set the memory swap limit for the cgroup. "
        "This is probably because CONFIG_MEMCG_SWAP or CONFIG_MEMCG_SWAP_ENABLED is unset. "
        "Please ensure swap memory is disabled on the system."
    )```
vale ibex
green oriole
#

Isn't it because those env vars are set and not unset?

#

The problem is that you have a swap on your system

dim topaz
#

Its using the docker container

green oriole
#

Try running sudo swapon

dim topaz
#

Correct, 2G

#

I'm not sure of the flags in snekbox and if I can disable it without removing swap

green oriole
#

Then you'd want to turn it off if you want the memory limit to work

dim topaz
#

Although I could just remove it, not a big deal

green oriole
#

We could add an option to not turn on the memory limit

#

Due to how the swap system works, we cannot set a limit when you have some swap set

dim topaz
#

πŸ‘

molten perch
#

Hey! If someone could take a look at api#30 it would be greatly appreciated. The PR might seem a lot, but actually it's just a few files, the rest of them are one-liner tiny model improvements, and Docker - or - Github Actions - related things.
(It should also be pretty straightforward to set the project up and run the tests!)
Thanks! If you have any questions regarding how to set it up, feel free to ask! πŸ™‚

static canyon
#

site#621 is failing because of a merge conflict but when I do what it says to resolve it says no conflicts were found?
Error:CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0075_infraction_dm_sent, 0075_add_redirects_filter in api). To fix them run 'python manage.py makemigrations --merge' Error: Process completed with exit code 1.When I do the command:```

C:\Users\tizzy\site>python manage.py makemigrations --merge
No conflicts detected to merge.

dusky shoreBOT
molten perch
brazen charm
#

or just delete your migration during the merge, create a new one, then add it and commit

austere hornet
fallen patrol
mellow hare
#

Remind me, which package do we use for loading .env files?

#

Is it dotenv?

cold island
#

yeah

mellow hare
#

Cheers

cold island
#

python-dotenv

mellow hare
#

Solid. Re-writing my little input getter for advent of code

#

Figured I should do it correctly this time

fallen patrol
#

however, given what you're writing, I would look at using environs :D

#

!pip environs

stable mountainBOT
fallen patrol
#

will serialize the types for you

mellow hare
#

I'm happy and familiar enough with dotenv. You can feed it a file path to the .env file, right?

static canyon
vale ibex
#

You don't need to give ti a path

#

by default it'll search down from the root

static canyon
#

But I believe you can also specify

mellow hare
#

I just realized I was thinking the wrong way anyway

#

I'm good now, just had a derp

#

For some reason my brain was like "Yeah put it in the project root" despite me putting the input getter in a sub project folder, so I'll just put it there with that

#

Ignore the crazy man

vale ibex
#

I might be wrong, but I think it pulls it from sys.path

mellow hare
#

I know it loads the .env stuff alongside that

vale ibex
#

so if it's in that or a sub dir then it should be fine πŸ˜„

mellow hare
#

Structure is:

advent_of_code/
    advent_of_code/
        input_getter.py
#

So yeah, they see me derpin

vale ibex
#

hah

fallen patrol
fallen patrol
#

@patent pivot how [can it be harmful]?

patent pivot
#

oh i'm mainly just trolling

#

but force pushes can be harmful because they change history

#

especially on a PR whihc multiple people are working on

#

but Volcyy is a genius, an expert, the top of his field, I know if anyone is careful about force pushes, it's him

fallen patrol
#

ah

#

i've been force pushing a lot recently lol

#

mostly because i've been debugging github actions

gritty wind
#

This is why you have a private repo with an easy to remember name

#

This is just the main branch 🀑

#

Can’t actually see the action count # on the mobile app tho

fallen patrol
#

specifically was setting up coveralls and ensuring it was set up in a way to not cause workflow failure if coveralls failed

fallen patrol
#

lol @last patio how often do you update your about me with Joe quotes?

last patio
#

every time the queen retreats to enter a "new phase"

patent pivot
green oriole
#

But is mongodb Webscale?

austere hornet
#

How would I install the dependencies for nltk with poetry install? Is it simply poetry install nltk?

#

!pypi nltk

stable mountainBOT
static canyon
#

iirc when i was messing around with nltk earlier it's a bit of a weird one

#

You install nltk and then you install the bit that you actually want (i.e. corpus iirc)

green oriole
#

don't they use the extras system?

static canyon
#

nltk.corpus.words is what we'd want (a from nltk.corpus import words)

#
>>> import nltk
>>> nltk.download()

This is what they show on the website

#

Then it brings up a GUI and you select corpus or whatever it is

timid sentinel
#

Hmm I don't really understand the need for nltk

static canyon
#

Here we go, "words" is shown there (you actually want wordnet but same process)

timid sentinel
#

If it's just validating user input, I don't really see the need

static canyon
#

Which I guess could also be used in .hangman

timid sentinel
#

Looking at the issue in question that doesn't seem to be the use case here

#

Unless I'm misunderstanding

static canyon
timid sentinel
#

Yep, seems sort of out of scope and unnecessary

#

I think it's alright to let people enter nonsense, part of the fun

austere hornet
trail pilot
#

Hm, I didn't know you had to do all this jank to download the corpus itself

#

so it's fine as is

patent pivot
#

just rolled out a couple of security headers to all python discord web properties

#

if anyone notices something weird on pythondiscord.com please ping me, if any staff notice something weird on an internal service also ping me

full fractal
patent pivot
#

oh

#

huh

#

that's

#

lol

#

ahhhhh

#

so

#

yeah that's related to this

#

hmmmmm

#

hmmmmmm

#

so the reason is that I stopped us sharing pythondiscord.com with sites that we link out to

thorny obsidian
#

How I know it's devops trickery hour:

patent pivot
#

and one such site is fontawesome, who uses our referrer to figure out if we are allowed to use pro icons

#

I think I can leak a bit more info, I'll just tell browsers to set the referrer to www.pythondiscord.com with no page details

#

@full fractal give that a shot

patent pivot
full fractal
#

And it works, no 403 from fontawesome in the logs

patent pivot
#

awesome, cheers

full fractal
#

thanks!

tawdry vapor
# dim topaz I'm not sure of the flags in snekbox and if I can disable it without removing sw...

I don't think the answer you received was correct. Swap can be enabled on your system, but then your kernel must have support for managing swap memory resources I.e. It should support setting a swap limit in a group. This is what those kernel flags mentioned in the error are for. If swap is enabled but can't be controlled by the cgroup, then the process would effectively have no memory limit since it would be able to just use the swap space.

Alternative to those kernel flags is to completely disable swap on the system.

#

The message is warning you that snekbox can't limit swap memory so it's now your responsibility to disable swap

#

It shows that warning even when swap is already disabled too, in which case you can just ignore it.

short snow
dim topaz
cursive relic
#

If I copy some systems or parts from @stable mountain I need to add licence from the repo to my code even if it is modified source, right?

green oriole
#

yes, you need our license to appear somewhere

cursive relic
#

good to know, I was about to make some commits and had to get this checked up, Adding it to on top of files where I use anything copied should be good?

green oriole
#

yeah it is fine

cursive relic
#

great, thx!

short snow
#

@austere hornet Could you add some example executions (screenshot of running the command) to your christmasify PR?

austere hornet
#

Well actually it isn't really ready yet, but I will do that when it is. Sounds good?

short snow
#

πŸ‘ yep

#

I just wanted to see how the feature wasn't going, haven't planned on reviewing it yet btw

cursive relic
stable mountainBOT
#

bot/exts/filters/filtering.py line 561

f"{URLs.discord_invite_api}/{invite}", params={"with_counts": "true"}```
stable mountainBOT
#

config-default.yml lines 377 to 379

# Discord API URLs
discord_api:        &DISCORD_API "https://discordapp.com/api/v7/"
discord_invite_api: !JOIN [*DISCORD_API, "invites"]```
gritty wind
#

If you have an invite code, you can see any guild, even in the discord client

#

Why are we still using v7 lol

#

I’m not even sure what v7 is, it’s documented as β€œdoesn’t look like anything to me” in the docs

cursive relic
fallen patrol
#

now dpy 2.0 uses v8 for the REST api and v9 for the gateway

fallen patrol
brisk brook
thorny obsidian
#

@summer garden consider yourself assigned for the epoch command

cursive relic
stable mountainBOT
#

bot/exts/filters/filtering.py line 560

response = await self.bot.http_session.get(```
cursive relic
#

the .get is from python src but session is smth else?

fallen patrol
stable mountainBOT
#
class aiohttp.ClientSession(base_url=None, *, connector=None, cookies=None, headers=None, skip_auto_headers=None, auth=None, json_serialize=json.dumps, ...)```
The class for creating client sessions and making requests.
cursive relic
#

;-;

fallen patrol
#

http_session is an instance of that ^

cursive relic
#

that explains stuff

fallen patrol
#

.get() is actually a GET request to the provided url endpoint

elder belfry
fallen patrol
#

depends on how much is copied

cursive relic
fallen patrol
#

no, it's a third party library

#

!pip aiohttp

stable mountainBOT
gritty wind
#

It’s included in d.py

fallen patrol
cursive relic
#

that's good to know, thx! I'll get back to work

fallen patrol
#

it's a dependency of discord.py, which means if you've installed discord.py it'll already be installed

gritty wind
brazen charm
#

MIT is as simple as it gets, you need to include the license including the copyright license somewhere with your software. a separate license file would be the usual choice

#

or add the copyright notice if your project is also mit

clever wraith
#

Stop sending messages in dev log joe

cursive relic
elder belfry
fallen patrol
#

IANAL, but it does say substantial and a configuration file hardly seems substantial to me IMO

brazen charm
cursive relic
#

so far I have just added the license to every file that copies smth from the bot

frozen galleon
stable mountainBOT
#

bot/exts/moderation/clean.py lines 286 to 290

if len(to_delete) == 100:
    # Only up to 100 messages can be deleted in a bulk
    await channel.delete_messages(to_delete)
    deleted.extend(to_delete)
    to_delete.clear()```
frozen galleon
#

I assume it was missed in the review since the PR edited a lot of things and the commit that changed this was actually quite old (Nov 22, 2020) but I'm fairly sure it's wrong since I don't see any reason to enforce the length to be exactly 100, especially with that comment saying the number just needs to be less or equal to 100

thorny obsidian
#

It's not a typo. It's adding messages to a queue to be deleted, if it hits 100, then it'll delete it. If you look further down the code, you'll see that if there's anything leftover (i.e. >0) then it'll call a delete on those messages.

#

If you changed that line to be <=, it would delete messages one by one, not bulk

frozen galleon
#

oh, I see, my bad then, I just quickly glanced over it in a diff from another PR that didn't show the rest of the code before it and I was too lazy to read over it since it just immediately seemed wrong, in that case it's fine

thorny obsidian
#

Yeah, in general I recommend reading the context of the code and the code before and after a snippet.

molten perch
#

Hey! Sorry that I keep promoting my PR πŸ˜„
So, I would love to have some reviews on api#30.
It's not that bad, the core part is ~6 files in total, and there are also taskipy tasks that make things easier, like test , that will run tests inside docker, so that no-one has to bother with setting things up.(More about on that, in the README in the PR)
Thanks! πŸ™‚

last patio
#

I will try to take a look at it soon, I'm currently looking through other PRs which need a review

molten perch
#

Indeed, would love to have some reviews on that as well. πŸ˜„

vale ibex
#

Cool just checked myself and it looks good

#

Did you want to rebase off main rather than add another merge commit? πŸ˜„

#

Auto merge should just merge it after ci then

molten perch
#

Yeah, I guess so.
I wanted to rebase but I might have misinterpreted it πŸ˜„

vale ibex
#

You did, but more commits have been merged to main since πŸ˜„

#

So it's out of date with main again

molten perch
#

Oh, so I managed to do it in the end, cool. πŸ˜„
So, do I rebase it again, or just auto-merge it? πŸ˜„

vale ibex
#

auto-merge will merge when all criteria are met, one of which is being up to date with the branch it's being merged into (main)

#

if you rebase onto main and forcepush, it will bring it up to date, so then auto-merge will merge it

#

sometimes we use the "update branch" feature in GitHub to bring a branch up to date with main, but that adds a merge commit, so is nice to avoid sometimes

molten perch
molten perch
#

I have finally conquered all the main Pydis Open Source Projects 😈

summer garden
#

Are we using a wrapper for message components with lancebot?

green oriole
summer garden
#

Has that implemented message components though?

fallen patrol
#

hmmm, given that dpy is going to break in only a few months (5 at max) what is the plan, if any, from pydis yet?

gritty wind
#

Still hasn't changed

fallen patrol
#

I believe that discord.py's implementation of message components are broken or destroyed with most forks if any other features interaction api features from the forks want to be used.

#

ah gotcha, okay

green oriole
#

And it isn't gonna break to my knowledge

gritty wind
#

Wait for the first library to come out as a strong contender for the main library

#

And what change are you referring to

#

Yeah what Akarys said

green oriole
#

We have post april 2022 support

vale ibex
#

It will, discord have confirmed that post April you need to supply the message content intent when connecting to the gateway if you want message contents

fallen patrol
vale ibex
#

So we either monkeypatch intent flags (not too hard) or migrate

gritty wind
#

That much should be easy to patch in though

#

Not as difficult as migration if we don't have a good contender for sure lol

fallen patrol
#

but at that point unpatched dpy will be broken, so I'm not wrong

green oriole
#

I'm 90% sure d.py 2.0a0 already defines it

vale ibex
#

It does not.

#

Since it did not exist pre-archival

fallen patrol
#

it's not officially documented yet, nor was announced when dpy shutdown, so I'm not sure how that would be possible

#

that intent you're thinking of is a different intent

green oriole
#

Really? The intent number has been known for months, hasn't it?

fallen patrol
#

there's a message intent and a (TBA) message content intent

green oriole
#

I mean it was the next number anyway

#

Hmm, I wonder

fallen patrol
#

it's likely 1 << 15 but again, not yet documented.

vale ibex
#

It's also 100% not in d.py 2.0

green oriole
#

Could we make our own fork for small things like that, so we don't have to monkypatch for now?

vale ibex
#

since I checked it

#

We could fork it, or monkey patch it

#

not too much difficulty either way

green oriole
#

Yeah

vale ibex
#

but at that point, I imagine a contender for migration will eb fairly obvious

gritty wind
#

Patch is my preference, but that's not very relevant right now

fallen patrol
#

given that there's... 7 bots for here now a fork might seem more useful

vale ibex
#

disnake seems like the winner right now, but 4 months can change that

green oriole
#

Yeah, we will see about it in a bit

#

That's an option we still have if we don't want to migrate

vale ibex
#

Yea

gritty wind
vale ibex
#

So, to answer your question arl, we haven't really got a plan other than wait it out and decide later πŸ˜„

fallen patrol
vale ibex
#

but we have some things we can do to extend the time we can wait, such as patching

fallen patrol
#

I'm against py-cord and some other libs for some personal reasons

vale ibex
#

Since the most important thing to us in a lib is that has decent maintainers

fallen patrol
#

yeah

#

ones that know what they're doing but aren't opposed to suggestions too

vale ibex
#

and we can't really tell that right now, since most of these libs have only been around for 4-5 months

fallen patrol
#

since it's new, some of the forks ended up as some people's first big project

vale ibex
#

yup

fallen patrol
#

or just have bad management

#

seriously what is up with py-cord

vale ibex
#

I haven't used it really, nor kept up with any drama, if there is any

#

Not really too interested in it either πŸ˜…

fallen patrol
#

tldr py-cord is poorly maintained and basically rewriting the whole lib afaict

vale ibex
#

Ah

#

Well the main thing for us will be a lib that has minimal changes to the core implementation

summer garden
#

am I wrong in thinking buttons and dropdowns are not implemented in dpy?

fallen patrol
#

I've been participating on the disnake repo for a few days since I like it but not it itself

vale ibex
#

only in the master branch alpha version

summer garden
#

Is that the one we're using? πŸ‘€

vale ibex
#

Yea

green oriole
#

Yup

vale ibex
green oriole
#

Someone had fun migrating pained_smile

vale ibex
#

lol

summer garden
#

Oh nice nice

#

that's a relief

vale ibex
#

Only things it doesn't have right now are context menus and slash commands

fallen patrol
vale ibex
#

and anything new that discord adds

fallen patrol
vale ibex
#

and the new popup forms that have been teased

#

they look good

fallen patrol
#

I highly recommend looking at a fork sooner rather than later given upcoming timeouts which can replace muting and work much better

#

a discord side block on all server interaction which does not relate to permissions at all

gritty wind
#

Not really a motivating reason to rush

#

Our mutes do still work fairly well tbh

green oriole
#

Right now we have an excellent infraction system that works perfectly, while it will surely be better to use the native impl there is no rush

#

It should also be a really small change

#

famous last words

fallen patrol
#

aside from rewriting all of my imports, it was small

#

hmmm actually

patent pivot
#

our system will always be more granular, so we need to see if we want to integrate with this or stay as is

fervent sage
#

But it is something that will become more painful to implement the longer we go without it

cold island
#

Why will it become more painful?

fallen patrol
#

forks will deviate and seperate from the initial dpy implementation. Right now, most of them are mostly a drop in replacement. As time goes on, they will have their own features, and as discord gets more features, they will become breaking features and need to be implemented.

#

at least, i think that's what @fervent sage means

fervent sage
patent pivot
patent pivot
fallen patrol
patent pivot
#

text in voice channels?

fallen patrol
#

yeah

patent pivot
#

on current api version but doesn’t seem to break dpy from my last testing, not sure if that’s still the case

fallen patrol
#

you have text in voice channels here?

patent pivot
#

not here

fervent sage
#

fortunately in terms of new channels discord.py just kinda ignores those events

#

djs and eris both outright crash Kek

#

at least they used to

#

had some great fun crashlooping zeppelin with stage channels back in the day lol

brisk brook
#

What if we pick one and it deviates in a way we disagree with?

fervent sage
#

Thats not really a valid point since any of them can at any point

#

Like sure it could happen but it could always happen

#

short of maintaining our own fork (which seems like a bad idea) you cant solve that

brisk brook
#

Right, that's true. But arl's point is that we should switch ASAP so that it will be easier to migrate because forks will eventually deviate - and I think the opposite. If we wait and see what general direction they're heading it is easier to make an educated decision.

fervent sage
#

It's been a couple of months, and we can already see which general direction they're heading

#

if any of the major forks were going to make drastic changes to the paths they're on it would have happened by now

brisk brook
#

Oh yeah, I don't think any of them will make any huge changes. They all seem to have the goal of continuing the work of discord.py

fallen patrol
#

IMO the drastic changes are about to happen, with text in voice, channel banners, and timeouts. That will be where implementations will be separate between libraries

brisk brook
fervent sage
#

slash commands are a huge difference between them

#

they're totally different

fallen patrol
vocal prairie
#

I may be missing information, but I don't think Discord has made any really major changes to the API since the deprecation, so I'm of the opinion that we should wait a while longer to see their general direction (so I'm with Blue).

fallen patrol
#

There's still until april, but by april there must be a solution--even if that's just a monkeypatch

brisk brook
fallen patrol
stable mountainBOT
#
Absolutely!

Your reminder will arrive on <t:1639791254:F>!

fallen patrol
brisk brook
fallen patrol
#

Since as those features are adopted more on pydis bots, that namespace may be broken by forks if implementing slash commands is also wanted

fervent sage
#

hence neither can be compatible surely

fallen patrol
#

also pycord overall has not the best maintainers IMHO

brisk brook
fallen patrol
fallen patrol
fervent sage
fallen patrol
#

wait are you maintaining one of them?

fervent sage
#

I may own the nextcord discord

fallen patrol
#

oh, oops

fervent sage
#

Kek dw

fallen patrol
#

huh interesting

#

RPSMain is a contributor of disnake as well

fervent sage
#

RPS contributes to like 4 of the major py libs

fallen patrol
#

interesting commits, but neat

fervent sage
#

My brain is currently split across like 6 libs

fallen patrol
#

what are all of them?

fervent sage
#

2 of my own, nextcord, pycord, disnake, and hikari kekw

fallen patrol
#

honestly the pycord fork really turns me off

#

pypa/pypi-support#1438

dusky shoreBOT
fallen patrol
#

not sure what they're expecting, they've contacted the owner and the owner said no.

fervent sage
#

doesnt pypi make clear that requests like that wont happen?

fallen patrol
#

yes

#

and if you're making an issue that sounds more like you're trying to convince someone of solving a dispute.... πŸ€¦β€β™€οΈ

#

For what it's worth, the current project has just 57 lines of meaningful code, while my project has thousands.
also this line just makes me dislike it in all

#

anyways, that's why I dislike pycord, but not the right channel at this point lel

patent pivot
#

ultimately I think taking Blue's approach and holding off for now is the best bet, things are very much still up in the air with all forks but we've got plenty of time to think about things

#

it's not likely we're going to use the native muting functionality anytime soon, and we wouldn't change libraries just to support text-in-voice either

fallen patrol
patent pivot
#

maybe, maybe not, we'll see if the feature has a place and discuss it, that's something for Hemlock's domain, but usage of it would be blocked until we could support it in @stable mountain

#

the current system works well enough

fallen patrol
#

πŸ‘

brisk brook
# fallen patrol pypa/pypi-support#1438

Holy shit they won't win this. Considering they even got a response from the owner explicitly declining that request.

Besides, pycord has been a thing for like a year now by kyb3r: https://github.com/kyb3r/pycord

I always found it rather shitty that they took that name, though I don't know if they've (the maintainers of the discord.py fork called pycord) got permissions to use the name by kyb3r.

GitHub

pycord - A discord api wrapper written in python! Contribute to kyb3r/pycord development by creating an account on GitHub.

fallen patrol
fallen patrol
brisk brook
#

In response to this text - why name your package that way if it was already taken. That's on you!

brisk brook
fallen patrol
#

wasn't there a fork called that?

fallen patrol
#

actually I shouldn't joke about that, someone will think I'm being serious

brisk brook
#

Oh I get it lmao

fervent sage
#

To weigh in on the pycord pypa thing: yeah that's a really shitty request imo

#

after being denied the name by the package owner they have no right to try and take it by force

trail pilot
#

I think it's also on them for not being explicit enough about py-cord versus pycord and as Bluenix said why choose that name if it was taken in the first place

brisk brook
fallen patrol
patent pivot
#

pydis rewrites to disco 😎

fallen patrol
#

used to be called pydiscord

fervent sage
#

reject asyncio revert to gevent

brisk brook
#

As for the original owner's claims that "any change to the name would break all projects which relies on it," I reviewed the listed dependents on GitHub. From the code in each of these repositories it is clear that all of them depend on my project, not the current project. I could not find any evidence of any repositories that depend on the current project, across all of GitHub.

Tl;Dr "I don't think there's any damage made because the original owner's code is useless"

#

Did I get that right? I am confused

patent pivot
#

it is a weird one, it is off topic for this channel though

fervent sage
#

where is it not offtopic?

fallen patrol
#

#pypa

#

wait that doesn't exist

patent pivot
trail pilot
patent pivot
#

but nitty gritty about package naming is not for here

brisk brook
fervent sage
#

its not off topic nor purely discord related though?

fallen patrol
patent pivot
#

it's not dev-contrib related, either

brisk brook
patent pivot
#

libraries out there are relevant, but pypi name claims (and the validity) are not lol

fervent sage
#

I'd suggest a new channel but in 3 months when we agree on a name it will be too late πŸ™ƒ

remote wigeon
fallen patrol
brisk brook
#

Ah welp to get back on topic then I guess.. tomorrow will be review day for me πŸ‘

Got a few PRs that I need to test πŸ€·β€β™‚οΈ

magic arch
#

Alright, in the main bot, constants.Colours.bright_green exists for some reason and is used exactly 3 times. Twice in the help channel system (DM to author and available message) and once for the !modpings off command. There's also constants.Colours.soft_green which is incredibly similar and used 19 times in 12 files. Can we get rid of bright_green and just use one green color?

#

Side-by-side comparison

#

For comparison, orange and soft_orange have a huge difference, and soft_red doesn't even have a red to compare with.

stable mountainBOT
#
No problem.

Your reminder will arrive on <t:1638673511:F>!

austere hornet
#

!remind delete 3568

stable mountainBOT
#
Can do!

That reminder has been deleted successfully!

stable mountainBOT
#
Aye aye, cap'n!

Your reminder will arrive on <t:1638587176:F>!

austere hornet
#

!remind edit duration 7D8H

stable mountainBOT
#
Bad argument

Converting to "int" failed for parameter "id_".

austere hornet
#

!remind edit duration 3569 7D8H

stable mountainBOT
#
No problem.

That reminder has been edited successfully!

cold island
#

The bright green embed color is used with an icon that has the same color, Using soft green with that icon won't really look good

stable mountainBOT
magic arch
#

I guess there's no technical reason, it's more of just a visual annoyance here:

cold island
magic arch
#

As in they're very slightly different, in the same place, and both related to the help system. It makes it seem like they should be consistent but they're not.

cold island
#

Oooh

#

Well yeah we can change the second embed to use the first color

magic arch
#

Yeah that seems much more reasonable than what I did πŸ˜‚

vale ibex
#

I'd quite like us to get away from named colours like this