#dev-contrib

1 messages · Page 28 of 1

fallen patrol
#

as far as I can tell

#

i mean u should

patent pivot
#

should be a different webhook type at creation i still believe

fallen patrol
#

it would be so cool in some cases fr

#

no ur thinking of

#

the interaction response webhooks vs channel webhooks

patent pivot
#

hash-based message authentication code

stable mountainBOT
#
Contacting the moderation team via ModMail

@slow bone is a bot that will relay your messages to our moderation team, so that you can start a conversation with the moderation team. Your messages will be relayed to the entire moderator team, who will be able to respond to you via the bot.

It supports attachments, codeblocks, and reactions. As communication happens over direct messages, the conversation will stay between you and the mod team.

To use it, simply send a direct message to the bot.

Should there be an urgent and immediate need for a moderator to look at a channel, feel free to ping the <@&831776746206265384> role instead.

patent pivot
#

nah i'm thinking of incoming webhooks here

#

i like danny

outer oasis
#

That's Rapptz, right?

patent pivot
#

i wonder how many macos core devs we have

#

i've reached out to orbstack for licenses

#

wonder if it'll just be me lol

#

i remember the days where to develop site locally you had to update your /etc/hosts file

#

those were the days

fallen patrol
#

oh god i do too fuck no aaaaaaaa

#

traumatized

patent pivot
#

it worked surprisingly well to say how jank it was

fallen patrol
#

i checked payloads recently and goddamn they're awesome

#

I've since reimplemented a visual of pretty much everything identically to how github shows it, with some enhancements

#

(and github events have slightly more data)

outer oasis
fallen patrol
patent pivot
#

part of my university coursework was designing a message authenticataion standard with a hash function we'd designed and built

patent pivot
#

i designed something that beat out SHA-1 and that was enough for me

#

they're the reason you haven't noticed anything

outer oasis
#

Wait a second WTF I swear I just checked that

stable mountainBOT
#

pyproject.toml line 19

required-version = ">=0.9.7"```
patent pivot
#

that's recent

outer oasis
#

I know we talked about it today and I just went looking for it

#

Went to Lance, then Python, then Robin, but somehow skipped over it

patent pivot
#

yea

fallen patrol
#

there's so many bots now

patent pivot
#

it is on python as well but in a PR

patent pivot
# fallen patrol there's so many bots now

one of the owl corp backburner projects is creating a new bot for all members of the devops team, training it on devops message history and having them chat to each other

#

i can't wait to become the astral shill at the new workplace in december

outer oasis
#

How does Owl Corp recruit?

#

Is that where Cicada 3301 winners dissapear to?

fallen patrol
#

not to the repos idc about that i mean to kubernetes

patent pivot
#

i wonder how many people we have on the owl-corp repos now

fallen patrol
outer oasis
#

Better question is how many dogs

patent pivot
#

huh 8 people

#

1 is my girlfriend in fairness who got added to shitpost

fallen patrol
#

that doesn't count

#

does she know what git is

outer oasis
#

(she is SWE)

patent pivot
#

yea

#

she is not SWE lol

#

she is a cancer scientist

outer oasis
#

o

#

even more based

fallen patrol
fallen patrol
# patent pivot yea

most of the time i try to ask if people know what git is they say no they use jj instead

outer oasis
#

No that was a friend

outer oasis
#

Joe stahp emailing me

#

Oh that was an invoice

#

Why is Owl Corp invoicing me?

patent pivot
fallen patrol
outer oasis
#

OH YEAH
Is Thallium still alive?
Because I still need exactly that and I'm going to have to end up writing it myself...

fallen patrol
#

*please?

outer oasis
#

wow you could at least say

#

oh ok

patent pivot
fallen patrol
#

have you thought about poethepoet over taskipy

#

it auto-activates the venv

#

poe start becomes a valid command over having to run uv run task start

patent pivot
#

where is poe then installed, user packages?

fallen patrol
#

you can also bundle it with the project

patent pivot
#

but then you can't call poe start

fallen patrol
#

i end up.... actually i end up ignoring a lot of the contributing documentation for pydis lmao

#

i always use uvx prek install -f over pre-commit

patent pivot
#

that's mostly fine as long as the end products end up being in line with the contribution guidelines

outer oasis
patent pivot
#

there's a different between contributing guides and contributing guidelines

fallen patrol
#

yeah

outer oasis
#
error: Required uv version `>=0.9.7` does not match the running version `0.9.4`. Update `uv` by running `uv self update`.

firHide

patent pivot
#

poethepoet looks fine but I don't think there's really enough motive to swap something out

#

taskipy works

#

save from taskipy going completely archived and unmaintained and becoming broken somehow i don't think there's a huge reason to swap things out

#

especially not because it'd have to be something that we'd do on all projects — we wouldn't leave half on taskipy and half on poethepoet

fallen patrol
#

looks at bot core and how long it was on poetry
looks at how long sir-robin was on python 3.12
looks at---

patent pivot
#

we have never done python versions at the same time

#

bot core was on poetry because at the time we moved to uv there wasn't great stuff in uv_build

#

bot core was intentionally left behind because at that time poetry remained the superior choice for package distribution

fallen patrol
#

you didn't have to use the backend of uv build though!! that's the biggest and most important thing about build standards!! (not annoyed just excited)

#

I use uv to manage my bot but the backend is flit_core

#

you use hatchling to manage the site

patent pivot
#

yeah i know we didn't -- but there was less reason to move until uv_build came along

fallen patrol
#

how the hell does the bot get installed huh

#

there's no build backend

patent pivot
#

it doesn't get installed

outer oasis
#

thats the neat part /S

#

it doesn't

patent pivot
#

build backends are optional

fallen patrol
#

cursed

outer oasis
#

not really

#

Applications != packages

fallen patrol
#

fair

#

but consider src layout

patent pivot
#

though i imagine the actual answer is uv might just use uv_build

outer oasis
fallen patrol
#

agreed thank you

patent pivot
outer oasis
patent pivot
#

i see that the two of you have disagreements on poetry, and that's fine, but ultimately poetry is used on 285,000 repositories, and there has to be some reason for that

#

it's not like it's an outright bad tool

patent pivot
#

it's actually a very good tool and compared to the previous pipenv stuff it's a marvellous tool

patent pivot
# fallen patrol nein

hmm yea, but this does something ```
uv pip install bot@.
Resolved 57 packages in 1.42s
Built bot @ file:///Users/joe/Projects/python-discord/bot
Prepared 1 package in 721ms
Installed 1 package in 2ms

fallen patrol
#

setuptools

patent pivot
outer oasis
patent pivot
#

this seems like the kind of argument that ends up with the conclusion that they wronged you personally through a minor change that was either inadvertent or unsupported lol

patent pivot
fallen patrol
#

god pipenv moment

outer oasis
#

I do concede they were we ahead of their time when they came out
But they refused to work with the community on PEP 621 for way too long and it took >10m to lock my repo and it corrupted every week

outer oasis
patent pivot
#

i have not heard this, no

#

you sound like you are sure this was targeted at you though lol

fallen patrol
patent pivot
#

lol, because that is not the case now

outer oasis
#

That's just a design choice
You get to make your own design choices

#

That wasn't the malicious part

fallen patrol
#

oh?

#

go on

patent pivot
#

also i really think saying that locking to <4 is a problem is a bit crazy given there has been no discussion of python 4 other than "it won't break retrocompatibility if things happen" iirc

#

unless i'm fundamentally misunderstanding the problem

#

hopefully i will have retired by the time python 4 comes out

fallen patrol
patent pivot
#

yea

#

which is why it's good that poetry now lets users do that

outer oasis
# patent pivot i have not heard this, no

When they released v1.2 they changed the URL for their installer.
They immediately added a 5% chance to fail randomly if they detected you were in CI because "devs don't see warnings in CI jobs". No deprecation periods, just random flaky failures.
https://github.com/python-poetry/poetry/issues/6314

Long story short, I tried to do an emergency bugfix during a demo, I hit that random chance, got confused because I was distracted+an idiot, tried to upgrade my lockfile which took >12m but actually corrupted it - again - so when CI failed again I had to recreated the log file yet again with took another 12m, all while I'm standing there awkwardly with investors staring at me wondering why I'm not pushing any buttons to do the needful.

So yes, I did fuck up and cause my own problems
but its not my fault rooWhiney that they decided to purposely fail my CI for using a version that was still supported

patent pivot
#

but i don't think it was an insane design choice before, it was just a design choice

outer oasis
#

It's also not my fault that it took >10m to lock my dependencies

patent pivot
#

yea okay so

#

this was bad

#

and they did choose the wrong way to do that -- and I completely understand people's confidence being knocked using a tool that does things like that

outer oasis
#

thank you I feel validated

patent pivot
#

but

#

i don't think it completely writes off the tool at all and I do think that our decision to continue using it for things like bot core was the right one because it was, despite the design decisions and version rollout strategies, the best tool for the job at the time

outer oasis
#

I'm mostly teasing
But you haven't actually explained what you like about it (that I've seen) and I am curious

fallen patrol
#

oh yeah wasn't poetry 1.2 the release that should have been 2.0

patent pivot
#

yea

patent pivot
#

it was just the right tool at the time

outer oasis
patent pivot
#

remember at the time we adopted all this the capability of different tools was fundamentally very different

fallen patrol
#

yeah

#

poetry was THE TOOL at the time

outer oasis
patent pivot
#

august 2024 apparently

fallen patrol
#

it used to be a fucking pipenv setup that took way too fuckin long to lock and install and oh my god i think i had a nap before my dev env for site was ready

patent pivot
#
fallen patrol
#

At work you’re using Python 3.7 whereas your personal project should be using the newest Python version (currently 3.11).
little older than that

fallen patrol
#

yeah its old

patent pivot
#

not all things within are updated seemingly

#

This post was last updated on August 29th, 2024.

fallen patrol
#

poetry also supports python installations now

outer oasis
#

oh?

fallen patrol
#

and hatch is adding workspace support and also does pbs

#

actually everything does pbs now

outer oasis
#

Hatch just finished their workspace support according to the message I read
May not be released yet

#

anyways
TL;DR: Poetry was slow, flaky, and error prone; and their core team felt very anti-community with the 5% thing and their refusal to support PEP 621
It was a variety of factors, both technical and political, that kept stacking up and up

I'm not just a fanatical hater though, I promised I would try it again when they released PEP 621 support, so whenever my next project idea comes up, I'll be trying Poetry again

fallen patrol
#

iirc poetry still doesn't have dependency-groups support

outer oasis
#

Anyways
We've gotten very off-topic

fallen patrol
#

i need to make libs.advaith.io for python build frontends and build backends.

#

tracking pep implementation

fallen patrol
#

just had copilot suggest invalid syntax py_strong

#

(god i wish python supported this)

fallen patrol
#

@patent pivot ok i updated webhook handling on botstrap and refactored the check to a method

patent pivot
#

christmas came early

#

will merge tomorrow when at laptop unless another core dev has any feedback they leave

fallen patrol
#

oh speaking of christmas sir-robin#164 is a hard blocker for christmas :D

fallen patrol
#

and sir-robin#165

royal prawn
patent pivot
#

lmfao

fallen patrol
#

tbh i don't think that aoc will break until day 13 in a worst case scenario

patent pivot
#

as project manager for Christmas this sounds excellent

#

our hard blockers are melting into soft blockers thanks to global warming

fallen patrol
#

:)

#

hey joe can i disclose the bug

#

the particular command at least

#

actually there's no security policy here

#

i set my name on github to ```@ here (but no space) and then resynced aoc. This would have caused anyone looking at the aoc leaderboard if i was in the top ten to mention everyone

patent pivot
#

but ya once patched disclose away lol

fallen patrol
fallen patrol
#

you can still use it to annoy a single user & aoc link @joe.banks but that's a lot less worse than ot0-pinging-90000-people

patent pivot
#

no set policy on rewards though

#

if someone finds an actual breach of snekbox that isn't just resource exhaustion that might be the kind of thing where i might poll the core devs for a shirt or something

fallen patrol
#

(unironically I would rep an owl shirt)

patent pivot
#

lol i don't think mention bugs count (not that there is a policy, just my mental policy) -- though this was creative

#

pinging people is annoying but not major

#

what did we claim that stupid CVE for

fallen patrol
#

I debating filing a security report to get u guys a cve for fun

patent pivot
#

lol

#

we have a CVE

#

CVE-2021-41250

#

it was requested accidentally and i'm still annoyed that it got issued

fallen patrol
#

Lmfao

patent pivot
#

tried to get it cancelled before it got issued but no luck

fallen patrol
patent pivot
#

fortunately they don't get automatically issued lol

fallen patrol
#

Working on fixing the code jam command that causes it

#

I might just do the simple fix of commands.bot_has_permissions(administrator=False) which SHOULD work

#

Meaning you can't grant admin as an override to fix the permissions error and have to do it the Right Way

#

It's sir-robin#156 iirc

fallen patrol
#

Nope

#

sir-robin#151

dusky shoreBOT
fallen patrol
#

the bot requires any permission its granting

fallen patrol
#

when did that change lol

#

it used to have joe count for both

celest charm
#

btw @fallen patrol why is it called SilencedDict when it crashes the entire program instead of silencing errors?

fallen patrol
#

i don't know i didn't change that

#

that's original implementation

celest charm
#

I know, just an unusual name

#

...and docstring

fallen patrol
#

Silenced as in the code calling it will never error

celest charm
#

well, it will error but with a SystemExit exception instead of a KeyError exception

fallen patrol
#

...it could just be collections.defaultdict(sys.exit) actually

#

!e import sys, collections ; di = collections.defaultdict(lambda: raise Exception) ; di.get('hi') ; di['hello']

#

🤔

#

oh right

celest charm
#

you need a lambda

fallen patrol
#

!e import sys, collections ; di = collections.defaultdict(lambda: sys.exit(1)) ; di.get('hi') ; di['hello']

stable mountainBOT
fallen patrol
#

i don't even know why the dict needs to be like that

#

i have another inkling of an update as i add a cli to botstrap in the next one

night hatch
#

IM HERE TO LEARN HOW TO CHEAT BUT ITS AGAINST TOS SO IM VERY VERY SAD

fallen patrol
#

not sure if i'll add cli first, port to botcore, or toml

probably port to botcore and add cli. Making it optional for the time being while working on it before its ready for all of the bots to be ported

#

that way dev for bots can depend on pydis_core[cli] which adds some commands for managing the config

#

mainly configuration sync

#

but i want to bake as much config that doesn't change into core so it doesn't need to be reduplicated on every bot

#

I have a good idea for how to do this while still allowing additional configuration entries per config object

#

and overrides (for whatever reason)

fallen patrol
#

in core:


class _Channels(EnvConfig, env_prefix="channels_"):

    announcements: int = 354619224620138496
    changelog: int = 748238795236704388
    mailing_lists: int = 704372456592506880
    python_events: int = 729674110270963822
    python_news: int = 704372456592506880
    reddit: int = 458224812528238616

    dev_contrib: int = 635950537262759947
    dev_core: int = 411200599653351425
    dev_log: int = 622895325144940554

    meta: int = 429409067623251969
    python_general: int = 267624335836053506

in bot (naming to bikeshed)

class _Channels(pydis_core.config.Channels):
    attachment_log: int = 649243850006855680
    filter_log: int = 1014943924185473094
    message_log: int = 467752170159079424
    mod_log: int = 282638479504965634
    nomination_voting_archive: int = 833371042046148738
    user_log: int = 528976905546760203
    voice_log: int = 640292421988646961
#

or something like that

blissful olive
#

YAY!

fallen patrol
fallen patrol
#

I have pull requests for most of them already, mostly just want the issue tracker to reflect that

blissful olive
#

how did you get the Contributors role?

blissful olive
#

aight

patent pivot
patent pivot
#

but others assigned

fallen patrol
#

added comment to that one and the sir robin one as well

patent pivot
#

done

fallen patrol
#

sir-robin ones as well?

patent pivot
#

yea it took a sec to go through

#

oh not al the sir robin ones worked

#

fixing

fallen patrol
#

I did so much github ratelimited you :^)

patent pivot
#

done

#

why is loki latency firing this morning

fallen patrol
#

.gh repo loki

#

...actually, can we just enable that in every channel

patent pivot
#

.gh repo loki

dusky shoreBOT
#
Nuh-uh.

The repository should look like user/reponame or user reponame.

patent pivot
#

yeah

#

didn't think that works

#

.gh repo grafana/loki

dusky shoreBOT
#

Like Prometheus, but for logs.

patent pivot
#

the log canary latency is firing meaning there is a delay in logs getting stored

#

i'm going to blame go gc

#

actually it might be the gateway that's experiencing the latency

#

I still blame go gc

fallen patrol
#

Thought Loki was a pydis thing anyways

fervent sage
patent pivot
#

yea not opposed to that

#

not sure how dynamic it needs to be though

fervent sage
#

yeah the parenthetical was a very optional part

patent pivot
#

I wouldn't really care if it's just a JSON file somewhere -- but I agree would be nice

fervent sage
#

could 100% get away with config options for it because there can't be that many or that need to be frequently added

patent pivot
#

libs we work with, tools we use, etc.

#

will open a tracking issue

fallen patrol
patent pivot
#

.gh repo jb3 fractal

#

WTF !

#

.gh repo jb3 fractal

dusky shoreBOT
#
jb3

Rust randomly generated fractal graphics

patent pivot
#

so we want to just support 1 argument

#

and have it check a map

fallen patrol
#

No I can't take this anymore.

Wait_for_deletion on GitHub embed reply???

patent pivot
#

what

fallen patrol
#

I need that trashcan

patent pivot
#

why

#

i'm confused

#

i think the cases where people use commands and then instantly want to delete the messages is something we should try limit where we can

#

it's just spammy

#

to those looking at the channel all it appears as is embeds popping up and vaporising without reason

fallen patrol
#

Popping the wrong message

#

Plus the error handler already deletes itself which already has that behavior

patent pivot
#

yea but for valid responses i don't see why we'd support deletion

fallen patrol
patent pivot
#

sir-lancebot#1710

patent pivot
#

ooo actually

fallen patrol
#

I'll come back to this at some point lol

patent pivot
#

HELL yeah

#

I LOVE MERMAID!!!!

fervent sage
fallen patrol
#

how the hell did you write that so fast

fervent sage
#

mermaid is pretty fast to write

patent pivot
#

chris has a claude implant in his brain

#

i just copied what i wrote initially and told claude to make it mermaid diagram

#

instant success

fervent sage
#

actually good use for LLMs

patent pivot
#

yeah agreeGe

fallen patrol
#

here it is

#

(also great example of a deleteable button which also suppresses an embed)

#

(consistent ui on .gh wen pls)

patent pivot
#

someday we should rewrite all our bots from the ground up

#

me and jc considered rewriting site in elixir one year as an april fools

fallen patrol
#

been doing that on monty recently lmao

patent pivot
#

i think i started, was having a great time, then realised i'd be inevitably let down when we couldn't actually use it, and then stopped

fallen patrol
#

not quite ground up because uh

there's a LOT and I do mean a LOT of edge cases with external apis that were previously solved and don't need to be repatched later

fervent sage
#

re:

One thing I will stipulate is: our aliased version must be the same repo name (e.g. Rapptz/discord.py must be discord.py, not discord, kubernetes must be kubernetes not k8s, etc.)
discord being rejected I fully agree on because it's ambiguous as to the intent, but I'd argue that k8s (especially since single-name repos will only ever be done via a lookup into this dict, it doesn't fall through to somewhere else after) has a clear intent to resolve to kubernetes/kubernetes, I don't think there's any harm in allowing k8s as an alias for it

fallen patrol
#

cough python-discord/kubernetes

#

.gh python-discord/kubernetes

fervent sage
#

right but that's a separate issue anyway, since kubernetes will already redirect to kubernetes/kubernetes under this issue

fallen patrol
#

true

#

also hi again alec

fervent sage
#

I don't think there's a ton of cases where I wouldn't agree with "don't change the name" but k8s is so well known as k8s that I'd make the argument that an exception for it is warranted

fallen patrol
#

we should also support k3s too then

#

-# and we should add support for redirecting flake8 to ruff /j

#

also why are codesnippets on bot but github info is on lance

patent pivot
#

i disagree that the stars solution is the way to go

#

i think that's nice, but we should support it in combination with explicitly set aliases

fallen patrol
#

yeah but this way we only special case repos when they aren't the default

patent pivot
#

for example, i would probably be a bit confused if I ran .gh repo poetry and got a result back about Chinese linguistic works (though I appreciate the provided snippet does look for exact match, so this is far fetched)

fallen patrol
#

its quite far fetched and can definitely be fixed afterwards

patent pivot
#

i suggest we just add it in as a step instead of failing out

fallen patrol
#

would make a lot of sense to provide data even if its not what the user wanted: we can't read minds and its literally how search engines work (don't talk about AI)

patent pivot
#

but still support specific aliases set by us

fallen patrol
#

yea

patent pivot
#

I LOVE AI!!!!

#

actually let's farm this whole operation out to claude

#

or even better, Fredrick

#

speaking of I need to fix Fredrick

fallen patrol
#

which means the alias is basically just {'k8s': 'kubernetes'} and nothing else

#

dope

fervent sage
#

can we have claude rewrite the entire bot from scratch and deploy to prod without reading because claude can do no wrong

patent pivot
#

no point doing several stages of resolution when we know what we want

fallen patrol
#

fair fair

fervent sage
fallen patrol
#

my point stands though lmao

#

the discord.py alias and other aliases don't need to be in there

#

also we should add caching to @marble shoal (and @stable mountain) for api requests

fervent sage
fallen patrol
#

this is a consideration when redoing the async redis cache vendoring: a cache that can be shared between lance and python would be really cool for shared caching

#

fair but also consider 5000 requests per hour

#

I'm different I guess, public bot vs pydis bot

patent pivot
#

5,000 requests is a limit not a target

fallen patrol
#

oh i know

patent pivot
#

why do api request when json loads does trick

fallen patrol
#

but we already have inefficiencies in the github code what's one more?

patent pivot
#

bad spirited OSS contribution

#

caching is an idea we should do for some things

fallen patrol
#

#requestingreview sir-lancebot#1699

patent pivot
#

async_rediscache i think we want to mvoe 1-for-1

#

but yeah we could add some sort of cache layer backed by redis seperately

#

the bots have a redis session attached

#

aiohttp-client-cache will support it outright

fallen patrol
#

sorta.

#

there's some 304 implementation differences in my testing

#

here's my custom code

#

which also implemented ratelimit storing but I currently don't handle ratelimits lmao

#

including caching 404s and 410s as those are commonly used by github

#

I haven't added repo existence checking such as psf/owls#56 so caching 404s is a stopgap for that check

#

I should but I just... haven't

fervent sage
#

can we replace "sharding" with "caching" in "sharding is the secret in the webscale sauce"

fallen patrol
#

get out

patent pivot
#

server sharting

#

discord's best feature

#

sad they renamed it to relays

fallen patrol
#

is this server on a relay or no

fervent sage
#

sad they renamed it to relays, happy that gtao doesn't crash when we edit roles anymore

patent pivot
#

no idea what the threshold is for relays

fervent sage
patent pivot
#

yea

fallen patrol
#

what is large

#

250?

patent pivot
#

i know we were at one point — don't know if they have since changed that threshold

fervent sage
#

100k+ for relay iirc, because roles™

patent pivot
#

!server

stable mountainBOT
#
Server Information

Created: <t:1483877013:R>
Roles: 156
Member status: status_online 46,107 status_offline 366,354

Members: 412,460

Helpers: 161
Moderation Team: 35
Admins: 13
Directors: 3
Contributors: 48
Leads: 6

Channels: 341

Category: 38
Forum: 5
News: 14
Staff: 129
Stage_Voice: 1
Text: 141
Voice: 13

patent pivot
#

oh features doesn't show up in here

fervent sage
#

most stuff is automatically upgraded when it's needed now instead of being a thing so "large guild" is contextual now

patent pivot
#

either way RELAY_ENABLED is in there yea

fallen patrol
stable mountainBOT
fallen patrol
#

there u go

#

don't ask how i got it :)

patent pivot
#

invite

fallen patrol
#

no :)

patent pivot
#

client modding

#

nice

fallen patrol
#

no?

patent pivot
fallen patrol
#

user app

#

one of the two things in the payload for the guild: id and features

patent pivot
#

well that's considerably more boring

fallen patrol
#

ok fine

#

invite through a self app

patent pivot
#

the only user app i have is footgpt

fallen patrol
fervent sage
#

(also the relay feature is irrelevant for relay now fwiw, when it got full rollout and auto upgrades to relay nodes they stopped applying the feature, but they dont remove features)

patent pivot
#

you can also jsut curl https://discord.com/api/v10/invites/python | jq to get features as well

fallen patrol
#

wtf why would i use a terminal

patent pivot
#

claude can do it for you

fallen patrol
fervent sage
patent pivot
#

TRUE

#

many people are saying this

fallen patrol
#

yeah just checked and 3 day and 7 day thread features were removed

#

THREADS_ENABLED was not though

patent pivot
#

hmm i have 49 emails

#

this is majorly upsetting

fallen patrol
#

the only feature my bot doesn't have access to is RELAY_ENABLED

#

(compared to the ones that pydis has)

#

so yeah, very legacy feature

#

how come i never once put the timestamp on these

marble shoal
#

how did i end up getting pinged in that😂

fallen patrol
#

fffs I blame discord

#

it is the coolest new feature: random pings

#

(and its not even april!)

toxic wren
#

I've pinged 10 random people until now

#

I pinged a guy remember(other server) like 4 times

#

and I got my Hacktoberfest tshirt, yay!

fallen patrol
#

Pls update site kthxbai

#

I would wait but I'm pretty sure you forgot

patent pivot
#

jesus lol the bot had only been up 2 minutes

#

i had the tab open from earlier

fallen patrol
#

IT WAS ONLY TWO MINUTES?

#

I'm waiting for files to download... Every second feels like an eternity ><

#

It says 1 hour 16 minutes remaining

patent pivot
timid sentinel
#

The most important part of the update has been forgotten - updating the topic on the repo 😞

patent pivot
#

SEV 1!!!!!!

fallen patrol
#

Requesting review on sir-robin#165

fallen patrol
#

And yes, the six there are fully ready for review and integration

#

@thorny obsidian hello! Pinging as well as per silenced GitHub.
I've implemented most of the AOC issues with the exception of the automatic forum channel, which I'm holding for now due to the likelihood of merge conflicts.

#

I have:

  • 25 to 12
  • global leaderboard update
  • always show leaderboard
  • put name in the right place if in the top names on leaderboard
fallen patrol
#

Did that

#

How is it no string

thorny obsidian
#

Cool, I'll review over the next few days

patent pivot
#

copilot has been delegated the task of making pytest 9.0 work

#

little does it know that after this i'm going to tell it to replace pytest-subtest with native subtests

patent pivot
#

huh

#

it actually did an alright job

toxic wren
#

why not use something local, might I suggest claude or cursor instead?

patent pivot
#

because i don't really want to pay for something or actually set this up

#

this was a good use case because updating all those patterns is tedious and annoying

#

copilot works, does it well, understood and ran our test suite and generated a pretty solid PR at the end of it

#

i don't want to go big on AI personally, I don't have copilot or AI completions in emacs or anything, but for things like this, it's nice

toxic wren
#

Ill get github pro in the edu pack

#

if... my school stops blocking emails from github

toxic wren
#

no changes to bot

#

unless a devops member restarted it again

patent pivot
#

here

toxic wren
#

why does it work now though?

#

reddit took their api back up?

patent pivot
#

i am curious but if it works it works

#

the commands are still broken

toxic wren
patent pivot
#

.reddit

dusky shoreBOT
#
Command Help

**```
.reddit

*View the top posts from various subreddits.*

**Subcommands:**
**`reddit daily [subreddit=r/Python]`**
*Send the top posts of today from a given subreddit.*
**`reddit subreddits`**
*Send a paginated embed of all the subreddits we're relaying.*
**`reddit top [subreddit=r/Python]`**
*Send the top posts of all time from a given subreddit.*
**`reddit weekly [subreddit=r/Python]`**
*Send the top posts of this week from a given subreddit.*
patent pivot
#

those

#

they work for r/Python

#

might be because the api key we use is a moderator on r/Python or something like that — no idea

toxic wren
#

they dont't work even for r/python

patent pivot
#

.reddit daily

dusky shoreBOT
#

Here are today's top r/Python posts!

#

I just published my first ever Python library...

After days of experimenting, and debugging, I’ve officially released numeth - a library focused on core Numerical Methods used in engineering and applied mathematics. \ - What My Project Does Numeth helps you quickly solve tough mathematical...

reddit_post_textreddit_upvote105 reddit_comments 26 reddit_usersPrestigious_Bear5424

patent pivot
#

admittedly they don't work with .reddit daily Python — but I think that's because we depend on the subreddits search api, and that is gone

toxic wren
patent pivot
#
sir-lancebot-6c8fb677c5-mwknh sir-lancebot 2025-11-11 16:11:28 | ERROR | bot.exts.core.error_handler | Unhandled command error: 403, message='Attempt to decode JSON with unexpected mimetype: text/html', url='https://www.reddit.com/subreddits/search.json?q=r/python'
sir-lancebot-6c8fb677c5-mwknh sir-lancebot Traceback (most recent call last):
sir-lancebot-6c8fb677c5-mwknh sir-lancebot   File "/build/.venv/lib/python3.13/site-packages/discord/ext/commands/converter.py", line 1326, in _actual_conversion
sir-lancebot-6c8fb677c5-mwknh sir-lancebot     return await converter().convert(ctx, argument)
sir-lancebot-6c8fb677c5-mwknh sir-lancebot            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sir-lancebot-6c8fb677c5-mwknh sir-lancebot   File "/bot/bot/utils/converters.py", line 108, in convert
sir-lancebot-6c8fb677c5-mwknh sir-lancebot     json = await resp.json()
sir-lancebot-6c8fb677c5-mwknh sir-lancebot            ^^^^^^^^^^^^^^^^^
sir-lancebot-6c8fb677c5-mwknh sir-lancebot   File "/build/.venv/lib/python3.13/site-packages/aiohttp/client_reqrep.py", line 756, in json
sir-lancebot-6c8fb677c5-mwknh sir-lancebot     raise ContentTypeError(
sir-lancebot-6c8fb677c5-mwknh sir-lancebot     ...<7 lines>...
sir-lancebot-6c8fb677c5-mwknh sir-lancebot     )
sir-lancebot-6c8fb677c5-mwknh sir-lancebot aiohttp.client_exceptions.ContentTypeError: 403, message='Attempt to decode JSON with unexpected mimetype: text/html', url='https://www.reddit.com/subreddits/search.json?q=r/python'
toxic wren
stable mountainBOT
#
Yep.

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

stable mountainBOT
toxic wren
stable mountainBOT
#
You're the boss!

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

timid sentinel
#

hm yeah idk then

patent pivot
#

huh

stable mountainBOT
toxic wren
#

or linode

patent pivot
#

maybe

lucid orbit
#

48 PRs is what it took to get the role aniblobsweat

#

good job though

fallen patrol
#

@patent pivot on which repo should I open an issue about dependabot for all projects (a single tracking issue)

#

Infra or meta

patent pivot
#

regarding what

#

depends on what the issue is actually about

#

well open on either i guess, i can move it if it's more appropriate on a repo

#

@fallen patrol that's not the same issue

fallen patrol
patent pivot
#

right — but the workarounds mentioned are not for that comment

#

the workarounds seem to be the fact that dependabot won't even recognise a security problem for a dependency that is transitively included only in uv.lock

#

well hmm

#

i guess dependabot may then pick it up as regular dependency bumps

#

but we disable minor and patch version upgrades from dependabot

timid sentinel
#

Either way I think we're probably fine just leaving it for now and hoping dependabot is fixed at some point

fallen patrol
#

sounds good

#

wow sir-robin doesn't send check embeds to #dev-log 😭

#

nope i just broke it

#

that shouldn't be true

#

oh fiddlesticks

stable mountainBOT
#

.github/workflows/status_embed.yaml lines 10 to 12

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true```
fallen patrol
#

#requesting review on bot#3413 catsip

patent pivot
#

out of date from master

#

otherwise looks good

fallen patrol
#

checks pass :D

patent pivot
#

merge commit

fallen patrol
#

i can rebase smh i thought you were against that

patent pivot
#

no lol

#

i rebase all the time

#

i rebased your PR the other day

fallen patrol
#

it depends on the reviewer in some cases

patent pivot
#

i am generally against merge commits in all cases

fallen patrol
#

except for using merge commits to merge into the main bot

patent pivot
#

i often don't

#

3.14 was merged without a merge commit

fallen patrol
#

fair

patent pivot
#

devops repos don't have any merge commits at all

#

it's enforced repo level

patent pivot
#

i have a bunch but on admin-tasks it seems

#

oh i opened those

#

yea

fallen patrol
#

i only have a few assigned to me

#

i should probably finish sir-lancebot#968

dusky shoreBOT
fallen patrol
#

i put two of those other fixes in sir-lancebot#1699

fallen patrol
#

Joe you can use a filter worker on #dev-log again!!

wise marten
#

I think point 2 in #voice-verification should be reworded to

-Been consistently active for 1 hour 30 minutes.
+Been consistently active for 1 hour 30 minutes in text chat.

Unless I am misunderstanding the requirements.
idk how to contribute tho

stable mountainBOT
#

bot/exts/advent_of_code/_helpers.py lines 250 to 252

except aiohttp.ClientError:
    # Don't retry, something unexpected is wrong and it may not be the session.
    raise FetchingLeaderboardFailedError from None```
patent pivot
#

yea that should not be from none

fallen patrol
#

yeah

celest charm
#

...also why should we not retry on a ClientError? isn't that mostly what retrying is for? To still make a request if the network is flaky?

fallen patrol
#

I can't type

#

I plan a larger change to the aoc handling code :^) but I didn't want to refactor what was already there with so little time before december

patent pivot
#

we do have some new internal workers though

fallen patrol
#

fair

patent pivot
#

not sure they'll benefit from this

#

fredrick is a worker

fallen patrol
#

but still, you can make requests to github again

patent pivot
#

to discord

#

i need to fix fredrick actually

#

postfix is fucked

#

he's back

celest charm
stable mountainBOT
#

bot/exts/advent_of_code/views/dayandstarview.py line 55

options=[discord.SelectOption(label=str(i)) for i in range(1, 26)],```
fallen patrol
#

they were seperate so they could be reviewed seperately 😄

#

by design in order to not have a monolith

#

(this also fixes the leaderboard showing only 9 of the top ten if the user isn't in it)

#

(old example)

celest charm
#

Unrelated thing: the feature I probably hate the most in Python is implicit boolean coercion. The ability to put something other than True, False (and maybe None) in an if.
For example, in this function: https://github.com/onerandomusername/pydis-eventbot/blob/6e899bb7b026eb1814dac4e87d25c93b02245dd4/bot/exts/advent_of_code/_cog.py#L373
there are three states:

(aoc_name=None, is_explict_name=False)
(aoc_name="",   is_explict_name=False)
(aoc_name="...",is_explict_name=True)
``` and I _think_ it works out fine, but you have to drill down into `_helpers.fetch_leaderboard` to see if it handles an empty name and a `None` name the same
stable mountainBOT
#

bot/exts/advent_of_code/_cog.py line 373

async def aoc_leaderboard(self, ctx: commands.Context, *, aoc_name: str | None = None) -> None:```
fallen patrol
#

true

#

i think docs might sometimes suffer from this

celest charm
#

an easy fix would be disallowing an empty string as the name, it's probably a mistake when calling the command

#

but idk if it's worth it

fallen patrol
#

i don't even know if dpy allows that but im not sure

#

oh, yeah. its not possible to the best of my knowledge

celest charm
#

"" is not allowed as an argument?

fallen patrol
#

the keyword arg means dpy is greedy and therefore ignores "" iirc

#

otherwise that would have pulled not in

#

!d not in

stable mountainBOT
#

6.10.2. Membership test operations

The operators in and not in test for membership. x in s evaluates to True if x is a member of s, and False otherwise. x not in s returns the negation of x in s. All built-in sequences and set types support this as well as dictionary, for which in tests whether the dictionary has a given key. For container types such as list, tuple, set, frozenset, dict, or collections.deque, the expression x in y is equivalent to any(x is e or x == e for e in y).

For the string and bytes types, x in y is True if and only if x is a substring of y. An equivalent test is y.find(x) != -1. Empty strings are always considered to be a substring of any other string, so "" in "abc" will return True.

fallen patrol
#

thanks for deleting my improper invoke. Very helpful to delete my example

#

.src docs

dusky shoreBOT
#
You have to stop.

Your input was invalid: Unable to convert docs to valid command or Cog.

Usage:```
.source [source_item]

fallen patrol
#

!src doc

stable mountainBOT
#
Command: docs

Look up documentation for Python symbols.

Source Code
stable mountainBOT
#

bot/exts/info/doc/_cog.py lines 306 to 318

if not symbol_name:
    inventory_embed = discord.Embed(
        title=f"All inventories (`​{len(self.base_urls)}`​ total)",
        colour=discord.Colour.blue()
    )

    lines = sorted(f"- [`​{name}`​]({url})" for name, url in self.base_urls.items())
    if self.base_urls:
        await LinePaginator.paginate(lines, ctx, inventory_embed, max_size=400, empty=False)

    else:
        inventory_embed.description = "Hmmm, seems like there's nothing here yet."
        await ctx.send(embed=inventory_embed)```
fallen patrol
#

that's not being run because of the falsey truthy statement yeah

#

symbol_name is "" including the quotes

#

because dpy just gives u the whole thing when its greedy

celest charm
fallen patrol
#

Constanting so if the number of days is changed its an easy fix

#

magic values are bad

#

but i want to mix some of the support for roc and aoc

celest charm
#

oh right i forgor

fallen patrol
#
  • there is a small part of me that holds out hope for a 25 day year again
#

it may not be next year but when it happens I'll be ready

celest charm
#

Funny thing: apparently, every year Valve changes this line in Team Fortress 2 code https://github.com/ValveSoftware/source-sdk-2013/commit/b2705ba55b3b802b86ef2b2dbf97939c9d4fb685#diff-b0c1ffbebad7fe0367d1a110f9707d0bdce97c539b24c9ad73891a3d07ea006aR334
doesn't seem to load properly but it's ```diff

  • // only setup for 2024 right now...need to figure out how we want future events to run and maybe remove the year
  • static CDateBasedHoliday g_Holiday_Summer( "summer", "2024-07-01", "2024-09-16" );
  • // only setup for 2025 right now...need to figure out how we want future events to run and maybe remove the year
  • static CDateBasedHoliday g_Holiday_Summer( "summer", "2025-07-16", "2025-09-16" );
fallen patrol
#

lmfao

#

just like meme fr fr

toxic wren
patent pivot
#

there is no set threshold or time period etc.

#

anyone can be nominated at any time and then core devs have a bit of a vote, it's nothing formal like the helper voting process is

patent pivot
#

yea

#

that's the same thing

#

there is no set threshold or time period, but obviously a longer one is more likely to inspire a core dev to nominate someone

toxic wren
#

btw how many people have the role

patent pivot
#

!role Contributors

stable mountainBOT
#
Contributors info
ID

295488872404484098

Colour (RGB)

#55cc6c

Colour (HSV)

0.37 0.58 204

Member count

48

Position

49

Permission code

6442450944

toxic wren
#

48 pretty big...

patent pivot
#

it used to be more than cosmetic

#

contributor reviews used to count towards the approval policy

toxic wren
#

How do do manage that? Like do you add it to a list everytime someone gets the role?

toxic wren
patent pivot
toxic wren
patent pivot
#

contribs would leave the community etc and we had no way of really tracking that reliably, we didn't really want stagnant contributors on the list either because the review policy does mean something

#

yes, it's minimal effort to maintain, but when it's not actually being used then why even put in the minimal effort?

#

minimal effort is greater than zero effort

#

if it was minimal effort with some reward then fine, but it was effort with no reward because contributors did not review PRs frequently

fallen patrol
#

(i have been)

#

well at least on prs that have been opened/active recently

toxic wren
#

I would, but my reviews would mean nothing anyways and wont count towards the process.

patent pivot
#

which is always appreciated — and obviously people will read and respond to reviews from anyone — it's just not something that counts to the policy

#

we also didn't want contributors to feel like there was an expectation of reviews etc for what is fundamentally a reward/cosmetic role

fallen patrol
toxic wren
#

Looking to see if it's possible

patent pivot
#

it is

#

you can pull that data from a few places

fallen patrol
#

widget is disabled for here

patent pivot
#

invite isn't

#

i do it for https://jb3.dev/

#

just pull it in an action once a week or something

#

round down to nearest 10,000

#

cron actions exist to be abused

fallen patrol
fallen patrol
patent pivot
fervent sage
fallen patrol
#

min*

toxic wren
patent pivot
#

whar

#

why do we need to integrate with bot

fallen patrol
stable mountainBOT
#
It has arrived!

Here's your reminder: ???
[Jump back to when you created the reminder](#dev-contrib message)

toxic wren
#

apparently one of the steps is a bot in the server, haven't gotten too far yet to be sure.

patent pivot
#

you can do it in one line of bash

#
$ curl -s https://discord.com/api/v10/invites/python\?with_counts\=true | jq ".approximate_member_count / 10000 | floor | . * 10000"
410000
fervent sage
#

honestly I'm sceptical of whether this is at all worthwhile, you put a bunch of work into creating your own shield endpoint or you have a ton of automated commits, when the member count of pydis rises comparatively slowly; wouldn't just updating it manually every 6 months be equally effective without falling into the xkcd1205 trap

fallen patrol
#

yeah

#

it used to rise a lot faster

#

but now its very much not lmao

#

its 412519 right now

fervent sage
#

"400k+ members" would honestly probably last a year

patent pivot
#

longer than that lol

toxic wren
#

Yeah for like 2-3 years tops

fervent sage
#

I was being nice :P but yeah like, this doesn't feel like an automation problem

#

rather it's just an update to the readme

patent pivot
#

it's not but it'd be fun

#
joe@lovelace:~$ curl -s https://discord.com/api/v10/invites/python\?with_counts\=true | jq ".approximate_member_count / 1000 | floor | . * 1000" | numfmt --grouping
412,000
fallen patrol
patent pivot
#

be the change you want to see

#

custom badges could actually be fun because we could put them on repos

#

and can go beyond member count

fallen patrol
#

*be the change request you wish to see

fervent sage
fallen patrol
#

use the dead api repo

#

that was to decouple the api from site

patent pivot
#

nooo that project dead

fallen patrol
patent pivot
#

this is either a new service or in site

toxic wren
patent pivot
#

what

#

return what

toxic wren
#

member data,

patent pivot
#

just pull it from the invite

#

you don't even need authentication

fallen patrol
#

you mean this?

patent pivot
#

i mean the code snippet i just posted

#

that has

#

the member data

#

from curl

#

with no authentication

toxic wren
#

yea

#

easier

#

Im on it joe_salute

patent pivot
#
// joe@lovelace:~$ curl -s https://discord.com/api/v10/invites/python\?with_counts\=true | jq "del(.guild.features)"
{
  "type": 0,
  "code": "python",
  "expires_at": null,
  "id": 0,
  "flags": 2,
  "guild": {
    "id": "267624335836053506",
    "name": "Python",
    "splash": "bc7e6bf1ca419b9830ba15ebbcb96a9d",
    "banner": "ed3be5b67371fe219d7006152087afdb",
    "description": "We're a large community focused around the Python programming language. We believe that anyone can learn to code.",
    "icon": "a_8a4f6b575c0af85165938367af61a903",
    "verification_level": 2,
    "vanity_url_code": "python",
    "nsfw_level": 0,
    "nsfw": false,
    "premium_subscription_count": 32,
    "premium_tier": 3
  },
  "guild_id": "267624335836053506",
  "channel": {
    "id": "267631170882240512",
    "type": 0,
    "name": "welcome"
  },
  "profile": {
    "id": "267624335836053506",
    "name": "Python",
    "icon_hash": "a_8a4f6b575c0af85165938367af61a903",
    "member_count": 412520,
    "online_count": 38835,
    "description": "We're a large community focused around the Python programming language. We believe that anyone can learn to code.",
    "banner_hash": null,
    "game_application_ids": [],
    "game_activity": {},
    "tag": "snek",
    "badge": 0,
    "badge_color_primary": "#008cff",
    "badge_color_secondary": "#fdf300",
    "badge_hash": "fd3549e1a1a692afda2a7b4cf6b6cad6",
    "traits": [],
    "features": [
      "DISCOVERABLE",
      "MEMBER_VERIFICATION_GATE_ENABLED",
      "COMMUNITY"
    ],
    "visibility": 1,
    "custom_banner_hash": "774c3129f8d45bb55fc3048aea844c8b",
    "premium_subscription_count": 32,
    "premium_tier": 3
  },
  "approximate_member_count": 412520,
  "approximate_presence_count": 38835
}
toxic wren
#

good lord thats a lot of json

patent pivot
#

the immediate fix is just putting 400k+ in the README and that settles that

#

if people want to have fun with shields then I'll facilitate it but it needs to actually be something somewhat useful

patent pivot
#

yea which is why the shields discussion started

toxic wren
#

what is shields?

patent pivot
fallen patrol
#

joe we should have a pydis stats api

#

basically the stat dashboards but publicly consumable

patent pivot
#

they are all just json endpoints

fallen patrol
#

joe that was really fast thanks for adding it

#

this means shields can pull from that api

patent pivot
#

that repo needs TLC

fallen patrol
#

do you know where we can get some

fervent sage
patent pivot
fervent sage
#

man I remember when 3.8 was bleeding edge

patent pivot
#

yea lol

fervent sage
#

i dont like the inevitable passage of time

patent pivot
#

june 2020 that repo came about

#

i should rewrite that site with apexcharts or something

fallen patrol
patent pivot
#

there are a few public metabase dashboards iirc as well

fallen patrol
#

also does this imply private-stats

patent pivot
#

yeah

#

grafana

#

lol

toxic wren
fallen patrol
#

what would you use instead

patent pivot
fervent sage
patent pivot
#

🤣

#

i'll redo public-stats at some point

#

!remind 8h funemployment task for the day

stable mountainBOT
#
You're the boss!

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

toxic wren
fervent sage
#

8:34am our time though

toxic wren
#

yeah you guys have London time, right?

patent pivot
#

yea

#

i love being br*tish

#

(derogatory)

fervent sage
#

I've actually ended up in your part of br*tain a lot recently

patent pivot
#

the north?

#

condolences

fervent sage
#

notts specifically, langar airfield is where I've done a bunch of skydiving

patent pivot
#

oh i know langar

#

british skydive team did a skydive onto our campus that started at langar

fervent sage
#

lmao nice

patent pivot
#

i am even further north than nottingham at the moment though

fervent sage
#

so when are you joining the skydiving soc

patent pivot
#

have been in york since i graduated

fervent sage
#

ah yeah you're finished

patent pivot
#

i move to london end of this month

fervent sage
#

ooh exciting, what for?

patent pivot
#

and end my arc of Funemployment

#

software engineering at a public service broadcasting corporation

#

who has been in the news quite a lot the last couple of days lol

toxic wren
fervent sage
#

you're gonna work making software to stitch together video clips

toxic wren
#

or is there another york

fervent sage
#

new york implies original york

patent pivot
fervent sage
#

which is in northern england

patent pivot
#

i live in original york

#

York is a cathedral city in North Yorkshire, England, with Roman origins, sited at the confluence of the rivers Ouse and Foss. It has many historic buildings and other structures, such as a minster, castle and city walls, all of which are Grade I listed. It is the largest settlement and the administrative centre of the wider City of York distric...

toxic wren
#

im just too american

#

🇺🇸

fervent sage
#

I bet you think boston MA is the original boston mmlolbutbadlydrawn

fervent sage
#

(the north of england has the original too)

patent pivot
fallen patrol
#

@toxic wren take a trip to georgia

patent pivot
#

Emigrants from Boston named several other settlements around the world after the town—most notably Boston, Massachusetts, then a British colony and now part of the United States.

toxic wren
fervent sage
#

as a brit I love looking at US place names because they're all either borrowed or really funny

patent pivot
#

hilairious bit when establishing a new colony to go "ah i've travelled halfway across the globe, let's just call it the same as the old place"

fervent sage
patent pivot
#

lmfao

#

but yea i start new role december 1st

#

lots of python

fervent sage
#

I did the obvious career move of quitting my software engineering job to become a climbing/mountaineering instructor, possibly adding skydiving to that list when I can

patent pivot
#

an inevitability

fervent sage
#

you either become an alpaca farmer or an adrenaline junkie, there's no other pathway

patent pivot
#

lmfao

fervent sage
#

goose farmer* sorry

#

I'm too mike-pilled

toxic wren
#

22 years

fervent sage
patent pivot
#

oh i remember this

#

infra commit worked

#

what an odd bug

#

at gets very unhappy when you pass it fractional minutes

fervent sage
fervent sage
patent pivot
#

hahahahaha

#

yeah classic

#

for better or for worse working with discord snowflakes for so long has made me instantly recognise integer boundaries and the errors they cause

fervent sage
#

yeah I caught this unreasonably quickly all things considered because of exactly that

patent pivot
#

metricity still has to store IDs as strings in the database because metabase and grafana can't handle bigints well

#

grafana can cast but the metabase query engine could not handle that automatically when we started using metabase

fervent sage
#

I pretty much handle IDs for anything I make now (discord or otherwise, I like and use snowflakes elsewhere) as strings and only convert to ints if I need to process them because I don't want to deal with this sort of issue, and I'm never working at the scale where this actually has any measurable impact on resource usage

patent pivot
#

we store 3 IDs per message and have 37,106,324 messages stored, which when I estimated it meant 890,551,776 bytes if using BIGINTs or 2,449,017,384 bytes for strings

fervent sage
patent pivot
#
   table_name    | pg_size_pretty | pg_total_relation_size
-----------------+----------------+------------------------
 messages        | 6551 MB        |             6869499904
 users           | 550 MB         |              576389120
 threads         | 164 MB         |              172335104
 channels        | 120 kB         |                 122880
 categories      | 64 kB          |                  65536
 alembic_version | 24 kB          |                  24576
(6 rows)
fervent sage
#

would be nice if they supported uint64 without extensions, maybe then I'd use numeric IDs lol, but I fear the day I construct a snowflake and see it returned as -92384568327456

fervent sage
patent pivot
#

fortunately 9223372036854775808 is in 2084

patent pivot
fervent sage
patent pivot
#

you've got to think liiiiike uhhh

#

postgres default page size is 8kb

#

index on that table is another 8kb

fervent sage
#

ah yeah, that makes sense

patent pivot
#

there will be other things but yea, the actual data size of that row will be considerably smaller (though still allocated as 8kb)

#
 row_size_bytes
----------------
             37
(1 row)
fervent sage
#

Aaanyways it's 1am so I'd better sleep because I plan on waking up then tossing a coin on whether I drive up to snowdon, climb it, then drive back down to swansea, just to get an extra logbook entry on a free day kekw

patent pivot
#

yeah i'm also going to hit the hay

fallen patrol
#

!server

stable mountainBOT
#
Server Information

Created: <t:1483877013:R>
Roles: 156
Member status: status_online 37,904 status_offline 374,615

Members: 412,519

Helpers: 161
Moderation Team: 35
Admins: 13
Directors: 3
Contributors: 48
Leads: 6

Channels: 336

Category: 38
Forum: 5
News: 14
Staff: 124
Stage_Voice: 1
Text: 141
Voice: 13

fallen patrol
#

damn

toxic wren
#

!ping

stable mountainBOT
#

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

fallen patrol
#

aaaaaaaaaaaaaaaaaa why is python so inconsistent

#

it would simplify a lot of code to enable redirect to bot commands for all commands by default

toxic wren
#

!src server

stable mountainBOT
#
Command: server

Returns an embed full of server information.

Source Code
fallen patrol
#

right now commands for @stable mountain go to #bot-commands, @dusky shore goes to #sir-lancebot-playground, and @humble leaf is not apparent unless you read the source code

cold island
fallen patrol
#

hm ur right

#

would need a custom context, but would be doable

#

could definitely simplify it a lot though once that's in

#

would take time but should increase the ui of the bot which imo is very important

cold island
#

There's a decorator that makes the redirect check, seems pretty simple

fallen patrol
#

ah then it wouldn't even need a custom context

cold island
#

you mean show in the help embed where it can be used?

fallen patrol
#

redirect output by default instead of saying "its not usuable in this channel"

#

eg rather than effectively a manual redirect, make it an automatic redirect by default

fallen patrol
# stable mountain

got sidetracked from my actual question:

can we add role counts for the Partners and Python community roles as well?

cold island
#

that's more of an admin decision I think. There's an argument here that the goal is to make people run the command in the bot channel in the first place, rather than run it anywhere and get a message/channel link

fallen patrol
#

hm that's fair

#

its still... somewhat arbitrary what commands will be allowed where

toxic wren
#

Staff: 124
wth

#

what are you guys doing

cold island
#

partying

cold island
#

hmmm maybe not. I remember someone mentioning that another role would make the two columns have the same length lol

#

anyway, python community seems ok to me to add. partner is not necessary, they're all python community anyway

fallen patrol
#

Source command is global for all bots.
Ping works only in #bot-commands for @stable mountain unless you are a staff member, partner, or community member. Its global for @dusky shore and @humble leaf.
Help works in any channel for robin and lance, including DMs, but doesn't work in dms for @stable mountain AND has output redirected to #bot-commands unless once again, same above roles.

char-info on bot is restricted to not work in #python-discussion only, works in all other channels, does NOT redirect output.

#

etcetra etcetra...

cold island
#

uuuh yeah there's no reason for the first one to not have the community role

fallen patrol
#

none of them do

cold island
#

hmmm... I know there was a discussion some time ago about changing that, maybe nothing came out of it

fallen patrol
#

also adafruit is not a python community either

cold island
#

I'll pass that on

fallen patrol
#

I suppose adafruit is legacy from when the #partners channel existed

#

ah yeah, 2019 role

#

lmao nice

cold island
#

yeeeah, it's not very consistent

fallen patrol
#

its fine

#

its like the discord api: eventually consistent but on a much larger timescale

cold island
#

hah yeah

fallen patrol
#

i found out today that nonces allow you to determine a client's latency

#

so that's a fun event

toxic wren
#

what the vencord is this

patent pivot
#

partners is mostly cosmetic now + access to internal channels

#

same as python community

#

there is an internal partners chat + they can see incidents

fallen patrol
#

yeah figured

patent pivot
fallen patrol
toxic wren
#

your client looks modded

patent pivot
#

useful in help channels but restricted? sure, PR welcome with justification

available everywhere and abused? restrict or add redirect

#

at the end of the day trying to build this big system of rules on what can happen where and who can use what commands and how things should be formatted is a surefire way to make things really doubleplusungood

#

command scoping is done best effort, corrected in PRs where appropriate/seen and if things need to be changed they need to be changed

#

i don't think it's the end of the world that things like !ping work on some bots everywhere but others only in #bot-commands, things don't need to be exactly the same across all projects, we are not in 1989 Germany

cold island
#

lmao

celest charm
#

correct, it's 5 years before that

patent pivot
#

M-x troll

radiant merlinBOT
celest charm
#

it's 2am UTC, you gotta go to bed

fallen patrol
#

i hate discord

wise marten
fallen patrol
#

its provided exactlyt like that by discord

celest charm
fallen patrol
#

well

#

this

wise marten
fallen patrol
#

ye

stable mountainBOT
fallen patrol
#

bot#3440

#

hmmm

#

well that's moot soon anyhow

patent pivot
#

bot#3440

#

whar

#

what is that

#

oh

#

the deleted issue?

fallen patrol
#

yeah

#

pretty sure that currently lance made two request to check that

toxic wren
toxic wren
toxic wren
# patent pivot we've fucked it all

Why, I've seen a few:

ClientConnectorError: Cannot connect to host site.web.svc.cluster.local:80 ssl:default [Connect call failed ('10.128.115.236', 80)]

Nothing drastic and everything seems fine now.

celest charm
#

we heard of blue/green deployment and invented our own, brown deployment

vale ibex
#

thanks for the investigation

patent pivot
#

we don't have a site anymore .........

it's over

toxic wren
toxic wren
vale ibex
#

cached

toxic wren
#

Cmd+Shift+R does nothing though?

patent pivot
#

yeah ....

#

it's gone ....

celest charm
stable mountainBOT
#

pydis_core/_bot.py lines 29 to 34

class StartupError(Exception):
    """Exception class for startup errors."""

    def __init__(self, base: Exception):
        super().__init__()
        self.exception = base```
toxic wren
vale ibex
#

yeah that strtup error stuff is odd

vale ibex
patent pivot
#

no backups .....

celest charm
#

idk, maybe there's some good reason, that's why I'm asking