#dev-contrib

1 messages · Page 102 of 1

tough imp
#

honestly yaml looks ugly to me too but I primarily dislike that there are multiple ways to declare lists and objects

patent pivot
#

pydis markup language when

tough imp
#

and I always manage to mess up the indentation

tawdry vapor
#

YAML is evil. It's such a complicated standard than almost no one can (or wants to) correctly implement it all https://matrix.yaml.io/

tough imp
#

yea Im probably not familiar with even half of it and its still confusing and complex to me

tawdry vapor
#

Many test cases you look through you'll discover something new about YAML's capabilities

tough imp
#

idk, I used to struggle to read it

tawdry vapor
#

Maybe some basic subset of it.

gritty wind
#

yes, a majestic lizard

tough imp
#

I really like the idea of relaxed json with comments & trailing commas

#

a well indented json looks good to me

gritty wind
#

important question: 4 or 2 spaces

tough imp
#

I probably find it easier to read than yaml

fervent sage
#

at some point maybe me and dragory will revisit mdvml (mad dragory vcokltfre markup language) and we'll have good lists kek

patent pivot
#

oh god

fervent sage
#

:)

fallen patrol
#

@patent pivot continued from #bot-commands

#

i think it would just be in this regex?

patent pivot
#

yeah, should be as simple as adding to there

fallen patrol
#
INVITE_RE = re.compile(
    r"(?:discord(?:[\.,]|dot)gg|"                     # Could be discord.gg/
    r"discord(?:[\.,]|dot)com(?:\/|slash)invite|"     # or discord.com/invite/
    r"discordapp(?:[\.,]|dot)com(?:\/|slash)invite|"  # or discordapp.com/invite/
    r"discord(?:[\.,]|dot)me|"                        # or discord.me
    r"discord(?:[\.,]|dot)io"                         # or discord.io.
    r")(?:[\/]|slash)"                                # / or 'slash'
    r"([a-zA-Z0-9\-]+)",                              # the invite code itself
    flags=re.IGNORECASE
)```
#

wait huh

#

how does r"([a-zA-Z0-9-]+)", work?

#

doesn't seem to get invites

#

yeah

#

ohhhhh

#

nvm i understand

whole forge
#

wouldnt that match a lot of things?

fallen patrol
#

yes

#

very

sleek steppe
#

Yep

fallen patrol
#

it would match every word in this sentence

fallen patrol
#

yes

whole forge
#

oh wait

fallen patrol
#

you need the rest of the regex

whole forge
#

i didnt notice all of those regexes are one string

fallen patrol
#

i trimmed it down to work in regex101 tho

whole forge
#

i thought it was a list lmao

fallen patrol
#

and it isn't working

vocal prairie
fallen patrol
#

btw if anyone has an official discord endpoint please drop them here

#

like

vocal prairie
fallen patrol
# whole forge oh wait
(?:discord(?:[\.,]|dot)gg|discord(?:[\.,]|dot)com(?:\/|slash)invite|discordapp(?:[\.,]|dot)com(?:\/|slash)invite|discord(?:[\.,]|dot)me|discord(?:[\.,]|dot)io)(?:[\/]|slash)([a-zA-Z0-9\-]+)
vocal prairie
fallen patrol
vocal prairie
fallen patrol
#

damn

#

that is nice

#

yes sorry if staff get pinged for every invite i post 😂

#

lmk if you do

cold island
#

we do

whole forge
#

i dont, but im not high role enough

fallen patrol
#

ok i think i've tested the filter as much as i need

vocal prairie
#

I think so.

fallen patrol
#

cool that one doesn't redirect

vocal prairie
#

Because that's used for support

#

Not a direct discord line

cold island
#

it's better for testing to be done in a testing environment

fallen patrol
#

i haven't tried to set up sir-lancebot on arm yet, i can't imagine setting up python on arm

whole forge
#

why?

#

python is quite easy to set up on arm

#

wait

#

the bot or the lang?

#

i might be too tired to be here....

fallen patrol
#

but uh

#

setting up python was no easy feat either

#

NEWSFLASH: with pyenv, you don't need to build from source

#

did i learn that the hard way? YES

#

am i missing any others?

whole forge
#

the moderators: 💢

fallen patrol
#

nah that one wasn't deleted so it doesn't ping

#

only when its blacklisted

#

or

#

not whitelisted

patent pivot
#

we could probably try search all day for discord redirects

#

there are certainly more

#

but let's go with those for now

#

we can add others when there is an actual problem

fallen patrol
#

actually

#

that might be all of them

vocal prairie
patent pivot
#

there are certainly more than that

#

but we don't need to combat every possible discord domain out of the many that they own

fallen patrol
patent pivot
#

we need to combat the vast majority that people might use and then when people find others and use them we update accordingly

vocal prairie
#

And if they do, that can be dealt with later

patent pivot
#

I know quite a few that aren't on that list

#

yeah, exactly

#

I'm frankly not sure we need a PR for this

#

no, I'm saying we don't need one

#

I'm all for some level of proactive enforcement of such rules, but this is overkill

fallen patrol
patent pivot
#

lol

fallen patrol
#

curious because i want to troll some friends 😛

fallen patrol
patent pivot
#

I think that defeats the whole point that I am making of not being overkill with our enforcement because once those are more prominent it needs implementing

fallen patrol
#

ah

short snow
#

@sleek steppe have you test your pr?

#

on my fork

sleek steppe
short snow
#

perfect

#

merged

sleek steppe
#

Nice

vocal prairie
#

I used someone else's id on Lance's spookify. But it used my old pfp. (I changed it 10-20 minutes ago)

fallen patrol
#

2 bugs in one lol

vocal prairie
#

mhm

#

But probably due to the same issue.

#

Also, normal spookify just failed.

#

Lancebot started typing, then stopped.

fervent sage
#

waiting on discord to fix event dispatching here for the using the wrong pfp thing

vocal prairie
#

Oh, that large guild infrastructure thing?

fervent sage
#

mhm

short snow
#

lol, i only had to do the typing stuff, rest all libs are already working without any breaking changes

sleek steppe
#

Yeah I tested everything for my packages

#

You already did the fix for dpy

short snow
#

i did?

#

🤨 hmmm

#

i don't remember, lol

short snow
sleek steppe
short snow
#

ah yes

#

i thought there were more changes

sleek steppe
#

Not any breaking changes

short snow
#

ok will update the list then

#

updated.

#

i will open a PR, with WIP status

fallen patrol
#

just mark it as a draft pr

short snow
#

yeah ik

#

i can't find it in the whats new in python3.9 changelog

fallen patrol
#

@short snow out of curiosity did you black everything while you're at it?

short snow
#

black formatter?

fallen patrol
#

because there's like 48 files that black edits if you accidentally run it on the whole repo

#

that's the one that it uses i think

short snow
#

sir lancebot has no black formatter

fallen patrol
#

then what does it format with?

#

pre-commit?

#

i mean

#

what formatter does pre-commit use

#

or does it not use any formatter

#

!src

stable mountainBOT
fallen patrol
#

.src

short snow
#

just flake8

fallen patrol
#

odd

#

i thought they used a formatter mh

vocal wolf
fallen patrol
#

I how what

#

@vocal wolf
294 new commits
4 new commits

#

What happened

placid ermine
#

lol

vocal wolf
fallen patrol
#

Oh

vocal wolf
#

@tough imp beautiful PR, very in-depth.

fervent sage
#

@vocal wolf i have nothing better to do so I'll proactively poke myself 😛

vocal wolf
#

lel

fervent sage
#

!remind 30m continue reviewing bot#1028

stable mountainBOT
#
Yep.

Your reminder will arrive in 2 years and 6 months!

dusky shoreBOT
fervent sage
#

i

#

minutes

vocal wolf
#

lmao

placid ermine
fervent sage
#

well uh, guess im reviewing it in 2 and a half years :)

#

now i know how kutiekat feels kek

tawdry vapor
#

Oops I didn't realise that PR was waiting for my review

fallen patrol
fervent sage
fallen patrol
#

And yes, that will work because of cryllic substitution

fervent sage
#

why is the little letter the bigger time period aaaaa

fallen patrol
#

No idea

#

I once got a 1M mute

fallen patrol
balmy sparrow
fervent sage
#

they're wrong

balmy sparrow
#

lemon_sweat I don't like it either

fallen patrol
#

Wait we use strftime to format?

#

Or well python bot

short snow
#

yes we do

fallen patrol
#

Damn that makes everything easier I should switch a bot to that

vocal halo
#

why objects.inv file does not have full data

brazen charm
#

What do you mean?

tough imp
#

probably not

#

maybe it helped keep something on 1 line

#

yea no reason

#

probably just copied over including the imports

short snow
#

can you point out - what is "this" here?

placid ermine
#

presumably

#

are you on mobile?

#

it displays fine for me

fervent sage
#

it seems like one of those mobile things™️

vale ibex
#

Yea, It's a mobile issue with embeds

left flume
#

So I raised this issue long back

#

It was abt a rock-paper-scissor command and a toss command

#

I've made it but I never really understood what to do next

#

I made it long ago in fact

short snow
#

@fervent sage can i change the structure of the request a bit, to make the eye, eye_wing, etc inside colors

#

so i can directly put the options into the namedtuple

#

rather than putting them one by one

#

like this

#

and there is no option to pass options into manduck, i will open a pr for that too

#

next time reply, rather than reactions, i almost missed them

fervent sage
#

ok i have found batteries

#

yes i prefer to reply but my keyboard died which is very annoying

#

only put new batteries in a week ago blob_pain

short snow
#

ah np

tough imp
#

it's generally recommended you hard wrap lines in commit messages

#

a common threshold is 72 chars

#

ends up being much easier to read than like this; and you don't risk getting an awkward soft wrap in some other interface

short snow
#

didn't i do that? in the commit box of pycharm if you leave a line it comes inside the 3 dots

#

ig, atleast that's what i noticed

tough imp
#

it probably soft wraps in the editor

#

although I personally think that limiting the summary line to 50 chars is too harsh

patent pivot
#

GitHub displays up to 72 on the summary line, so I use that.

tough imp
#

yea same

short snow
#

summary means below ... 3 dots right?

#

after pressing the 3 dots

tough imp
#

no summary is the first line

short snow
#

ohk

tough imp
#

its what you get when you browse the log in --oneline mode

#

so that should summarize what the commit does

short snow
#

yeah, so leaving a line does put it into the commit description

short snow
#

ah, i didn't put any reasoning on the pr, could write it and i would update it on the PR.

sleek steppe
#

How do I do that lol

short snow
#

just put it here, i would update it on the pr

sleek steppe
#

asyncio.create_task is a higher level function, as it is more readable and it's preferred over asyncio.ensure_future

short snow
stable mountainBOT
#

You are not allowed to use that command here. Please use the #bot-commands channel instead.

slow steppe
#

ive pointed this issue out before, its a mobile only bug so....

sleek steppe
#

Mobile doesn't like \n

fallen patrol
#

looks fine enough on my phone

#

!src guild

stable mountainBOT
#
Command: server

Returns an embed full of server information.

Source Code
vale ibex
#

is it an iphone?

#

I know my android has issues with embeds

fallen patrol
#

!guild

stable mountainBOT
#
Server Information

Created: 4 years, 3 months and 7 days ago
Voice region: europe
Features: DISCOVERABLE, BANNER, VANITY_URL, WELCOME_SCREEN_ENABLED, NEWS, ANIMATED_ICON, VIP_REGIONS, RELAY_ENABLED, PARTNERED, PREVIEW_ENABLED, INVITE_SPLASH, COMMUNITY, MEMBER_VERIFICATION_GATE_ENABLED
Roles: 79
Member status: status_online 46137 status_offline 131791

Members: 177928

Helpers: 99
Moderators: 30
Admins: 13
Owners: 3
Contributors: 36

Channels: 214

Category: 27
News: 11
Staff: 59
Text: 106
Voice: 11

fallen patrol
#

also the reason i sent the embed here is because if ctx.channel.id in (constants.Channels.dev_contrib) hehe

clever wraith
#

so what will happen when 2.0 releases for discord.py?

sleek steppe
#

Probably someone will make a PR to upgrade?

fervent sage
#

i cry and start over with my tutorial

sleek steppe
#

that too ^

clever wraith
#

bonk

#

there aren't gonna be that many changes though

sleek steppe
#

A lot of breaking changes

#

and slash commands

fervent sage
#

for slash commands im just gonna happily ignore them entirely :)

fervent sage
#

i prefer slash commands over webhook anyway

fallen patrol
#

hahahahhahahahahahaha

#

i really hate the slash commands stuff

vocal prairie
#

Why?

fallen patrol
#

tldr every single reply even through a bot account has permissions to mention all members

vocal prairie
#

That was just a glitch.

fallen patrol
#

there is no way to turn that off from a permissions standpoint

vocal prairie
#

^

fervent sage
#

it's the same as webhook permissions /shrug

fallen patrol
#

it was a bug but there is still no way to turn it off

#

yeah

fervent sage
#

dont add bots you dont trust, that should be a given

fallen patrol
#

this

vocal prairie
fallen patrol
#

no i mean settings wise

#

within server

#

bots can turn it off, but servers can't

#

yeah but they can ping everyone is still the sad part

fervent sage
#

essentially if the bot does ping everyone at this point it was intentional, so there should be no reason to worry about it

#

because again, why would you add bots you dont trust?

vocal prairie
fervent sage
#

also if you do want to add a bot you dont trust you can just not allow the slash commands scope and all is good in the world

#

so while the permissions are by no means perfect yet, as long as you're being sensible I see no reason to really worry about that

#

i thought they already were lol

patent pivot
#

slash commands are cool

#

I wrote this yesterday running entirely at the EDGE it's so webscale holy smokes

thorny obsidian
#

I honestly like slash commands now that I have a barebones running

#

I use the discord-interactions.py library and it's great honestly since it's entirely webhook based and I can use flask

vocal prairie
#

Slash commands are nice because you don't have to make your user remember commands.

#

It's all listed there.

#

Which is wonderful UX.

patent pivot
#

ephemeral messages are golden as well

vocal prairie
#

Yeah. Those are nice for seeing things like your infractions without showing anybody.

sleek steppe
whole forge
whole forge
thorny obsidian
patent pivot
whole forge
#

one word for both replies
neat

fervent sage
#

i feel like making a url shortener using fauna and workers because i'm not tired enough already today lmao

patent pivot
#

fauna is great

short snow
#

fauna? (btw i have mentioned your changes alec)

fervent sage
#

its a database made by some twitter engineers

whole forge
#

if i had time i would make a sharex uploader on the edge

patent pivot
short snow
#

ah thanks

fervent sage
#

@short snow you need to edit the pydantic model as well to meet your colour changes else the schema validation will fail

short snow
#

could you link the pydantic docs, never worked with it

fervent sage
short snow
#
colors: typing.Dict[PartOption, PartOption, PartOption, PartOption, PartOption]

just guessing, would it be this?

fervent sage
#

you'd probably create a new model called Colours and that would have the 5 part option variables

class Colours(BaseModel):
    body: PartOption
    ...

# and then

class DuckRequest(BaseModel):
    colors: Colours
    accessories: Accessories
short snow
#

right, like you did for PartOption

fervent sage
#

yup

harsh path
cold island
# sleek steppe bump

The info command handles server-related emojis, what is the use case you're thinking about?

sleek steppe
#

The emoji info command uses the attributes a PartialEmoji would have. so I don't see why not use PartialEmoji

cold island
#

What would be the benefit of using a PartialEmoji?

sleek steppe
#

That it doesn't error on an emoji that sir-lancebot doesn't see

cold island
#

Right, so what I'm getting at is that you're proposing that the command should work for off-server emojis

sleek steppe
#

Yeah that's what I meant

short snow
cold island
#

On the one hand I don't really mind, on the other hand the command displays information such as how long ago the emoji was added, which I feel is there because it applies to the server's emojis

#

.emoji info lemon_hyperpleased

dusky shoreBOT
sleek steppe
stable mountainBOT
#

class discord.PartialEmoji```
Represents a “partial” emoji.

This model will be given in two scenarios:

• “Raw” data events such as [`on_raw_reaction_add()`](https://discordpy.readthedocs.io/en/stable/api.html#discord.on_raw_reaction_add "discord.on_raw_reaction_add")

• Custom emoji that the bot cannot see from e.g. [`Message.reactions`](https://discordpy.readthedocs.io/en/stable/api.html#discord.Message.reactions "discord.Message.reactions")...
fervent sage
#

The only info that embed requires is the name and id which are of course both given in the internal representation of an emoji anyway

#

All the time stuff can be derived from the snowflake

short snow
#

Yeah, then I would say yes, it would be a good enhancement.

fervent sage
#

Oh and the CDN URL but that's also based on the id

cold island
#

That's not what I'm getting at

fallen patrol
#

What then

fallen patrol
# dusky shore

Everything in this embed can be gained from a partial emoji object

cold island
#

I mean that it's interesting to know when emojis were added to the server, and I'm not sure that's interesting for off-server emojis

sleek steppe
fervent sage
#

Eh, if the wording was specifically 'added' I'd probably agree, but since it's created I feel like that's just interesting to know, in the same way the age of any other snowflake is

fallen patrol
#

I mean, if you're running the command you probably want the emoji info including the creation date

#

My enlgiush good

short snow
#

Once dawn finishes his changes for update to python3.9, could we get the PR to high priority and get it merged/reviewed fast, since for every change we would need to rebase and mention the changes and then get that reviewed again

#

Cc: @vocal wolf

vocal prairie
#

I can try to finish that up tmrw.

short snow
#

No worries, you can finish it of at your own speed, the only major thing is testing, I don’t think there are any breaking changes in your libs

vocal prairie
#

Yeah, just one thing. In the standard library, what exactly changed in 3.9?

sleek steppe
#

Deprecated a lot of typing stuff mostly

short snow
#

You can check out the pr, I have explained it in the description (with toxic’s help)

vocal prairie
#

Okie

short snow
#

I still need to have a final look at the python3.9 chalngelog

#

In case I missed out something

sleek steppe
short snow
#

Uhh, I don’t see those, weird, lemme see

vocal prairie
#

I saw that too

short snow
#

Ahh yes

#

Hmm, wondering how they keep duplicating, 🪄

#

Ahh yes, I missed out the last line while copy pasting from markdown formatter

#

Lol @vocal prairie no changes required for those libs, I went through their change log, they had no breaking changes

vocal prairie
#

Lol

#

I'll just do the 3.9 stuff

#

and actually update them

vocal prairie
#

Is it normal that running docker-compose up on lancebot has taken 1100s and is still going?

#

Still going at 1600s.

fallen patrol
#

no.

#

hey, @patent pivot ik its a dupe feature but it also isn't. The timed command, possible to copy to @stable mountain?

fervent sage
#

aye my command is popular kek

sleek steppe
fervent sage
brazen charm
#

What would be useful to time on Python?

fallen patrol
#

what is useful on sir-lancebot to time?

#

exact same answer for bot bots

fervent sage
#

timing stuff is fun, lancebot is meant to be the fun bot, python bot isnt

#

ez

brazen charm
#

Nothing really, but it is a more "fun" command and has more ops that take longer like the image manipulation

sleek steppe
#

and some commands take longer than others in sir-lancebot

fallen patrol
#

same goes for @stable mountain

#

!d

#

for example

#

!pypi as another

sleek steppe
#

That was sped up quite a but

fervent sage
#

pypi is pretty fast i thought

brazen charm
#

using the timing for web requests looks meh to me

fallen patrol
#

!pypi dontimport

stable mountainBOT
sleek steppe
#

Yeah it's fast enough

fervent sage
#

sometimes i just wanna be able to it looks like your indentation is a bit off, see {!indent} but somehow i get the impression that invoking commands mid sentence like that wont happen lol

vocal prairie
#

I wish.

#

Like saying: Maybe you can check out the !rules for some info on that

brazen charm
#

It was discussed a few times

fervent sage
#

nah !rules in the middle is too easy for the bot to accidentally resolve

#

it'd need to be more like {!command}

fallen patrol
#

The rules and guidelines that apply to this community can be found on our rules page. We expect all members of the community to have read and understood these.

vocal prairie
fallen patrol
#

hm

#

if @stable mountain didn't have such a simple prefix lol

fervent sage
#

ngl i do quite like the syntax of {!timed 8bitify} in the middle of a sentence, maybe i'll make a thing for that for my own bots

sleek steppe
#

Maybe would should have that for tags

vocal prairie
#

It seems like a nice feature.

sleek steppe
#

And maybe if people want to avoid it they can do \{!some_tag}

#

the backslashes won't show ({!some_tag})

fallen patrol
#

aight i hate to

#

be the person

#

but that thing seems like it should be on @dusky shore

#

it seems odd to put it on python

#

because bot#1028 is handled by sir-lancebot

dusky shoreBOT
fallen patrol
#

what bot did the repo used to use?

#

i mean now that its deleted but

#

im curious anyhow

patent pivot
fallen patrol
#

but what was the name smirkrage

patent pivot
#

it's revolutionary

#

python-discord-bot

#

lol

fallen patrol
#

oh okay

#

oh

#

btw

#

does python-bot connect with python

patent pivot
#

what do you mean

fallen patrol
vocal wolf
patent pivot
#

uhhh

#

what do we use that for nowadays lol

patent pivot
#

it opened a bunch of issues back in 2018 when we migrated from gitlab --> github

fallen patrol
#

yeah that's about it

patent pivot
cold moon
#

Why was GitLab used first?

fallen patrol
patent pivot
patent pivot
#

was just a choice that we made at the time lol

sleek steppe
#

I'm also confused what the needs two approvals label is for

vocal prairie
#

Something that needs two more approvals?

fallen patrol
patent pivot
#

we were on GH and then migrated to GL after the MSFT acquisition (as many did) and then migrated back when we realised it was dope (which many also did)

fallen patrol
#

lmao

#

that sounds

#

like

#

well, imagine if msft bought discord

#

what would you do?

vocal prairie
#

They did.

#

Didn't they?

#

Or am I behind?

cold moon
#

No official announcement yet

fallen patrol
#

migrate to guilded and then realize that discord was dope and then return to discord 😛

#

^

sleek steppe
patent pivot
#

i can certify that python discord will never be on slack

fallen patrol
#

well no duh

vocal prairie
#

It's Python Discord, not Python Slack.

fallen patrol
#

Python Discord!!
Now on slack

#

inb4 python discord joins irc.

vocal prairie
#

I can't even imagine. PySlack.

patent pivot
#

lol

#

there is a python slack group called PySlackers

fervent sage
#

lol look at sir-lancebot#281

dusky shoreBOT
cold moon
#

IRC chats...

fallen patrol
#

u should comment and say u duped it

#

and it was merged

#

lel

#

.help timed

#

I SWEAR WHY IS @stable mountain SO MUCH MORE FORGIVING

sleek steppe
#

that's a different time command

fallen patrol
vocal prairie
fallen patrol
#

you can run most of @stable mountain's commands in this channel

#

not @dusky shore

#

like

#

imho .issue should be allowed in every channel

#

.issue 281

#

sir-lancebot#281

dusky shoreBOT
fallen patrol
brazen charm
#

issue being allowed here was (probably accidentally) reverted

fallen patrol
#

i just took that screenshots

fervent sage
sleek steppe
#

sir-lancebot#684 needs an approval from a core developer

green oriole
#

Well we usually approve issues not PRs pithink

#

Hmmmmm

cold moon
#

Actually I'm not sure is this change good

green oriole
#

I'm not 100% about this one, since we had some users with some veeerrryyy bad emoji names (like using the n-word)

#

Do we really want to allow that? I don't think we do

cold moon
#

Does @stable mountain catch bad emoji names?

green oriole
#

Yep, we do get a ping

cold moon
#

Then this is not too bad

green oriole
#

Yeah but the bot will repeat it

#

Do we really want an embed with our bot saying "sadn****" (yes, it is a common emoji name)

sleek steppe
#

You can make the bot say that with multiple commands

green oriole
#

Hmm true

sleek steppe
green oriole
#

Well since you should always have an issue opened, this isn't really a problem

vocal wolf
#

@fervent sage custom command check tag PR merged.

green oriole
#

(nobody saw that French word)

vocal wolf
#

What French word?

sleek steppe
#

Oh just noticed Xith is admin too

fallen patrol
#

lmfao

patent pivot
#

lol

fallen patrol
patent pivot
#

all these BEAUTIFUL admins

fallen patrol
#

soon admin pings will ping more people than a moderator ping

green oriole
#

We haaaaavvveee.. 15 admins ?

#

We probably have 25 or so mods

thorny obsidian
#

I think we still have more just mods than admins? Xith and Chris might have just tipped it the other way though

green oriole
#

!role 267629731250176001

stable mountainBOT
#
Moderators info
ID

267629731250176001

Colour (RGB)

#ff9f1b

Colour (HSV)

0.10 0.89 255

Member count

30

Position

74

Permission code

1342046150

patent pivot
#

3 owners, 12 admins, 15 moderators

green oriole
#

Wait

patent pivot
#

many admins/owners are mods though

green oriole
#

Why are they 30 mods

patent pivot
#

griff & LX, it's correct

fallen patrol
#

wait ur right

green oriole
#

Oh are you counting top level?

patent pivot
#

yea

green oriole
#

Fair

fallen patrol
#

that doesn't add up

green oriole
#

Where am I in this haha

#

By the way, I'll trademark this green now

#

It is mine

fallen patrol
patent pivot
#

lol

#

i am being fact checked

fallen patrol
#

wait joe did you count the first or second moderator role

green oriole
#

I'm not even sure who has the new role and who doesn't

fallen patrol
#

some people don't have it

#

although i have no fucking idea if that's the old or new role

green oriole
#

Haha

#

Look at the ID

#

The one with the bigger ID is the new one

fallen patrol
#

which is the main reason why i think they should be different names

green oriole
#

We won't have both at the same time though I think

fallen patrol
#

yeah you will

patent pivot
#

I don't think there is a reason why people need to know which role is which, frankly

fallen patrol
#

i don't see a reason that they should have the same name

thorny obsidian
#

Why... does it matter to a server member if it's the new role or not? It doesn't really impact the usage

green oriole
#

That'll screw some int e, can't wait

fallen patrol
#

it looks like an oversight on the member list

#

or that discord is glithcing

#

its not normal.

green oriole
#

But I legit wonder in which group you counted me in Joe haha

fallen patrol
#

you could make them different colors even

green oriole
#

Mod I guess?

#

Or just not here

patent pivot
#

You're the only one to raise the concern so far, and as I've mentioned we don't tend to action things based off one members, or even one staff members thoughts on a matter. We'll talk about it internally but I think it's a very minor implementation detail.

green oriole
#

It's not like we can't edit the role later

#

The only thing is pinging will be complicated

thorny obsidian
green oriole
#

Siiiincce.. you just are prompted with two roles

#

Make sense

thorny obsidian
#

One will be pingable and one won't

green oriole
#

Well I mean, what about internal channels where we can ping any role? Or even for admins?

#

Maybe like we could add a [!] or something to the on duty ones

patent pivot
#

alright, 3 people, my point still stands. we'll discuss it internally because those internally are the ones who will actually be affected by it, but still it's a small implementation detail.

fallen patrol
#

you could do a few things

#

change name
change color (noticible)

#

basically the names could be same if you really don't want to change them

#

my main concern is them being the same

patent pivot
#

yeah, there are several ideas, we'll talk about it

fallen patrol
#

cool

patent pivot
#

from a regular user pov, there is no concern to be held about the naming of the roles. it only really matters when there are situations internally, as mentioned such as pinging roles.

fallen patrol
#

of 7 total instances for two moderator in the discord search 2 of them from today

#

now eight and three

sleek steppe
patent pivot
#

I'm not saying that people bringing it up isn't happening but bringing it up is not implying that there is something wrong. think back to when we removed the developer role or renamed metricity to dave, people asked questions there

fallen patrol
patent pivot
#

imo it won't, no

green oriole
#

.savatar 506618674921340958

dusky shoreBOT
#
ToxicKidz
Is this you or am I just really paranoid?
patent pivot
#

then the question switches from "why are there two moderator roles" to "what is the difference between the roles"

green oriole
#

lol

thorny obsidian
#

Do the other avatar commands allow it to be called on someone else's avatar?

green oriole
#

Yeah, that's def a bug

#

.prideavatar 212644551926611969

sleek steppe
dusky shoreBOT
#

I don't have that flag!

balmy sparrow
#

This bug had been discussed earlier though I think?

fallen patrol
green oriole
#

I don't think they do

balmy sparrow
#

I definitely remember pointing out the code that was faulty here

green oriole
#

Probably something we would like to uniform when moving to the executors

fallen patrol
thorny obsidian
#

I, in general, would only like those types of commands to be used on the user who invokes it. Like I think it would be weird for people to be in bot commands running that on other people's avatars.

fallen patrol
#

it is called on a different user and takes that other user and shows that other user but works on the authors avatar

patent pivot
thorny obsidian
#

Right... I'm saying that's a bit weird to be able to use it one another user's avatar.

fallen patrol
#

but no matter what its a bug

thorny obsidian
#

This is me stating on how I think it should operate, not me stating how it currently operates

sleek steppe
#

Ah in chris' PR he fixed it

fallen patrol
#

to which way

#

wait what pr is it

sleek steppe
#

sir-lancebot#594 I think

dusky shoreBOT
sleek steppe
#

597

fallen patrol
#

v nice memory

#

.issue 597

sleek steppe
#

sir-lancebot#597

dusky shoreBOT
thorny obsidian
#

I was asking not about the spookify specifically, because I can see it's supposed to take another user. But I was curious about how our other avatar commands work, like the pride avatar. The Pride avatar one only allows it to be used on the user invoking it. Which is how I think it should be for all the avatar commands.

sleek steppe
#

I feel like we should get member intents for sir-lancebot instead of relying on api calls when we need updated info on a member

fallen patrol
#

RAM goes brrrr

#

there's a reason they're off

thorny obsidian
#

Yeah, I should make an issue for that or bring it up to the devops team. It would be nice for some of the other commands to operate as they were first written

fallen patrol
#

why were they turned off again?

thorny obsidian
#

They resulted in a lot of resource usage and on our old infra we were limited in memory. With our new infra we don't quite have those constraints, although I imagine joe will have some opinions.

patent pivot
#

okay so

#

there are a few reasons

#

a) we don't need member stuff
b) we should have a better cache than we do, but there is a bug with this server specifically that is preventing us from getting USER_UPDATE or TYPING_START

#

but yeah primarily because it's a resource drag and it's way more performant to not have those intents

#

let's head to the dev-ops channel

sleek steppe
#

This is interesting bot.constants.proxy_user

glass pecan
#

it's just a hack to normalise the code when a user isn't available

#

saves a bunch of if not isinstance later on

sleek steppe
#

but

#

why is mention the id and display_name the mention

glass pecan
#

good question lol

#

the original didn't form a real mention and didn't use display_name

cold island
#

Especially when it's something as minor as having two roles with the same name

glass pecan
#

but then there's a second version that came from watchchannel that's like the above

#

so i guess it's intentional based on the log output

#

not entirely sure though, but the pr didn't technically change it, it just moved it

sleek steppe
#

the FetchedUser converter makes 2 calls to the api too

#

If it's invalid

#

Or I guess it's outdated

glass pecan
#

pithink not sure what you're referring to. if it's current code, feel free to send a proper github link to the lines of code that you're referring to

sleek steppe
#

Right, my bad

fallen patrol
sleek steppe
#

str!r 🙃

patent pivot
fallen patrol
#

it still bothers me, but you've said you're gonna bring it up so

#

i only mentioned it again cause zig mentioned me

fallen patrol
#

Source for the season daemons?

#

It does stuff with both Lance and @stable mountain , I think?

patent pivot
#

lancebot does not interact with a seasons daemon anymore, no

fallen patrol
#

.src seasons

#

Why is Lance so restrictive smh

patent pivot
#

there are no seasons on lancebot

#

we removed them

#

lancebot used to handle branding and load season specific cogs

#

but that sucked because we want our features to be used all year round

#

so we removed those locks

fallen patrol
#

But now it's all cogs all year

patent pivot
#

yea

fallen patrol
#

Ah

#

Other note, why does Lance block so many commands that python allows

patent pivot
#

we just didn't standardise it ¯_(ツ)_/¯

fallen patrol
#

Ex !src vs .src

patent pivot
#

feel free to open some PRs

fallen patrol
#

🥺

patent pivot
#

let's not do an issue per command but you could also make a large issue summarising any major ones

fallen patrol
#

Yeah

#

After .color lmao

#

Color aliased to colour

patent pivot
#

colour aliased to color

fallen patrol
sleek steppe
#

Your converter should subclass ColourConverter which in dpy 1.7 supports rgb(a, b, c)

fallen patrol
#

I'll open it to commits by contributors and you can change it

patent pivot
#

hmm

#

that's not a great idea

#

ruins the git blame

fallen patrol
#

¯\_(ツ)_/¯

#

Yeah true who wants to be an american

#

Or UK either

#

Spell it colur

#

BTW do you think Lance would be hard to run on arm?

#

I have a x64 server that I can use if I need to but id like to run it on arm

patent pivot
#

uhhhhhhh

#

I wouldn't think so

#

depends on whether our native deps compile on arm, there likely won't be a wheel for those

fallen patrol
#

I heard there is some trouble with the wheels

#

Yeah

#

What native deps?

patent pivot
#

you can give it a shot

#

that's a good question

fallen patrol
#

Or uh

patent pivot
#

I don't know our dep tree so I couldn't tell you

fallen patrol
#

What are native deps Blobsweat

patent pivot
#

compiled extensions, written in C or another language

fallen patrol
#

Dependencies I get but the native part

#

Oh

patent pivot
#

so uhhh

fallen patrol
#

Yep I can probably get through that

patent pivot
#

okay so take aiodns, under the hood that uses pycares which in turn depends on c-ares

#

so it depends on whether stuff like cares compiles on ARM

fallen patrol
#

Ah

#

I heard it's possible just a bit of a pain

#

Thankfully

patent pivot
#

which I'd like.... assume it does? but I've never tested it

fallen patrol
#

Dependency-installation hell is right up my alley

patent pivot
#

worth looking into GH codespaces if you want a x86_64 env with a VS Code editor out of the bbox

patent pivot
#

alley

#

ally means friend/partner

patent pivot
fallen patrol
#

BTW I use it as a server and don't run vsc on it

#

I access it over ssh

patent pivot
#

yeah, github codespaces essentially spins you up a server and runs vscode on it, all in your browser

fallen patrol
patent pivot
#

yep

fallen patrol
#
  1. limited beta
  2. cost
patent pivot
#

I thought they rolled it out to more people, I forget

fallen patrol
#
  1. it's lancebot
#

😂

#

uses the arm64 linux I have instead which is arguably better

#

The only reason I didn't want to use it is because it's fucked up with docker

patent pivot
#

I use a codespaces for most of my pydis work so I don't have to install Docker on this MacBook

fallen patrol
#

.gh

#

I find those two commands so ironic

#

Issue and gh lol, we have automatic issue linking guild wide now!

fallen patrol
patent pivot
#

nsjail is great

#

very good stuff very great

fallen patrol
patent pivot
#

I could

fallen patrol
#

Is !ENV BOT_TOKEN in the yml for @stable mountain part of the yml spec?

#

Or is it how the constants file reads the yml file?

#

!src

stable mountainBOT
magic arch
#

It's a custom thing in constants, yeah

native hound
#

@paper portal

#

Thanks for helping me on this earlier! I'm so proud of how this looks, fuckin' sick.

fallen patrol
#

Wut is this about

#

Oh

#

BTW this channel is mostly about the bots and projects of this server

native hound
#

Oh! That's my bad!

cold island
#

Hey @tawdry vapor, so I've been trying to implement what you suggested with splitting the check, and am a bit unsure on how to do that. dpy takes the checks and adds them to a list to be run one by one, so I can't take the classic approach of writing a decorator that wraps the function with a try-except (at least not in a way that I can see). On the other hand I can't defer raising the exception to the override check, because I don't know if it's being used (well I can technically find out, but that's a whole other rabbit hole). At the same time a solution to this will probably mean that the two decorators need to be written in a specific order, one below the other, so I'm not sure how much of an improvement that is.

vocal prairie
#

#dev-log message For this, it depends on what parser you're using. Some implement things differently.

cold island
tawdry vapor
#

Yeah I forgot checks dont behave like normal decorators so forget about it

sleek steppe
#

Does it need to be a check though?

#

As in does it need to return commands.check

cold island
#

You can work around it in several ways, I'm just not sure it's worth the trouble and the underlying complexity

sleek steppe
#

I'm not sure what mark was wanting there though

short snow
#

sir-lancebot#683 is now ready for review!

dusky shoreBOT
short snow
#

For pr bot#1446

@cold island I had commented on few changes you requested, would be good if you could have a look at it once you would have some time.

@cold moon I had mentioned your requested changes, would be great if you could give it another review if you get some time off.

dusky shoreBOT
cold island
#

yeah, apologies, was preoccupied with catching up with a few other things

short snow
#

no worries, just thought of reminding you in case you have forgotten

gritty wind
#

@short snow @sleek steppe I've blocked your PR for now. This is the dependency hell I was talking about, and the same thing that has blocked me from bumping @stable mountain for so long. I've been personally following up with different creators for different packages, but as it stands, a lot of our dependencies do not support 3.9 yet, and we can not upgrade.

short snow
#

all the dependencies which are currently in use, are supported by python3.9, i have tested them.

#

atleast mine

gritty wind
#

Try with the docker command

#

Currently, at the very least pycares isn't

#

(and probably won't be for a long time)

short snow
#

pycares? we don't use that in sir lance

gritty wind
#

pycares is a dependency of aiodns

short snow
#

ah, ok

green oriole
#

Not even supporting 3.8 is really eeehhhh

short snow
#

hmm, how did sir lance use python3.8 then lemon_thinking

gritty wind
#

Because it supported it unnofically

#

but

green oriole
#

We need to get that Nebraska people on the work!

gritty wind
#

pycares did have a 3.8 wheel

#

so we could use it with no problem

fervent sage
green oriole
#

Haha

gritty wind
#

These packages are completely unmaintained though so

short snow
#

there are other speedrun packages for aiohttp

#

we could switch?

vale ibex
#

the question is, does docker-compose up --build work without errors from installing deps?

short snow
#

i can have a look in a while

vale ibex
#

👍

#

The assumption is it won't, since some of these packages don't publish wheels, and we don't want to have build tools in the docker image

short snow
patent pivot
#

the other speedup is brotli encoding iirc

gritty wind
#

We don’t strictly need it

#

But maybe let’s explore other avenues first

#

Someone opened an issue 11 days ago

#

Still waiting to see if that goes anywhere

patent pivot
#

I think we should avoid not using it really, considering aiohttp themselves highly recommend aiodns

brazen charm
#

May have wheels on some other public package index

#

from a glance the lib doesn't looks like it'd be incompatible with the version change

gritty wind
#

It is not, it works if you have build tools

patent pivot
vocal prairie
green oriole
#

Hey @fervent sage, I am a bit late about it, although I still wanted to mention it. For the .timed feature, you opened the PR before having a core dev approve it. While it was fine here, the feature wasn’t too controversial, we would appreciate if you could make sure that the tag is added before working on it.

fallen patrol
green oriole
#

Yeah, well

#

haha

fervent sage
#

oop yeah

#

tbh probably wont do anything more on the bots for a while

#

my motivation to do stuff has gone from 'many' to 'im too miserable to even go outside' again as it does sometimes

short snow
green oriole
#

Yikes, I know this feeling

vocal prairie
short snow
#

sure, thanks!

patent pivot
#

I'd say we put a hold on all dep upgrades until we can certify there are wheels for python 3.9

green oriole
#

I think that’s the best course of action, yeah

fallen patrol
#

what about upgrading to 3.8 now hehe

patent pivot
#

we're on 3.8

fallen patrol
#

i thought something was 3.7

patent pivot
#

not that I know of

fervent sage
#

aiodns doesnt have an official release for 3.8 but it does have wheels for it
edit: one of its deps

green oriole
#

The site perhaps? (nope)

fallen patrol
#

!src

stable mountainBOT
thorny obsidian
#

aiodns is only officially supported for 3.7, but there are wheels for 3.8

gritty wind
#

pycares is officially supported it for 3.8?

#

It's in the sidebar

fallen patrol
#

ah it was meta

patent pivot
#

Also worth noting that the poetry PR introduces 3.9, and more in depth than the dependency bump PR does.

thorny obsidian
#

whoops, wrong one >_> still waking up

gritty wind
#

aiodns does not though

patent pivot
#

This PR doesn't amend any of the CI scripts

gritty wind
#

it's stuck on 3.7

fallen patrol
#

!pypi aiodns

stable mountainBOT
fallen patrol
#

why is that needed?

short snow
patent pivot
#

yours

short snow
#

it does, i have updated the dockerfile

patent pivot
#

that's not the only place

gritty wind
#

(The CI scripts for the github actions)

patent pivot
#

we specify versions in some of the actions scripts yeah

short snow
#

ah yes, i will edit that

#

hmm, was my pr really needed if joe's PR updates it pithink

gritty wind
#

Tbh, probably not, but neither is getting merged because of the dep issues

#

at least, not yet

patent pivot
#

yeah

fallen patrol
#

the five top public repos are all 3.8

patent pivot
#

yeah

fervent sage
#

tbh it's not like there's a massive hurry to update, there arent that many new features in 3.9 that are useful enough to justify rapidly trying to update now imo

short snow
#

should we close either one of them then? or merge the two?

gritty wind
#

Merging the two sounds like a conflict nightmare

patent pivot
#

the poetry one will remain open since it does more than just bumping a version

vocal prairie
patent pivot
#

it'll need to be redone to update new dependencies/documentation/etc.

gritty wind
patent pivot
gritty wind
#

Fwiw, I would block any changes that introduce build-tools, and I'll die on that hill if need be

vocal prairie
#

Makes sense. It just depends on what you want to do.

short snow
patent pivot
gritty wind
#

It’s fine here

patent pivot
#

docker image sizes 📈

vocal prairie
gritty wind
#

For me, the ethos of sir-lance it is being able to contribute to it as your first OSS project

patent pivot
#

I frankly don't see the reason that all of our dependencies need to be bumped

gritty wind
#

For windows, and certain Linux distributions, build tools don’t come pre-included

#

And aren’t easy to install/require a lot of effort

#

That’s not a trade off I’m willing to make for 3.9

brazen charm
#

They aren't that hard to install on win if you follow the steps, but they certainly are huge an an obstacle to development

vocal prairie
#

Makes sense. Since Lance is supposed to be easy, we shouldn't force people to set up too much.

short snow
#

that's basicall what i said, we merge our pr into yours with resolving the conflicts

conflcits won't be much, just update the poetry file with our deps and relock

I frankly don't see the reason that all of our dependencies need to be bumped
the reason for bumping most devs is to get python3.9 "official" support

vocal prairie
fallen patrol
#

.src

green oriole
#

It just multiply the build time by 10 or 15

fallen patrol
#

sir-lancebot#1

dusky shoreBOT
gritty wind
#

Speaking of build times

#

Anything happen with dropping ffmpeg

#

I think Joe was looking into that

patent pivot
#

was i

#

lol

green oriole
#

The spookysound command stops working

fallen patrol
#

One of the major upgrades this offers for us is that we can now use list[dict[str, str]] rather than importing typing module and then doing those ugly typing.List[Typing.Dict[str, str]] annotations.
wait what does this do? help

gritty wind
#

Or maybe not lol

green oriole
#

Dunno if we still even have it

fallen patrol
#

.spookysound

green oriole
#

.help spookysound

dusky shoreBOT
#
Query "spookysound" not found.
gritty wind
#

Oh the command

#

Nvm

green oriole
#

Yeah

#

I don’t think we even want to keep it tbh

#

But i’d be for removing ffmpeg as much as possible

gritty wind
#

Ffmpeg is huge (esp with the apt update) so i don’t mind dropping it

fallen patrol
placid ermine
#

that's a lot of spooky

green oriole
#

You need like 130 apt packages to install it haha

placid ermine
#

could we have the latex fix I PRed temporarily 👉 👈

patent pivot
#

I don't understand

gritty wind
#

I think some people talked about not doing manual memory management

#

But, the other things are fine

patent pivot
#

wait, no, I definitely don't want to do that

fallen patrol
#

that's for ffmpeg

green oriole
#

Sounds about right

patent pivot
#

a pipenv -> poetry migration, 3.9 migration and dep bumps in one PR is not okay

placid ermine
#

it's just one gc.collect 😔

green oriole
#

Wasn’t @gritty wind investigating moving latex to another process?

short snow
#

ok joe

placid ermine
#

yeah, that's why the temporarily

gritty wind
#

Yeah, but these do two things

#

Actually, let me drop a review right now

placid ermine
#

interesting

short snow
#

staff staff staff, attention needed

since few staff are here, there is something which needs your opinion: #dev-log message

vocal prairie
#

Mark was saying possibly even use normal LaTeX

placid ermine
#

for full latex we'd also have to sandbox it 😔

gritty wind
#

I think I agree with kwzrd there

#

Never seen more than 2 or 3 links in a report

short snow
#

even I do

#

i had asked here earlier, and was said to keep for just in case

#

lemme get the link

vale ibex
#

Do we even use ffmpeg anymore

#

along with the voice extra of d.py

#

I think both can be removed

gritty wind
#

Alright, looked at the latex fixes, and I concur with everything chris is saying

#

Actually, I did push my changes yesterday lol

#

Have to figure one more thing out, but then it's just PRing it

short snow
gritty wind
#

Anyone familiar with subprocess want to have a look at my branch? I can't quite figure out why it uses so much memory

fervent sage
#

from what i understand the memory issues are to do with it leaving dangling references that dont get garbage collected

green oriole
#
        # Convert to bytes
        mem_limit *= 1E6
```smhmhmhmhmh
placid ermine
#

wait what
when did chris review the PR and why didn't i see it

gritty wind
placid ermine
#

aaaa so sorry 🙏

fervent sage
#

damn thats a lot

gritty wind
#

I'm definitely doing something wrong, but I don't know what

gritty wind
#

is that conversion incorrect

green oriole
#

It isn’t correct but that should be okay

#

It is importing a bunch of useless stuff

#

Can you try to make the subprocess only import what it needs?

gritty wind
#

oh, yeah I can try that

vale ibex
#

maybe have a separate py file just for the renderer?

green oriole
#

Like asyncio is super heavy, d.py also is, same for hashlib..

#

I think it should be another file, yeah

gritty wind
#

that shouldn't be too bad

vale ibex
#

I'd also suggest setting a high nice value for that process

#

just to lower it's priority

#

I think parent processes can set the nice value of a subprocess

gritty wind
#

Ok, I still need to import discord.commands because the render function uses it

fallen patrol
gritty wind
#

yes

#

well, it calls the init of the package

green oriole
#

Hmmm why do you need it?

fervent sage
#

it's probably worth just raising your own error there and adding a case to the error handler

vale ibex
#

Do we need commands though, is it just using it to get to the badargument error?

fervent sage
#

since a bad argument error is the only thing requiring it

gritty wind
#

Good point

vale ibex
#

if so, just error return codes would be good enough

fallen patrol
fervent sage
#

you dont need to use typing import for it anymore

#

you can just use the actual types

gritty wind
#

In python 3.9 you no longer need to use typing. for annotations

#
def test(x: list[str]) -> dict[str, str]```
fallen patrol
#

i mean what was typing used for hehe I never have come across a use for this yet

green oriole
#

I am probably blind but I don’t see where you need BadArgument in the if __name__ == "__main__" block

gritty wind
#

it's also used directly if resource is not available

fallen patrol
gritty wind