#dev-contrib

1 messages ยท Page 26 of 1

fallen patrol
#

still.... I am wondering about a cli that makes like

#

all of the bot configurations

#

like

outer oasis
#

do it then

fallen patrol
#

botstrap makes pybot easier to set up than lance now

#

I have to set seven variables myself????? ๐Ÿคฎ /s

patent pivot
#

we should figure out the emotes thing

fallen patrol
#

app emojis

patent pivot
#

app emojis is true

fallen patrol
#

I'll let you know when I've figured this problem out myself

#

trying to solve it for Monty

#

ok bot#3417 is now ready for review

dusky shoreBOT
fallen patrol
#

crazy

patent pivot
# fallen patrol I'll let you know when I've figured this problem out myself

my thought a while ago (and this was probably pre-app emojis was):

  • A) we host a bot that people can add, it adds all the emotes from the emote servers and then leaves
  • B) we host a web app that has people OAuth2 in, paste a bot token, confirm they own the bot token (or are in the team that owns it), confirm they have perms in the target guild and then add the emotes using their app
#

i am unsure if either of those are good ideas, but they'd be fun

fallen patrol
#

they would be fun

#

mainly my idea is thinking what's the best way to support integrity checking without

  • crashing
  • making startups way too long
#

at least with bot we have botstrap and if we turn it into a cli we can add a sync app emojis command

patent pivot
#

yea

#

the main thing is fetching those emotes

fallen patrol
#

for monty I've been considering a sort of complicated thing using github and last_changed

#

you have the current hash in the bot environment, right?

thorny obsidian
#

Is there an example and filled out .env.server?

I don't know what format pydantic wants the webhooks envvars in and the contrib guidelines are vague about it

fallen patrol
#

kat is this for the internal test guild?

#
#Webhooks
webhooks_big_brother__id=1430330254509211691
webhooks_big_brother__channel=1430304585095970951
webhooks_dev_log__id=1430330295152017549
webhooks_dev_log__channel=1430304584198525126
webhooks_duck_pond__id=1430330306732359820
webhooks_duck_pond__channel=1430304584626077710
webhooks_incidents__id=1430330317696139305
webhooks_incidents__channel=1430304584382939261
webhooks_incidents_archive__id=1430330335199232052
webhooks_incidents_archive__channel=1430304584382939262
webhooks_python_news__id=1430330340710416496
webhooks_python_news__channel=1430304583996932110
thorny obsidian
#

I have my own test server, I jsut want to know the format

fallen patrol
#

use botstrap, it will create these webhooks for you and set that up

thorny obsidian
#

I'd rather not. I'm aware of botstrap.

fallen patrol
#

fair

#

if you have a reason you'd like to share, I'm curently working on both botstrap and the contrib guidelines about this very thing, so if you have more to add, I'd appreciate it

thorny obsidian
#

I have had my server forever. It's setup how I like it. I would rather stab a fork into my eye than have to migrate.

#

I just want to know the webhook config format that pydantic won't bitch about

outer oasis
#

Note to self: keep forks away from Kat

fallen patrol
#

I just sent it above

outer oasis
#

Yeah that should be right

thorny obsidian
#

Yeah, that's still not enough information for pydantic looking at the docker logs

outer oasis
fallen patrol
#

wild. That's generated with botstrap

patent pivot
#

what does pydantic want?

outer oasis
#

(what's it upset about?)

fallen patrol
#

Put it in .env if using docker

thorny obsidian
#

and it keeps going. I have the channels defined above and I figured pydantic would be able to pull from that

thorny obsidian
fallen patrol
#
    volumes:
      - .:/bot:ro

in theory this should mount .env

#

might say that, but I have a PR in the works that changes it to .env

#

I also have a 3 year old test guild

fallen patrol
thorny obsidian
fallen patrol
#

Okay, can you post what you have anyways?

thorny obsidian
#

It's only the values that change, so I don't see the need

fallen patrol
#

Then I don't know what to tell you. it works for me

thorny obsidian
#

I'm posting here to ask the core devs as well, not necessarily specifically you

fallen patrol
#

you do need to make sure that webhooks_big_brother__channel is also set

#

the double __ is important

thorny obsidian
#

So that part is what I did not know and what the contrib guide does not detail.

patent pivot
#

ahh yeah pydantic attributes

#

we should call that out with an admonition

#

it is not intuitive

thorny obsidian
#

Good lord I miss our old constants and config.yml setup compared to this

#

Can pydantic not reference to me setting it up earlier? Do I need to list the channel ids twice in 2 different places?

fallen patrol
#

I'll see if I can add it joe

outer oasis
stable mountainBOT
#

bot/constants.py line 19

env_nested_delimiter = "__",```
fallen patrol
#

ugh

patent pivot
#

if they're in the same env file you can reference later with $variable but the model I would guess does not automatically look elsewhere at the channel constants

#

i do think the fact we're using __ is kind of a sign that maybe we've gone a little down the wrong path with configuration

fallen patrol
#
class _Webhooks(EnvConfig, env_prefix="webhooks_"):

    big_brother: Webhook = Webhook(id=569133704568373283, channel=Channels.big_brother)

this code requires channel to also be provided

given we only seem to use channel to create it if it doesn't already exist, and that is already mapped to something.......

patent pivot
#

yea this is kind of what I think

#

and I think maybe that's the direction botstrap should go -- I think something like ```toml
[webhooks]
big_brother = { id = "1430330254509211691", channel = "1430304585095970951" }

is obviously cleaner than the `__` stuff
fallen patrol
#

fixed

#

we only need to set the ID now

#

want me to seperate this from the other PR?

patent pivot
#

nice one

#

nah if you're changing botstrap this is fine to go in -- just make sure it has a decent commit message

fallen patrol
#

all right

#

I also made an issue about cli but I didn't want to feature creep this one

patent pivot
#

noice

fallen patrol
#

its still a nested model for now because I don't want to break existing configuration

patent pivot
#

i think nested is fine -- i just think it needs to be something that's not an env file

#

which makes maintaining back compat down the line easier

fallen patrol
#

yeah

#

I won't add support atm but we can consider moving to toml files

#

Problem with that is if we want to support

  • autogen file
  • env file
  • user set toml file
#

which is a lot of configuration files lol

#

so botstrap can still be a first class configurable way to set the configuration

#

but then on that side, if we do switch to toml we can probably update that one configuration in place with tomlkit

#

and put autogen in the same file...

though it is nice to have "configuration file that my autogen will never touch" and seperation that way

fallen patrol
#

bot#3420

dusky shoreBOT
fallen patrol
#

what's the failed_file emoji look like?

#

Emojis.failed_file

patent pivot
fallen patrol
#

and is nomination_discussion also a thread?

fallen patrol
#

that should be enough for now to provide some coverage

#

it sure fixes this finally

patent pivot
fallen patrol
#

its missing in the template

#

are you able to add?

#

also, is the template of the test server or is it a different server which literally exists for the template?

patent pivot
#

yea can do one sec

#

should be sorted

#

i believe it's just the one of the internal test server -- which is what I just updated lol

#

so if it's not that

#

then yikes

fallen patrol
#

lol

#

discord moment

#

it apparently caches templates forever

patent pivot
#

it's in that template when i click at least

fallen patrol
#

ye i see it too

#

i had to reload my client though lmao

#

it literally caches it forever

fallen patrol
#

@patent pivot yay it worked!

patent pivot
#

hell yeah

#

that's very cool

fallen patrol
#

off by one ๐Ÿ˜ญ

#

...that was an easy fix

fallen patrol
#

okay so it may create roles in the wrong order

fallen patrol
#

Discord pls

fallen patrol
fallen patrol
#

!ot this channel is for contributing to @pydis projects, not for other projects. If you're wanting to share a project with others, I recommend an off topic channel

stable mountainBOT
harsh hill
#

im so soryy

#

i thought this was the off topic

#

thank you senpai

fallen patrol
#

I have just realised that with an emoji regex I can actually add app emojis to botcore

#

except why would i bother doing that when i can just.... upload the emojis to the guild

#

lol

fallen patrol
#

darn pep api

#

!pep 401

stable mountainBOT
fallen patrol
#

by using the peps.json api we lose the easter egg ๐Ÿ˜”

#

on the other hand, maybe its a feature that it doesn't show it in the embed

fallen patrol
#

Should display names be counted in the name filter, even if the user has a nickname set?

patent pivot
#

well

#

hmmmm

#

I will ask internally

patent pivot
fallen patrol
#

whups didnot mean display name, meant..... whatever that user field is again

#

...whichever field is the User Display Name, not to be confused with the server/guild Nickname or the Username

patent pivot
#

nice we don't have a short link just for contributing

fallen patrol
#

huh, you're right

#

maybe there's a reason why it doesn't...

stable mountainBOT
#

CONTRIBUTING.md?plain=1 lines 1 to 3

# Contributing Guidelines

The Contributing Guidelines for Python Discord projects can be found [on our website](https://pydis.com/contributing.md).```
fallen patrol
#

eh fair

patent pivot
#

yea I think we should probably link to both the guidelines and guidance from within those files

toxic wren
toxic wren
#

btw the slash commands issue is on hold for now(I'm very busy this week), I will provide updates later. Thanks!

fallen patrol
#

!remind 3h open issue / discuss about "Click here to delete recent paste" having a context button or link

stable mountainBOT
#
You're the boss!

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

fallen patrol
#

TLDR:

stable mountainBOT
fallen patrol
#

...how do renovate and dependabot rename a pull without causing an event to show up?

#

I've never seen that before

patent pivot
#

there are rename events in that log

#

rename events might only be shown to repo maintainers?

fallen patrol
#

My eyes are just tired ><

#
  • mobile contrast
patent pivot
#

hahaha

fallen patrol
#

I wish GitHub exposed discussions on the rest API ๐Ÿ˜”

#

And organization level discussions

#

meta#93 ๐Ÿ˜”

#

...tbh I think lancebot has a GitHub token? We could implement discussions using the graphql API

undone nimbus
patent pivot
#

the thread would still timeout after the regular wait period (1 hour from last post).

in the event a user leaves we put the message in the channel to make folks helping aware a user has left, but we purposefully don't close the channel in case people are still having a discussion / a wider conversation has started there.

undone nimbus
vale ibex
#

Yeah sorry, we don't write bugs around here

celest charm
#

404

green oriole
#

I believe a functionality was added to snekbox where you can write local files

#

Is it enabled by default in the docker image?

#

I'm tempted to use snekbox in a different project to evaluate Blockly scripts

tame pebble
tame pebble
green oriole
#

Hmm I'll have to look at how to inject a custom config then

fallen patrol
#

@patent pivot May I get the hacktoberfest-accepted label on sir-lancebot#1702, site#1567, bot#3413?

fallen patrol
#

Thanks!

#

I'll fix 3413 soon and mark it as ready but covid vaccine took my energy the past few days and now I'm behind on my classes

#

I really do want to add pyright to bot.... So much so that I'll probably add it to my local files at minimum lmao

#

Unfortunately, fixing typing issues can sometimes result in new bugs

celest charm
#

what do we actually get from adding type checking to CI?

patent pivot
#

if we do it i think we do it in a non-mandatory way

#

supporting github annotations is a nice feature that would highlight a decent few things especially if we are baselining it

#

especially if we generate that baseline based on the main branch, to very specifically only highlight new typing issues raised by a PR

celest charm
#

maybe we should use mypy instead and just diff the results or something like that?

patent pivot
#

basically seperate it out of the lint workflow into it's own thing that:

  • runs, generates a baseline on current main
  • checks out PR
  • runs again to highlight issues and add them as annotations
  • does not fail the PR if problems are reported
celest charm
patent pivot
#

main reason i was thinking basedpyright is it's probabyl closer to the pylance that a lot of folks already have in VS Code, I think most of our contributions probably come from people using that

#

but also basedpyrgiht supports github annotations natively

fallen patrol
#

I would use mypy I don't really care

patent pivot
celest charm
#

oh, mypy doesn't have this?

patent pivot
#

not natively afaik

fallen patrol
#

(genuinely it's just GITHUB_ACTIONS==true use a different output mechanism)

patent pivot
fallen patrol
#

Lmao

#

Oh no.... There's no contributing guide for sir-robin, is there

patent pivot
#

probably not

#

though it's probably somewhat similar to lance i'd imagine

celest charm
#

pyright/basedpyright will add on the order of a minute to the CI time

#

assuming it's only ran once and not also on main

#

actually no, it's significantly faster ๐Ÿค” I must be thinking of a different project

#

yeah, it's about 10s on my computer

fallen patrol
#

I genuinely want to unify all of the configurations (backwards compatible) and then make botstrap able to generate all of the configs lol

patent pivot
thorny obsidian
#

Sir Robin operates a bit differently and looser compared to other bots because it supports a fairly specific and time-dependent need

patent pivot
fallen patrol
#

Real

thorny obsidian
#

Also I am aware of the Advent of Code changes. We're handling the adjustments to that internally and when we get a bit closer.

fallen patrol
#

I made an issue so it would be publicly tracked, as I wasn't sure it was known. I saw a lot of advent of code issues from 2024 or before that I also want to see about tackling if you'd like help

thorny obsidian
#

There are other things associated with Advent of Code that extend beyond just the bot, so it's being tracked and handled elsewhere until we get closer and have a confirmed plan on how we want to approach it.

fallen patrol
#

Even issues like sir-robin#107?

thorny obsidian
#

? I'm not sure what you're asking. I'm just letting you know that we are aware, have been aware, but are tracking the aoc change separately because there are other parts of advent of code that are not associated with Sir Robin that we also need to deal with.

fallen patrol
thorny obsidian
celest charm
#

Idea @patent pivot: if we do adopt basedpyright in a non-intrusive way, we could adopt some of the rules in an intrusive way because violating them is Just Wrong

  • error on reportGeneralTypeIssues which would catch nonsense annotations like:
def incorrectly_annotated(banana: 69 = 420) -> any:
    ...
  • error on deprecated typing aliases like typing.Callable. Because ruff's UP006 rule is buggy and does not catch all of them.
  • error on reportMissingTypeArgument to require all generics to have type parameters, like list[Whatever] or list[Any] instead of just list, and discord.Context[OurBot] instead of discord.Context
  • reportUnboundVariable and reportPossiblyUnboundVariable: yes, this thing
stable mountainBOT
#

bot/exts/help_channels/_channel.py lines 194 to 199

try:
    # Fetch the post again, to ensure we have the latest info
    post = await get_or_fetch_channel(bot.instance, post_id)
except discord.HTTPException:
    log.trace(f"Not closing missing post #{post} ({post.id}).")
    return```
fallen patrol
#

But ye I'll go comment now

thorny obsidian
#

Like I said above, Sir Robin operates differently than our other bots because of it's highly specific usage and close ties to the Events Team. Pretty much all issues created are good for people to claim, comment with their approach, and things move forward from there.

If there's an issue that I think is a no-go, I'll be pro-active about it.

fallen patrol
#

Sounds good

fallen patrol
#

Or bot before lance

celest charm
#

power move: abandon basedpyright, launch proprietary VSCode with Pylance in it in CI

#

If the screenshot is more than x% red color, fail the pipeline

fallen patrol
celest charm
#

enqueue red alert theme

fallen patrol
#

And I think that latter detail is significant

patent pivot
#

ehh

fallen patrol
#

Eg if we have a channels object that contains all of the channels of pydis, there's nothing stopping lancebot from using more than the few variables it uses now and leaving contributing out of sync again

#

Even if there's just a diagnosis tool that can be used to see every config variable in use by lance/robin/pybot

patent pivot
#

the actual config needs to remain in the bots obviously, the parsing can be farmed out to the TOML and env modes of pydantic settings, the thing that we can try generalise is seeding a discord environment based on that config

#

I suspect we might be able to do some smart subclassing of pydantic field types to do that

#

something that appears transparently as an integer when fetched as config but can be read as a channel or role or something by botstrap

#

and then we just have dev_required=True on those things and botstrap only creaets those it needs

#

or even some sort of typing.Annotated thing

fallen patrol
patent pivot
#

we aren't going to do that because then updating config means updating a dependency on the bots

fallen patrol
#

Ahhhh

#

Which may be undesired true true

patent pivot
#

it is already a pain sometimes when we make a change to core we want on all bots related to a constant or osomething and have to then go and bump everything

fallen patrol
#

I mean you could override it with a subclass but that becomes annoying too

patent pivot
#

then there's no real point in putting it in core

fallen patrol
#

I was just thinking for channels & roles, not for everything

#

Cause then you can move a lot of the redirect output helpers and stuff to pydis core

patent pivot
#

yea -- it's not a bad idea but my thoughts are just that we have enough bespoke stuff that we're going to end up with a situation where our config is even more fragmented than it currently is

#

having config pulled from two places, one of which is a dependency, is worse than just having a local version that's got duplicated values

fallen patrol
#

That's fair

fallen patrol
patent pivot
#

there are things that we have copied between but generally we've been quite good at moving stuff to pydis_core now

fallen patrol
#

Don't we use it on bot and lance?

patent pivot
#

no

#

not that I can see

fallen patrol
#

Right I'm confusing identical commands having different checks

#

There was a check I thought on more than one, hmm

fallen patrol
#

Ah well.

Theorized procedure:

  • update botstrap on bot with existing PR
  • draft updated constants to have dev_required fields and whatnot. Use init subclass and subclass from a custom base model and field class defined in bot_core which use a global registry to save all fields created: this allows botcore to create a configuration file from the constants defined in the consumer of botcore
#

Eg init_subclass checks all fields in the subclass to get the fields with dev_required=True so it can set those variables

#

We can probably move botstrap to pydis core and add a cli entrypoint

patent pivot
#

priority before that is probably adding some sort of toml support again to stop the env nesting madness

fallen patrol
#

yeah

#

bot#3417 cleans up the botstrap code but I won't be making other changes to botstrap until its merged

dusky shoreBOT
fallen patrol
#

since rewriting to use toml requires updating each line that writes to config_str

fallen patrol
#

<hi@pydis.com>

#

Email and phone number markdown uses mailto: and tel: URI schemes respectively that can optionally be prefixed (e.g. mailto:nelly@discord.com). Email markdown supports headers, values must be URL Encoded (e.g. <nelly@discord.com?subject=Message%20Title&body=Message%20Content>).

#

๐ŸŽ‰

fallen patrol
#

dear god

fallen patrol
#

(I appreciate it was f-strings before which is not correct, but if you're adding some f-strings and some %s strings we may as well unify).
@floral lion what does this mean? You'd rather have %s or f in logging?

patent pivot
#

the proposed changes appears to have a mix

#

on main it's currently just f-strings

fallen patrol
patent pivot
#

potentially -- for now i'm more bothered about mixing multiple styles within one file

fallen patrol
#

Aight will make them all %

patent pivot
#

I am also not sure if you've addressed all the review feedback I've left yet so just ping me once you have done -- but the webhook one needs addressing as well as the general over complexity of that with statement (needs breaking into functions)

#

& there are still a couple of audit log reasons which are unnecessarily verbose (e.g. including the name on emoji create is not very useful, it's always going to appear alongside the emoji name)

fallen patrol
stable mountainBOT
#

botstrap.py line 171

log.info(f"Server {self.guild_id} has been successfully updated to a community.")```
patent pivot
fallen patrol
#

@patent pivot that's change fr

#

big ol' "just change everything"

#

rather than functions just went with this cause it makes bot#3420 easier to manage in the long term

dusky shoreBOT
fallen patrol
#

I will probably modify it again tbh

#

cause that's still noisy

fallen patrol
vale ibex
#

All good, I like rage baiting Joe too

safe oyster
#

hi, there

#

I am looking for a developer who can implement to login with FB, apple account

fallen patrol
#

Just fixed it

#

-# in a parallel universe

fallen patrol
#

holdon

#

all of this testing I've done and that code is useless?

#

in a new environment and wow

#

get this with no config

#

these lines aren't even used

#

because pydantic parses the configuration immediately when bot.constants is imported

patent pivot
#

lol

#

that hacktoberfest "no maintainer" filtering doesn't seem to work very well

patent pivot
fallen patrol
#

welp guess I'm going the long route and filtering the pydantic validation exception

#

otherwise i need to move load_dotenv above the import from bot

fallen patrol
#

And I'm planning ahead for toml: if I have to change something related to dotenv handling then I'm making it not care about the loading method

#

....now I remember that when I was making user-facing code using pydantic I went with attrs and marshmallow

#

Data validation with useful errors for the end user is tedious

#

@patent pivot I think implementing this to solve #dev-contrib message is probably large enough scope to be a second pull, as it will affect constants.py so I'm just gonna leave a comment documenting why we depend on load dotenv and so on so on

patent pivot
#

that is why there is a webhook change in your PR right?

fallen patrol
fallen patrol
#

it also errors now if the guild id is set to this server lol

lucid orbit
#

If I want to fix a single regex pattern, should I open an issue for it or can I just immediately make a PR?

patent pivot
#

uhhh if it's a bug just open a PR

fallen patrol
#

oh good god i broke discord again

#

just accidently bypassed the 10 webhooks per channel limit

patent pivot
#

spoo||est

#

๐Ÿคฃ

fallen patrol
#

spoollest

patent pivot
#

spoo|y

patent pivot
fallen patrol
lucid orbit
#

spoo||aaaaa

lucid orbit
patent pivot
#

named and shamed

fallen patrol
#

hmmm does it only happen once per halloween themed spooky message?

#

-# hype

patent pivot
#

lmfao great relevant issues matiiss

lucid orbit
#

thank you thank you

patent pivot
#

i think it's a funny bug but the chances of it being discovered as an easter egg are low and we should make more fun easter eggs

fallen patrol
#

doot! batwomen are a spooky danger to skeleton. Have you made a jack-o-lantern out of a pumpkin this halloween?

patent pivot
#

easter eggs that only work during october are THUMBS DOWN!

fallen patrol
#

we should also add plural to some of them

#

and maybe use emoji to set these

#

cause this is unreadable \U0001F3F3\uFE0F\u200D\U0001F308

#

when we already depend on emoji

#

!pypi emoji

stable mountainBOT
patent pivot
#

forgor we don't have ff-bot on lancebot sad_cat

fallen patrol
#

ff?

#

oh also i updated the botstrap pr again

lucid orbit
fallen patrol
#

it lets me open ones without the template ๐Ÿคก

patent pivot
#

i was thinking this about the botstrap PR also tbf

#

i kind of hate unicode in source code

fallen patrol
#

I don't use any unicode do I?

#

ah right cause I refactored that out

lucid orbit
#

I'll make sure to reference that same screenshot and discussion for all my future regex PRs kekw

patent pivot
#

!e ```py
print("\N{JACK-O-LANTERN}")

stable mountainBOT
fallen patrol
#

huh

#

!e print('\U0001F3F3\uFE0F\u200D\U0001F308')

stable mountainBOT
fallen patrol
#

or just

#

:rainbow_flag:

patent pivot
#

!e ```py
print("\N{WAVING WHITE FLAG}\N{VARIATION SELECTOR-16}\N{ZERO WIDTH JOINER}\N{RAINBOW}")

stable mountainBOT
patent pivot
#

๐Ÿคฃ

patent pivot
fallen patrol
#

yeah its a bit.... long

patent pivot
#

devops repos have it

fallen patrol
lucid orbit
patent pivot
#

can do /merge and it'll do a fast-forward merge so your commit signing gets retained

fallen patrol
#

ah nice

celest charm
#

!e

print("\N{BANANA}\N{DUCK}")
stable mountainBOT
fallen patrol
#

oh yeah that reminds me that python 3.14 and 3.15 don't have commit signing on their releases

patent pivot
fallen patrol
#

agreed

celest charm
#

non-ASCII unicode symbols*

fallen patrol
#

we should be unifiying all of them anyhow

#

like in constants or config

fallen patrol
#

no you don't

#

not another rickroll

#

this is perfectly fine code

#

ignore the red, I do use it

celest charm
#

what does the str do?

patent pivot
fallen patrol
#

yeah I never said i finished them just that I updated it :^)

patent pivot
#

lol

fallen patrol
#

also do you prefer the reviewer or the pr author to mark conversations as resolved when they've made the changes

patent pivot
#

ehh I don't mind really -- if it's been addressed exactly as suggseted then mark reviewed

lucid orbit
#

btw, I wanted to create an issue on the repo, but ig I might as well ask here first, is lancebot not supposed to include embeds in bookmarks?

#

or I guess specifically images

celest charm
patent pivot
#

lmfao

#

this botstrap is so dense

celest charm
#

You say something like "ord returns the ASCII value of the provided 1-length string" and you will hear the high-pitched buzzing sound even though I am 2000 km away

patent pivot
#

!duck 1432906604432326756

#

!duckify 1432906604432326756

#

thanks man

#

that one made me laugh

#

slowly but surely i will turn duck-pond into sean-in-devoops

celest charm
#

Nice try. However, this is a continuation message that requires the crucial context that I identify as a mosquito.

patent pivot
#

some greats in this channel

fallen patrol
fallen patrol
patent pivot
fallen patrol
#

what about dense

patent pivot
#

but i've been writing fastapi apps for the last few months so maybe have got used to tiny methods

fallen patrol
#

ah complex

patent pivot
#

just things like get_channels etc have a lot going on

#

also i will forever leave a review comment where comments don't have a capital letter

#

comments should always be fully formed sentences

celest charm
#

if only we could get computer to point out formatting mistakes

fallen patrol
#

i Really Do

celest charm
#

stupid question: why are we depending on httpx and aiohttp

fallen patrol
#

my guess is sync cocde

patent pivot
#

hmmm

fallen patrol
#

aiohttp is used by the discord api wrapper y'all use

patent pivot
#

yeah it's literally just botstrap

#

that uses httpx

fallen patrol
#

yeah

patent pivot
#

we should Do Something About That someday

fallen patrol
#

no i'm not refactoring it to use aiohttp this pr

patent pivot
#

yea i'll do it someday

fallen patrol
#

httpx is awesome and I actually use it in my bot now lol

#

!pypi githubkit

stable mountainBOT
fallen patrol
#

genuinely a great piece of software

patent pivot
#

yeah it's nice

fallen patrol
#

but I pass a custom transport in order to use aiohttp over httpcore

#

so I have httpx as my caller and then I just use my aiohttp session I use for other things too

#

its so useful

#

can't believe the httpx dev wants to split it into sync and async projects

celest charm
#

people in 1995: we gotta prefer composition over inheritance you know...
botstrap: we inherit from httpx.Client hyperlemon

fallen patrol
#

honestly....

#

sigh

celest charm
#

sorry, I'm just adding unnecessary comments

fallen patrol
#

joe i'm not rebasing and changing my history any more at this point

patent pivot
fallen patrol
#

yeah fair

#

if you look at botstrap its actually somewhat close to toml support but not in this pull (because toml support requires lockstep with contributing guide which needs a pre-update before toml support)

#

dict !!

#

means its already ready for tomli_w.dump(s)

#

though possibly tomlkit for comments and supporting user provided config and preservation of format

fallen patrol
#

@celest charm @patent pivot can i yeet the special handling of forum channels? I haven't managed to make a server without forum channels enabled

celest charm
#

I think so, yes

patent pivot
#

sounds reasonable

celest charm
#

now it rolled out everywhere

fallen patrol
#

that cleans up a lot of the other special handling code

patent pivot
#

i suppose if you add that upgrade script in the future it might be worth handling the case where the expected channel types are different

#

however

#

i think that's a fair case where deleting the channel/telling the user to delete the channel and re-run works

fallen patrol
#

upgrade script in the future will be entirely reconfirmation on everything

#

but upgrade script is after additional CLI refactor -> migration to pydis_core

patent pivot
#

yea

fallen patrol
#

also will probably want to use click for pydis_core

#

given we only need the cli in dev it can be an extra

patent pivot
#

yea i think we need to probably sit down and specify how that all works a long time before any PRs start

#

specifically what ends up living where at the end of things

fallen patrol
lyric temple
fallen patrol
#

spoo||y

#

hmmmpf

fallen patrol
#

thx joe

outer oasis
fallen patrol
#

yea

#

I mean I did a lil more than that

toxic wren
fallen patrol
#

Hacktoberfest!

toxic wren
#

?

#

I thought pythondiscord discontinued this

fallen patrol
#

I asked Joe if I could have the tag lol

#

I just wanted the shirt (it's a very comfy shirt)

patent pivot
#

we didn't explicitly tag issues with hacktoberfest

#

but merged and approved PRs count to hacktoberfest

toxic wren
#

lol I have 3 PRs for pythondiscord

#

lemme see if I do another one for the / commands issue.

#

in like a few days

patent pivot
toxic wren
#

imma try anyway

toxic wren
#

I prbably have PR's in other OSS projects

#

I have another PR in Kimi K2

#

so total of 4

patent pivot
toxic wren
#

Oh the PR's should be between oct 1 to 31

#

the old PRS are in september

#

oh lol

#

@patent pivot Isn't the change as simple as

- @commands.group(name="docs", aliases=("doc", "d"), invoke_without_command=True)
+ @commands.hybrid_group(name="docs", aliases=("doc", "d"), invoke_without_command=True)
#

seems to not work. Is there something else that's causing it not to work?

patent pivot
#

we are adding slash commands to make the experience better, not to have it be the same

#

i am unsure why it may or may not be working -- do you have an error?

toxic wren
patent pivot
#

hmm

#

that seems more likely a problem with syncing slash commands then

#

i can't remember how/if we do that reliably in dev

patent pivot
stable mountainBOT
#

pydis_core/_bot.py lines 174 to 178

async def _sync_app_commands(self) -> None:
    """Sync global & guild specific application commands after extensions are loaded."""
    await self._extension_loading_task
    await self.tree.sync()
    await self.tree.sync(guild=discord.Object(self.guild_id))```
patent pivot
#

make sure you are restarting your discord client between running the bot and once it finishes syncing because this is probably a local issue

fallen patrol
#

in other words you just need to open + get label in next day and a half

toxic wren
#

btw I have 4 PR's open in a few hours somehow

#

I can open like 4 more tmr

#

and make a maintainer give me the tag

toxic wren
#

maybe I could make a [WIP] Docs slash command PR?
@patent pivot would you add the tag?

patent pivot
#

I mean don't open it if it's not ready and is just going to be commit spam getting it to a point where it's ready

toxic wren
patent pivot
#

uhh, maybe? if you've got nothing that works and that's not guaranteed to be the way to implement it I'm unsure, we might end up not being able to use hybrid commands here etc

#

for example !d is a group but we don't want it to be for the purposes of slash commands probably

toxic wren
patent pivot
#

sure -- but don't open it for the sake of opening it, because your change above is not correct

fallen patrol
#

smh

#

-# and then a few more
-# and then another refactor the next time I looked at it

#

I mean tbf I thought it was done until I reviewed my own code after joe's comments

toxic wren
#

@patent pivot bot#3428 Can you add the tag?

dusky shoreBOT
patent pivot
#

I'd rather see some sort of actual attempt at the solution? As mentioned above, we cannot use hybrid_group here and at the very least it'd be good to see something functional.

#

We stopped participating heavily in Hacktoberfest because of the number of PRs like this at a volume that was unmanageable.

#

I will have a think about it but I'd rather you take a lower hanging issue with a quicker solution and actually PR a fix than PRing a line that's not the solution to the issue at all.

As I said above, don't open this for the sake of opening it. This PR isn't even passing the tests.

#

& if it's a WIP then open it as a draft

#

at the very least before adding the label I'd be looking for something functional and that actually passes tests, not a one line change that's invalid

toxic wren
fallen patrol
#

@toxic wren how good are you with regex?

#

bot#3415 is an easy-ish regex one that just needs to remove (?:C\d+)? from the provided urls, see the issue content

dusky shoreBOT
fallen patrol
#

bot#3425 likely requires internal deliberation around how to allow attachments more than 6.

wind ruin
#

testing in another server, it seems like a single message with 10 attachments can take the entire window at once?
not sure if we want to allow that tbh

toxic wren
dusky shoreBOT
fervent sage
wind ruin
#

weird, might be bugged or something? (just sent a bunch of images from discord + a random game I had saved - that is all one message)

patent pivot
fervent sage
#

lmfao

#

the wall of joe

patent pivot
#

hmmm

#

that is noisy

#

how does it handle uhhh

fervent sage
#

how big is just one of them? presumably the difference between the 3x3 grid and one isn't as big as the 3x3+1 above

stable mountainBOT
# patent pivot

Please react with โœ… to upload your file(s) to our paste bin, which is more accessible for some users.

patent pivot
#

sweet

patent pivot
#

the 3x3+1 is over double just one image

fallen patrol
#

either way there's no flaw in 10 in one IMO. At the very least, it probably shouldn't time a user out for 10 attachments the first go, but maybe the second?

#

like the @here filter

patent pivot
#

yeah we probably shouldn't time out

#

but i don't know that allowing all 10 attachments (image or text) is a good idea

fallen patrol
#

hm

patent pivot
#

so

#

the uv lock enforcement changes

#

(for good reason) now cause all dependabot PRs to fail lol

#

interesting

#

i take that back

#

apparently enabling beta ecosystems uses a version of dependabot uv support that does not support lockfiles

#

cc @vale ibex you may find that noteworthy for other dependabot repos we have using uv

vale ibex
#

Ah nice

#

at some point you had to enable it for uv support at all

#

and now it breaks with it, great stuff

patent pivot
#

excellent features from github as per usual

toxic wren
#

4

#

another got merged and maintainer forgot to add tag or did not read the msg

patent pivot
#

that's fine

#

they count if they get merged

#

iirc

#

oh wait no yeah it does need the label

#

interesting

#

seems a bit unclear from this

#

time for bot on 3.14

fallen patrol
fallen patrol
patent pivot
fallen patrol
#

Hold off for Patience?

patent pivot
#

i haven't seen any major bugs reported in 3.14.0 that seem to be affecting us (going off the local build)

#

yea but i want to do a wider bump of dependencies and uv version etc. which doesn't really need 3.14.1 to come along, and when it does it should be a one or two line change

#

we automatically adopt patch versions anyway

#

we pin to minor

fallen patrol
patent pivot
#

so 3.14.1 will just happen when it is released

patent pivot
fallen patrol
#

Pip bumps project.dependencies

uv ecosystem bumps uv.lock versions

#

Ah

#

Because beta was never bumped lmao nice

patent pivot
#

yea

#

uv beta env never touched uv.lock

#

it wasn't supported originally

fallen patrol
#

Times I've broken CI: 4

#

-# Can I increase this number

patent pivot
#

btw @fallen patrol

#
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/joe/Projects/python-discord/bot/botstrap.py", line 476, in <module>
    changes_made = botstrap.run()
  File "/Users/joe/Projects/python-discord/bot/botstrap.py", line 469, in run
    changes |= self.write_config_env(config)
               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/Users/joe/Projects/python-discord/bot/botstrap.py", line 425, in write_config_env
    with self.env_file.open("r+") as file:
         ~~~~~~~~~~~~~~~~~~^^^^^^
  File "/Users/joe/.local/share/uv/python/cpython-3.13.7-macos-aarch64-none/lib/python3.13/pathlib/_local.py", line 537, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '.env.server'
#

testing your PR

#

obv creating .env.server as an empty file fixes it, but doesn't check for existence right now

fallen patrol
#

Whatttt it worked for me lol

#

Will fix ๐Ÿ˜”

#

I'd even deleted it lol

patent pivot
#

maybe a macos thing lol

fallen patrol
#

cheeese

#

hm

#

i should really update raise_for_status

patent pivot
fallen patrol
#

remove this

#

just remove it. It uses project.requires-python if this isn't defined

#

or make the pr and let me comment that for the coauthorship credit ๐Ÿ˜„

patent pivot
#

hahaha it's removed in my local version

fallen patrol
#

then I'm saving the other comment for when the PR is made ducky_devil

#

have to figure out not caching in a property.... hm

patent pivot
#

why not just use a method?

fallen patrol
#

yeah it was easier than i thought

#

but functools.cache would add complexity because I need to manually update the cache

patent pivot
#

hmm

#

not necessarily

#

oh i guess if you want to not refetch next time

#

but you can just .cache_clear() or whatever

#

interestingly i found a genuine problem between 3.13 and 3.14

#

cool

fallen patrol
#

Fixed

fallen patrol
#

Lol

patent pivot
#

what lol

#

which thing did you find

patent pivot
#

cool so pytest-xdist now hates our mocks

celest charm
#

Side question: when is a truly unbounded cache a good idea?

#

as in: @lru_cache(maxsize=None) instead of e.g. @lru_cache(maxsize=1_000_000)

patent pivot
#

0.15.0 breaks with the DumpErrors

timid sentinel
#

Good to see the markdown tests doing their job, markdownify loves their breaking changes lol

patent pivot
#

๐Ÿคฃ yeah what a great change

#

such a simple thing to add backcompat for as well

fallen patrol
fallen patrol
patent pivot
#

yea i figured that after you said it -- when you do the patching etc. and refresh the object

fallen patrol
#

patching to app info returns the updated app info payload which should replace the cached object
and creating channels in botstrap upgrade could be added to the cached channels but I've opted to not do that on account of depending on the order of cached channels

#

why do you pin every dependency in pyproject.toml and not use the lock file as.... a lock file? @patent pivot

patent pivot
#

dependabot do that for me yeah

#

but basically because we almost never want to automatically adopt any new versions, even patch versions, and so it's easier to have dependabot handle the upgrades and then look for stuff with uv tree --outdated --depth 1 every now and then (like now) for wider upgrades

celest charm
toxic wren
patent pivot
#

oh well that's fine then

patent pivot
#

if it's in a hacktoberfest labelled repo and merged then it's accepted

toxic wren
#

so I have to wait a week for an email for the t-shirt?

#

so they finish reviewing

patent pivot
#

something like that yea

#

assuming they haven't gone over 10,000 people that have claimed a shirt

toxic wren
#

I heard in the official dicord that they "don't check the PR's", they just wait for a week and if the repo is not disqualified then it is accepted

toxic wren
#

whew that was a lot of work for 2 days

#

atleast I can enjoy Halloween

toxic wren
fallen patrol
patent pivot
#

yeah it's the only reason we pin versions like that lol

fallen patrol
#

maybe I should do that

patent pivot
#

yeah i claimed mine

#

thanks to snekbox for accepting my contributions ๐Ÿ‘

fallen patrol
#

i-

#

lmao

celest charm
#

joebama awards joebama

#

.jpeg

#

thank you lancebot

fallen patrol
patent pivot
#

yeah true

celest charm
#

we need to photoshop your face onto this

patent pivot
toxic wren
fallen patrol
#

yeah hacktoberfest is interesting lol

#

the tshirt is all i care about really

celest charm
#

I thought it's opt-in for repositories now?

fallen patrol
#

but also i probably owed something to pydis now

celest charm
#

Or did they revert that?

fallen patrol
#

its opt-in

toxic wren
fallen patrol
toxic wren
fallen patrol
toxic wren
#

When does hacktober end in EDT

#

like very barebones

patent pivot
#

yeah but there are steps to take before we start running users images through OCR

toxic wren
#

a simple python OCR lib that checks for keywords in the image and if it matches a banned word it will alert Mods

patent pivot
#

it subverts user expectations and for the most part I doubt it'd return a very good / consistent result

patent pivot
# toxic wren like?

well, spammers almost always hit the same channels, same named images and even the same links, we need to become better at detecting it without looking at the image contents

toxic wren
patent pivot
#

all looking at image contents does is add a silly amount of processing onto every image sent

#

it's not an inexpensive operation to run at scale

patent pivot
#

5,200 images sent this month, 51,000 sent this year, which is fairly expensive to run on

patent pivot
#

well

#

kind of

#

#pyweek-game-jam gets hit a lot but our filters are picking that up (hence why you are seeing the bot messages)

toxic wren
#

kinda sad

#

maybe you should just delete the channel and make a new one so ID gets reset and all the spam just does not work, though the spammer probably has logs

patent pivot
#

meh i mean during actual pyweek it is fine

#

it's just because the channel sees very little activity outside of pyweek

#

i was thinking about reducing the time before the bot messages get auto-deleted

patent pivot
#

i've not put it in mod-tools yet so hasn't been discussed

toxic wren
#

probably a 1 line change

patent pivot
#

yea i wrote the feature

toxic wren
patent pivot
#

nah team effort

#

we crossed 10k commits recently on bot

#

that's cool

#

10,000th commit

patent pivot
#

crazy

#

7 years

toxic wren
#

I joined github like a few months ago

#

I was still a kid then

patent pivot
#

i joined july 2016 seemingly

fallen patrol
toxic wren
fallen patrol
#

...and i bugged it

timid sentinel
#

damn, I joined GitHub when I was 11

#

I'm impressed that I didn't somehow forget my account/lose my login at some point

toxic wren
#

like year

#

Im totally not gonna predict your age

patent pivot
#

1992

#

i always remember wookie's birthday because he was born 10 days after the fall of the soviet union

royal prawn
toxic wren
# patent pivot 1992

if he was born in 1992 and he made his github when he was 11 he made his acc 2003 but github started in 2008

timid sentinel
patent pivot
#

lmfao

fervent sage
toxic wren
#

Someone just sold be on uv and I love it

patent pivot
#

10 days later

#

1992

celest charm
#

oh right

#

datetime hard

patent pivot
#

lmfao

toxic wren
#

huh

#

December 23

royal prawn
#

uh whoops
meant to forward that one

#

accidental staff channel leak Leek firHide

toxic wren
#

good thing you forwarded it instead of linking it

royal prawn
#

yeah if there's no channel name and timestamp beneath the text it's from a channel you can't access

timid sentinel
#

:P

toxic wren
#

6k have the badge

#

do 4k left

#

I think I can make it

fallen patrol
toxic wren
#

bot#3431 is a random issue, @patent pivot

#

bot#3431

dusky shoreBOT
fallen patrol
#

they'll deal with it

patent pivot
fallen patrol
#

Every time I'm bored I do the boring thing of finding an invite bypass on Python

#

Think I found another one

#

Well that was easy

toxic wren
#

oh i get it now

fallen patrol
#

Why not use a select menu for roles rather than buttons?

#

It do be big and fat on mobile and yeah

#

I would show a select menu example but I can't since I deleted that code in favour of

#

I...... Don't think we need to do this for commands which don't have any arguments?

#

It's subscribe. There's nothing special about it

#

Makes sense for eval but if the ctx.args is falsey then uploading is useless IMO

patent pivot
#

which is why nothing got changed

patent pivot
#

pastes delete after 30 days, so not fussed really

#

@toxic wren make sure you're not trying to claim a load of issues without actually working the ones you're currently assigned to (e.g. the /docs command)

toxic wren
dusky shoreBOT
fallen patrol
patent pivot
#

yea bot restart probably

patent pivot
toxic wren
# dusky shore

bot#3422 and bot#3425 are pretty simple, considering bot#3425 gets approved

patent pivot
#

I'm changing the scope of 3425 though

toxic wren
fallen patrol
patent pivot
toxic wren
fallen patrol
#

Though to be clear I speak as myself and my views don't reflect pydis or joe... etcetera

patent pivot
fallen patrol
#

Hhhhhuh?

toxic wren
#

@fallen patrol to clarify in bot#3422 you want to change the message that the bot sends to DM's to include where I uploaded the file?

stable mountainBOT
#

bot/exts/utils/attachment_pastebin_uploader.py line 131

await message.author.send(content=f"[Click here](<{paste_response.removal}>) to delete your recent paste.")```
toxic wren
#

can I get where the user uploaded the file?

#

like the channel

patent pivot
#

yes, using jump_url

#

that gives you the message link

#

like [#dev-contrib message](/guild/267624335836053506/channel/635950537262759947/)

#

"[Click here](<{paste_response.removal}>) to delete the pasted code from [your message](<{message.jump_url}>)."

toxic wren
#

why does my local bot say:
Hey @toxic wren!
It looks like you tried to attach a Python file - please use a code-pasting service such as https://paste.pythondiscord.com/

while @stable mountain says:

#

is it because this bot has access to pydis pastebin backend?

stable mountainBOT
#

bot/exts/filtering/_filter_lists/extension.py lines 18 to 21

PY_EMBED_DESCRIPTION = (
    "It looks like you tried to attach a Python file - "
    f"please use a code-pasting service such as {PASTE_URL}"
)```
patent pivot
#

i don't know why that'd necessarily trip differently based on local dev vs prod

toxic wren
patent pivot
#

interesting

#

ahh

#

!filter list extension

stable mountainBOT
patent pivot
#

@toxic wren add py to your allowed files

#

i forget extensions is a dynamic filter

fallen patrol
#

Ahhhhh okay

fallen patrol
toxic wren
#

btw bot#3432 ready for review

patent pivot
#

for what purpose

patent pivot
toxic wren
#

spoke too soon ๐Ÿ˜…

fallen patrol
patent pivot
#

yea

#

it does feel we rely on this behaviour a bit

#

so should probably just have it as a filter list seeded default

#

just needs a new migration probably

#

if we want it to always be there then we add a new migration to add if not exists

turbid pilot
#

Hello guys

#

Is anyone online now ?

toxic wren
turbid pilot
toxic wren
turbid pilot
#

And I am looking to make new friends

fallen patrol
#

hm

toxic wren
#

!off-topic

stable mountainBOT
turbid pilot
patent pivot
#

@toxic wren the way you've solved that leaves a newline in the message sent to users

#

and still fails lint

toxic wren
patent pivot
#

you can run all the CI tests locally before you commit using uv run task lint btw

toxic wren
#

bot#3432 ready for review

patent pivot
#

!e ```py
something = "hello!"

print(
f"line 1: {something} "
"line 2: {something} "
)

stable mountainBOT
patent pivot
#

that's what you've done

#

you have to have an f-string on every line where you're using interpolated values

#

!e ```py
something = "hello!"

print(
f"line 1: {something} "
f"line 2: {something} "
)

stable mountainBOT
toxic wren
#

fixed

toxic wren
#

bot#3432 ready for review

fallen patrol
#

looked to review bot#3434 since it didn't seem to fit existing styles and now.... I have thoughts about python.... https://github.com/python-discord/bot/blob/8fdc3708b28667ce40240dc7221eb1d2194ac6d4/bot/bot.py#L65-L70

Returning within a context manager that suppresses the exception meaning this statement of ```py
with suppress(Exception):
maybe_raise(Exception)
return

will sometimes return there and sometimes will continue past and I just.... python what is this

that above statement is functionally equivalent to the following:
```py
try:
  maybe_raise(Exception)
except Exception:
  pass
else:
  return
dusky shoreBOT
celest charm
#

Yep, context managers can swallow exceptions

patent pivot
#

we use except discord.Forbidden: or except Forbidden: in 6 places on bot and 3 of them are what this is, just a logging statement and nothing else

#
โฏ rg 'except (discord\.)?Forbidden' --after-context=3
bot/decorators.py
185:                except discord.Forbidden:
186-                    log.info(
187-                        "Failed to DM %s with redirected command paste removal link, user has bot DMs disabled",
188-                        ctx.author.name

bot/exts/moderation/defcon.py
124:                except Forbidden:
125-                    log.debug(f"Cannot send DEFCON rejection DM to {member}: DMs disabled")
126-                except Exception:
127-                    # Broadly catch exceptions because DM isn't critical, but it's imperative to kick them.

bot/exts/backend/error_handler.py
136:                except Forbidden:
137-                    await self.handle_unexpected_error(ctx, e.original)
138-            else:
139-                await self.handle_unexpected_error(ctx, e.original)

bot/exts/moderation/infraction/_scheduler.py
125:        except discord.Forbidden:
126-            log.info(f"Bot lacks permissions to delete message {message_id} in channel {channel_id}.")
127-        except discord.HTTPException as e:
128-            if e.code == ARCHIVED_THREAD_ERROR:
--
519:        except discord.Forbidden:
520-            log.warning(f"Failed to deactivate infraction #{id_} ({type_}): bot lacks permissions.")
521-            log_text["Failure"] = "The bot lacks permissions to do this (role hierarchy?)"
522-            log_content = mod_role.mention

bot/exts/filtering/_settings_types/actions/infraction_and_notification.py
183:            except Forbidden:
184-                ctx.action_descriptions.append("failed to notify")
185-
186-    async def action(self, ctx: FilterContext) -> None:
fallen patrol
#

There's a mix-match of each style

patent pivot
#

yea

#

me and chris were just playing around with copilot seeing whether it can do anything decent with issues on pydis repos

#

just given it a trickier issue

fallen patrol
patent pivot
#

wait why does it need to be migrated to redis

fallen patrol
#

cause it doesn't save anything lol

#

.src monster leaderboard

dusky shoreBOT
#
Command: monster leaderboard

Shows the current standings.

Source Code
patent pivot
#

oh

#

lol

patent pivot
#

funny

stable mountainBOT
#

bot/exts/holidays/halloween/monstersurvey.py lines 31 to 34

def json_write(self) -> None:
    """Write voting results to a local JSON file."""
    log.info("Saved Monster Survey Results")
    self.registry_path.write_text(json.dumps(self.voter_registry, indent=2))```
patent pivot
#

yea

fallen patrol
#

this gets nuked every deploy

patent pivot
#

no one changed it when it got copied over from salt i guess

fallen patrol
#

salt?

#

salt bot?

patent pivot
#

no

#

saltstack

fallen patrol
#

hm

#

meta#202

dusky shoreBOT
fallen patrol
#

organisation#202

#

๐Ÿค”

#

mmmm validation

patent pivot
#

what has organisation#202 got to do with things

fallen patrol
patent pivot
#

oh

#

yeah

#

that's not meta

fallen patrol
#

was git blaming

#

it has been renamed a few times.

#

a few.

patent pivot
fallen patrol
patent pivot
#

yeah

#

the all-staff internal meta repo

fallen patrol
#

interesting

#

brb finding security bug

#

actually i need to check if monty is still vulnerable after i rewrote all of the github handling

patent pivot
#

lol

#

finding organisation issues is not the end of the world

fallen patrol
#

yeah

patent pivot
#

finding the other repos internally is more problematic

fallen patrol
#

no exactly

#

having knowledge of The Organisation means a point that can be tested without finding confidential information

#

The Organisation

#

wait a moment

#

git are you drunk

#

how did a json file become a python file

patent pivot
#

the bot doesn't pull issues with a token that can access organisation though anyway iirc

fallen patrol
#

ye

#

if it did it would have replied already

#

maybe.