#dev-contrib

1 messages · Page 27 of 1

fallen patrol
#

hmmm

#

.src github

dusky shoreBOT
#
Command: github

Commands for finding information related to GitHub.

Source Code
patent pivot
stable mountainBOT
#
In [6]: import aiohttp
   ...: import os
   ...: async with aiohttp.ClientSession() as session:
   ...:   async with session.get("https://api.github.com/repos/python-discord/organisation", headers={"Authorization": f"Bearer {os.getenv("API_KEYS_GITHUB")}"}) as resp:
   ...:     print(await resp.json())
   ...: 
{'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/repos#get-a-repository', 'status': '404'}```
fallen patrol
#

(its fetched by sir-lancebot)

#

unless they share an env

patent pivot
#

(it uses the same token)

fallen patrol
#

(huh)

#

that's odd

#

cause bot isn't using that token lol when it makes requests

#

ah well

stable mountainBOT
#

bot/constants.py lines 265 to 273

class _Tokens(EnvConfig, env_prefix="tokens_"):
    giphy: SecretStr = ""
    youtube: SecretStr = ""
    tmdb: SecretStr = ""
    nasa: SecretStr = ""
    igdb_client_id: SecretStr = ""
    igdb_client_secret: SecretStr = ""
    github: SecretStr = ""
    unsplash: SecretStr = ""```
patent pivot
#

branding manager

fallen patrol
#

ah

#

not always then

stable mountainBOT
#

bot/exts/backend/branding/_repository.py lines 19 to 21

# A GitHub token is not necessary. However, unauthorized requests are limited to 60 per hour.
if Keys.github:
    HEADERS["Authorization"] = f"token {Keys.github}"```
stable mountainBOT
#

bot/exts/info/code_snippets.py line 111

headers=GITHUB_HEADERS,```
`bot/exts/info/code_snippets.py` line 30
```py
GITHUB_HEADERS = {"Accept": "application/vnd.github.v3.raw"}```
fallen patrol
#

hey joe can i add a pr to add this

patent pivot
#

does it need that

fallen patrol
#

see above:

#

# A GitHub token is not necessary. However, unauthorized requests are limited to 60 per hour.

#

get flashbanged by a comment lmao

patent pivot
#

yea i mean can add

#

we've never hit it

#

and probably never will

fallen patrol
#

I think I hit it once

patent pivot
#

the idea is that even if users get us ratelimited with code snippets the token for branding is unaffected

#

we'd rather cut users off after 60 requests and have branding remain fine than have something go terribly wrong and fuck the branding github PAT

fallen patrol
#

for a user to hit the limit they would need to send about 5000 requests

#

and given its the same token..... well lance already uses the token to fetch issues and pulls

#

Users can hit that limit by sending 2500 pull request references, even if they don't exist

patent pivot
#

yea

fallen patrol
#

but its 5000 in an hour

patent pivot
#

i am just going to commit to main

#

it's not worth a PR

fallen patrol
#

i already made the branch

#

bot#3436

dusky shoreBOT
stable mountainBOT
#

bot/exts/info/code_snippets.py line 30

GITHUB_HEADERS = {"Accept": "application/vnd.github.v3.raw"}```
fallen patrol
#

hell yeah it works

patent pivot
#

hmmm

#

new sentry issue

fallen patrol
#

that was unrelated lol

#

main/bot/exts/evergreen/githubinfo.py
Vulnerable, bot fails on .github user gvanrossum/followers.

#

.github user gvanrossum/followers

patent pivot
#

ah yea

fallen patrol
patent pivot
#

not logged in

#

it just came to dev-alerts

#

TypeError: list indices must be integers or slices, not str

fallen patrol
#

same bug as said to have fixed

#

this just reminded me i accidently yeeted the github user command out of my bot lol

fallen patrol
#

shit

fallen patrol
patent pivot
#

nothing that time

fallen patrol
#

-# how about now

#

oh

#

this is a regex bug

#

that should have caused a sentry event

fallen patrol
#

@patent pivot app emojis are so dope

#

automatic syncing from octicons is now added to my bot lmao

#

(we should add this to pydis bots too)

#

app emojis means that when I made this change in logic it was simply a redeploy of the bot, where app emojis were then automatically synched upon boot, and then loaded the new emojis into the constants configuration variables (which isn't the greated, but eh)

made it backwards compatible with a global configuration object by using setattr on the pydantic settings object, after getting the new emoji from syncing, including making a minimal number of requests by caching state.

That is all to say: no more needing to sync app emojis in a server, no more needing staff to upload a new emoji, no more needing to keep the old one around for a minute while updating:

and for pydis staff: no more needing to update your local copy if the emoji in the test server is removed and replaced with a new emoji

#

This emoji is the wrong size (issue open) and rather than fix it with a single new upload and ID replacement + redeploy..... I would rather implement app emojis into pydis core

but to do that we need a unified configuration system where the bot can provide configuration to pydis core. Which we can do but it should have a unified object

#

so pydis core can sync app emojis by providing an object to the bot class upon instantiation etcetra etcetra

#

will figure this out when I have time later but yeah app emojis are really cool

fallen patrol
# fallen patrol

-# this was literally just a redeploy of the bot and it updated all of those emojis for me

patent pivot
#

as soon as we have emojis that are being used on multiple bots we may as well go back to emoji servers

#

app emojis is only useful when only one app is using them, else it's a bit crap

#

unless they added team emojis yet

patent pivot
#

because the sync is slow, each app using identical emotes now has a unique ID for it, and it just makes more sense to store things once that store them twice, all the apps can still have the syncing, for us it just makes more sense for that to be to an emoji server

fallen patrol
#

I never store an ID in git

patent pivot
#

right, we currently do though and I'm trying to be careful before we commit to some big revamp of the config system

#

I don't know that I agree with something as major as you're proposing, we want to make both the implementation and usage easier, not make the implementation more complex to make the usage easier

fallen patrol
#

was gonna say its not slow but 13 emojis is 4 seconds to sync when they don't exist

and 2.6 seconds to sync when they do exist

#

sadge

fallen patrol
#

at minimum we could change the existing implementation to use PartialEmojis rather than mentions which would already improve internal usage

#

I use PartialEmoji's for definitions of the name's of the emojsi but upgrade them to full Emoji objects during sync

patent pivot
#

@blissful olive was the issue you opened discussed anywhere in the server?

fallen patrol
fallen patrol
celest charm
#

Questions like "what month is it" are too hard to understand for hacktoberfest spammers

#

I've seen a lot of random issues on popular repos though

#

python/cpython#123456

dusky shoreBOT
celest charm
#

^someone spammed multiple issues just to get to issue #123456

blissful olive
fallen patrol
#

python/cpython#123456 what colour did you all use for this emote?

dusky shoreBOT
patent pivot
#

hmm

fallen patrol
#
  • how did you determine that colour
#

it looks better than the github default

#

.colour hex 0x59636E

dusky shoreBOT
#
I can't believe you've done this

Your input was invalid: Cannot convert #0x59636E to a recognizable Hex format. Hex values must be hexadecimal and take the form #RRGGBB or #RGB.

Usage:```
.colour hex <hex_code>

fallen patrol
#

.colour hex 59636E

dusky shoreBOT
#
59636E

Colour information for Hex 59636E.

RGB

(89, 99, 110)

HSV

(211, 19, 43)

HSL

(211, 11, 39)

CMYK

(19, 10, 0, 57)

Hex

#59636E

Name

No match found

fallen patrol
#

that's the github default for skip

patent pivot
#

.colour hex 878e97

dusky shoreBOT
#
878e97

Colour information for Hex 878e97.

RGB

(135, 142, 151)

HSV

(214, 11, 59)

HSL

(214, 7, 56)

CMYK

(11, 6, 0, 41)

Hex

#878E97

Name

No match found

patent pivot
#

hmm no it's not that

#

i don't know if we have the original assets anywhere actually

#

i don't see why we'd have changed the default from what is provided in octicons

#

ah octicons isn't coloured though is it

fallen patrol
#

nope

#

Had to read the octicons primer documentation for which colour goes to wich emote

patent pivot
#

hmmm

#

.color rgb 132 141 151

dusky shoreBOT
#
(132, 141, 151)

Color information for RGB (132, 141, 151).

RGB

(132, 141, 151)

HSV

(212, 13, 59)

HSL

(212, 8, 55)

CMYK

(13, 7, 0, 41)

Hex

#848D97

Name

No match found

fallen patrol
patent pivot
#

yea

#

there are multiple emoji servers

fallen patrol
#

oh?

patent pivot
fallen patrol
#

and uhm

#

remind me why this is easier than app emojis even if duplicated on bots?

patent pivot
#

because it could be condensed down to 1

#

a lot of the emotes date back to times where we used text logs and didn't use embeds etc.

#

a lot of the emotes we don't need / use anymore

fallen patrol
#

ah

patent pivot
#

emoji server 1: banuserbbmessagebluehashbulkdeletecrownbluecrowngreencrownreddefcondisableddefconeditdefconenableddefconuserdenieddeniedegg_blurpleredhashquestionmarkofftopicrenamemodlogmessagemessagefilteredmessageeditmessagedeletehiphopifiedguild_updategreenhashegg_whiteegg_goldegg_diamondremind_blueremind_greenremind_redsettingupdatedstatus_dndstatus_idlestatus_offlinestatus_onlinetokenremovedunhiphopifyunwatchuserupdateuseruserjoinwikipageupdatedwikipagemovedwikipagedeletewikipagecreatedwatchuseruserverifieduserunverifieduserunmuteuserunbanusermuteuserleave

emoji server 2: IsssueClosedIssueClosedIssueDraftIssueOpenPRClosedPRDraftPRMergedPROpenbookmarkredbotbug_hunter_lvl1bug_hunter_lvl2commentsincident_unactionedincident_investigatingincident_actionedhypesquad_eventshypesquad_brilliancehypesquad_braveryhypesquad_balancefailmailfailed_fileempty_squareempty_placeholderearly_supporterdiscord_stafflemon_in_a_boxo_squarepartnerreddit_commentsreddit_logoreddit_post_photoreddit_post_textreddit_post_videoreddit_upvotesreddit_userssuperstarifytrashcanunsuperstarifyyoutube_viewsyoutube_likeyoutubex_squarevoice_state_redvoice_state_greenvoice_state_blueverified_bot_devverified_botuserupvotes

emoji server 3: IssueNotPlannedactive_developerbot_http_interactionsdiscord_certified_moderatorteam_dictteam_listteam_tuple

#

& half of those are just used as URLs instead of actual emotes

fallen patrol
#

:failmail: 👌 applied timeout to @patent pivot until <t:1762295178:F> (10 minutes) (reason: emoji spam - sent too many emojis).

The Moderators have been alerted for review.

#

oh hey now I can point out the inconcistency

#

the issue open emoji needs to be remade with 16 rather than 24

#

and issue closed (red) can be deleted: its no longer used

patent pivot
#

we use 35 actual emotes on bot by the looks of it

#

rest is basically discord-as-a-cdn

fallen patrol
#

hilarious

patent pivot
#

which we may as well rsync onto pydis.wtf or something

tiny sinew
#

What API does @dusky shore use for rendering latex?

patent pivot
#

oh

#

what

#

i thought we forked that

#

oh wait

#

it's under owl corp

fallen patrol
#

what's owl-corps relation to pydis

patent pivot
#

it's the reason you haven't noticed anything

vale ibex
#

and you can't get us to say otherwise

outer oasis
#

Joe I think it’s time to say you’ve got too many emojis
The duplicates are getting out of control

fallen patrol
#

lmao are you in the emoji servers

tiny sinew
patent pivot
outer oasis
patent pivot
#

they got moved from emoji server -> here because moderators started needing to react to things with them

fallen patrol
#

they don't need to be in there though

outer oasis
#

Oh it’s actually not all the emoji servers

patent pivot
#

nomination votes get closed out by a moderator reacting with incident_actioned

patent pivot
outer oasis
#

Yea

fallen patrol
#

lol

outer oasis
#

Had to send them to see them on mobile

fallen patrol
#

you only need two of those

patent pivot
#

we need 1 of those

fallen patrol
#

no you need two

patent pivot
#

well i suppose test server needs one

fallen patrol
#

here and test server

#

yes

outer oasis
#

Oh no I can press and hold

fallen patrol
#

also wait is @stable mountain in the test server

patent pivot
#

but i added my bots to emoji servers

#

so

outer oasis
fallen patrol
patent pivot
#

considered it but would never make sense to let people add their bots there

#

would just add hassle

fallen patrol
#

also joe I hope you noticed that I made botstrap work for the official test server

patent pivot
#

the emoji bootstrapping was something that people wanted to solve a long time ago

fallen patrol
#

yeah it wasn't even hard 😭

#

that was a ten minute idea

patent pivot
#

yea

fallen patrol
#

webhook bootstrapping also exists now

vale ibex
tiny sinew
#

LMAO

#

(*the 0.0001% accounts for numbers we haven't checked yet)

fallen patrol
patent pivot
#

💪

toxic wren
fallen patrol
#

Strange

#

It seems to have been locked

#

Unless that was a mod but not closed

#

Rather, archived

#

User doesn't seem to have been banned @mortal bluff

#

Nothing unique in either payload

#
{
  "flags": 0,
  "guild_id": "267624335836053506",
  "id": "1435218641326182564",
  "last_message_id": "1435218964916600912",
  "last_pin_timestamp": "2025-11-04T10:46:29.493000+00:00",
  "member_count": 2,
  "member_ids_preview": [
    "409107086526644234",
    "328539281964400641"
  ],
  "message_count": 4,
  "name": "Totap beginner",
  "owner_id": "1415617306654019687",
  "parent_id": "1035199133436354600",
  "permissions": "704656061090880",
  "rate_limit_per_user": 0,
  "thread_metadata": {
    "archive_timestamp": "2025-11-04T10:46:29.165000+00:00",
    "archived": false,
    "auto_archive_duration": 60,
    "create_timestamp": "2025-11-04T10:46:29.165000+00:00",
    "locked": true
  },
  "total_message_sent": 4,
  "type": 11
}```
```json
{
  "avatar": null,
  "banner": null,
  "collectibles": null,
  "communication_disabled_until": null,
  "display_name_styles": null,
  "flags": 10,
  "joined_at": "2025-11-04T10:40:04.363000+00:00",
  "nick": null,
  "pending": false,
  "permissions": "704656057945152",
  "premium_since": null,
  "roles": [
    "463658397560995840",
    "1074780483776417964",
    "897568414044938310"
  ],
  "unusual_dm_activity_until": null,
  "user": {
    "avatar": "14bb561944ba982caa2ac722dd71124a",
    "avatar_decoration_data": null,
    "clan": null,
    "collectibles": null,
    "discriminator": "0",
    "display_name_styles": null,
    "global_name": "BLISSXVX",
    "id": "1415617306654019687",
    "primary_guild": null,
    "public_flags": 0,
    "username": "bliss_xvx"
  }
}```
toxic wren
vale ibex
fallen patrol
#

....the archive timestamp is not none and matches the creation timestamp which is weird

patent pivot
toxic wren
fallen patrol
#

And it's the third or so time this week they've seen it so I'm looking at seeing if there's a possible fix

#

Ah you manually closed it now

patent pivot
fallen patrol
vale ibex
#

tor + mulvad requirement

fallen patrol
#

Do mods ever ock a help thread and unlock it again?

#

Is that possible

vale ibex
#

possible yeah, unlikely though

#

audit log shows nothing for that thread, not even a lcok

fallen patrol
#

I suppose the solution here is check on startup if any unarchived threads need to be closed

vale ibex
#

ah

#

user did it themselves

fallen patrol
#

How the hell

toxic wren
#

wait what, how

vale ibex
#

users have permissions to edit their own threads

#

otherwise they wouldn't be able to close/rename it nativly

toxic wren
fallen patrol
fallen patrol
toxic wren
fallen patrol
#

Older mobile clients can also lock threads

#

So it's not indicative of a self bot either

patent pivot
#

probably a Discord API error

toxic wren
patent pivot
#

nah

toxic wren
patent pivot
#

reddit killed their API

toxic wren
#

they why does that channel even exist

#

like its been almost a year

vale ibex
#

historic significance

patent pivot
#

once i got a load of upvotes and want everyone to know that forever

toxic wren
fallen patrol
outer oasis
patent pivot
fallen patrol
#

Will dm

toxic wren
#

WTH is the docs

outer oasis
toxic wren
fallen patrol
#

Actually not sure if I can trust you to not report it lmao

toxic wren
outer oasis
fallen patrol
#

It's a really stupid workaround but it works lmao

#

Not sharing it here so it doesn't get patched

toxic wren
toxic wren
fallen patrol
patent pivot
#

not reachable from linode

#

will try tomorrow and see if it's transient

vale ibex
#

I'll contact support

fallen patrol
patent pivot
#

!doc refreshdoc

stable mountainBOT
#
Inventories refreshed
+ litestar
patent pivot
#

there we go

#

cool

#

!d litestar.app.Litestar

stable mountainBOT
#

class litestar.app.Litestar```
Bases: [`Router`](https://docs.litestar.dev/latest/reference/router.html#litestar.router.Router)

The Litestar application.

`Litestar` is the root level of the app - it has the base path of `/` and all root level Controllers, Routers and Route Handlers should be registered on it.
fallen patrol
#

I will give a full review tomorrow when I have time

#

been busy with schoolwork and python/sphinx/pytest prs today

patent pivot
#

shamazing

fallen patrol
#

It's hilarious

#

Most of my prs to big projects are documentation fixes

#

I have 4 PRs to black and all 4 of them are a couple line changes

#

My first python PR? A single line change

#

-# but I'm solving real issues

trim cradle
#

@celest charm why do you want to switch the bot license from MIT to GNU?

celest charm
#

GPL is a viral license. In other words, if you want to use a library that's licensed under the GPL, your program must also be distributed under the GPL

#

(and the library you linked is GPL'd)

patent pivot
#

where is this discussion spawned from?

trim cradle
patent pivot
#

ahh

#

yeah -- we can't use that library on bot

trim cradle
#

can you explain?

patent pivot
#

what fix said

celest charm
#

we are scared of the GPL, it's too powerful

patent pivot
#

we cannot use that license on bot because it is licensed under MIT

#

it would be fine if bot was licensed under GPL and we used a MIT library

#

it doesn't work the other way around

trim cradle
#

I see. and why did we pick MIT?

patent pivot
#

MIT is the standard license to use when you want open-source but don't want it to be annoying for people to use your software

#

we wanted open source, not viral open source

#

we also likely cannot easily relicense the bot

#

we don't have our contributors sign a CLA which is generally the way you handle relicensing on projects with multiple contributors

#

so we either have to contact every contributor to bot and get their approval (and those who decline we have to remove their contributed features/rewrite it ourselves) or we can't do it

#

so the short answer is: we cannot use that library

celest charm
trim cradle
#

Got it. Thanks for explaining.

patent pivot
#

you could fork the bot, change the license but you'd have to include the original MIT license anyway

#

the condition of the MIT license is that the license is shipped with any derivative software work (which is why we have a third party licenses file on bot)

celest charm
#

Yeah, it'd be a derivative work from the previous MIT version

patent pivot
#

yeah, which you probably can relicense but until you have reached a point where you're no longer a deriative work it'd have to include the original MIT disclaimer

#

the GPL explicitly prohibits relicensing to more permissive licenses

celest charm
patent pivot
#

because then all further contribution will be adopted under GPL licensing and the usage of the new library would also come under that

#

you just say "contributions prior to commit XXYYZZ were licensed under the MIT license found at LICENSE-OLD.txt or something"

celest charm
#

e.g. if the next version of discord.py is licensed under the GPL (more likely AGPL?), it'd be a different story

patent pivot
#

more likely LGPL for libraries

#

AGPL is more for services, it has the provisions that if you interact with an AGPL service over the network that source code be made available for it (with modifications)

#

this obviously all becomes null and void when you have contributors agree to a CLA

celest charm
#

Maybe Rapptz wants more monies and so will offer a dual license with AGPL

toxic wren
#

What library is this for?

#

and what is it?

fallen patrol
patent pivot
rapid swallow
patent pivot
#

i'm being censored by the deep state

rapid swallow
#

nah dude you fell off, deep state doesn't care about you anymore

patent pivot
patent pivot
#

yea progably because i technically opened the PR

fallen patrol
#

Actually you couldn't port code to big brother at all

celest charm
fallen patrol
#

So what's the library you were talking about using in bot lol

patent pivot
#

but also bot -> pydis_core is rare and only wehn we are moving utilities over

fallen patrol
#

looks at botstrap

patent pivot
#

and if they aren't it just gets rewritten in the migration

#

it's asking contribs for the whole project that becomes infeasible

fallen patrol
#

yeah

patent pivot
#

most of our utils are written in-house

fallen patrol
#

i plan to migrate botstrap to pydis_core

#

actually i partially wanna make it its own library lol

#

(discord api testing moment)

patent pivot
#

yea i'm not opposed to the idea but needs to be fully specified as an issue somewhere beforehand

#

because it's probably almost at the scope of needing a feature branch / a milestone

fallen patrol
#

yeah

#

the current pull is pretty nearly done i just haven't had time to do the fixes

#

i got sidetracked with wanting to fix tens of projects documentation

#

working on a four+ year old sphinx bug

#

hopefully will fix a broken thing for pip, black, pytest-cov, and more

patent pivot
#

maybe we should add a CLA

#

i swear we had a discussion about that at one point but can't find it now

toxic wren
#

so what package is it?

patent pivot
#

an owl corp alternative will be available shortly

toxic wren
#

I can't believe I just read the entire #changelog channel

patent pivot
#

changelog isn't even the oldest place where we dumped server updates

fallen patrol
#

Hey Joe wanna put the love fest and AOC changes in #changelog ?

patent pivot
#

nah i think it's fine

#

same reason we didn't for the other stuff

#

it gets naturally surfaced

#

changelog doesn't need to be a record of every parameter inside server settings we've changed otherwise it's just noise

#

people can already look at #roles, use !subscribe or now use the native functionality

#

we didn't changelog the changes to add roles to onboarding and that role is now astronomically larger

#

!role Announcements

stable mountainBOT
#
Announcements info
ID

463658397560995840

Colour (RGB)

#000000

Colour (HSV)

0.00 0.00 0

Member count

19531

Position

43

Permission code

6442450944

patent pivot
#

yea

#

announcements is older

toxic wren
#

time to look at announcements then

#

What was the server first called when you created it?

patent pivot
#

python

#

fairly sure anyway

toxic wren
#

lemon?

patent pivot
#

nah

#

me and a few friends

#

lemon joined a few months after it was created

#

i didn't know lemon prior to pydis

toxic wren
#

Another question, if you don't mind. Why do you not have the Founders role?

patent pivot
#

wanted the devops icon

toxic wren
#

oh lol

patent pivot
#

could add it back someday

#

don't really need it though

toxic wren
#

I kinda wish this was still there, though I know why it was removed

patent pivot
#

there is probably a world backup somewhere

toxic wren
#

like approx

patent pivot
#

concurrently probably peaked at like 10-15 people

toxic wren
#

Is the mod OSS somewhere?

fallen patrol
patent pivot
#

lol

#

there was a mindustry server for a while

#

trying to think if we had anything else

toxic wren
#

Reopening the server for like a week or 2 every year would be a fun event

#

I mean with 400k+ people We can get atleast 1k peak

patent pivot
#

lol

#

doubtful

toxic wren
#

why?

patent pivot
#

we do not have 400k active users

#

looking at the communicator figures we do have a decent amount of retention long term, because a lot of people come back over the span of years asking questions here, but they are not active inbetween that

#

so we have a large communicator total figure but a much lower active communicator figure looking at the metrics i collect

toxic wren
#

Still, would be fun though.

patent pivot
#

ya would be fun

toxic wren
patent pivot
#

uhh

#

bring up in meta if you would like

#

although

#

we have plans for the immediate future

#

so is probably a longer term idea

#

so not sure bringing it up in discord is the best thing

toxic wren
toxic wren
patent pivot
#

events

patent pivot
#

i guess meta repo on github

#

is a place

toxic wren
#

its only 12 days this year

patent pivot
#

yeah

#

aoc is part of the plans

#

there is a chris and joe special

#

alongside that

toxic wren
patent pivot
#

well that'd be spoiling it

#

huh i killed the agents portal

#

nice

toxic wren
#

and why hasnt chris spawned yet

patent pivot
#

he's on a pilgrimage right now to switzerland

patent pivot
#

man

#

now i need to upgrade the debian distro to fix this i think

fallen patrol
#

Also I just came back from the depression and I have like 5 major projects due in the next month so botstrap is gonna take a backseat

#

I'll try to get it done before aoc ends though

fallen patrol
toxic wren
#

I just found out you can host a minecraft server via Discord(who uses someone else for hosting) You can add mods, etc. And I think it costs boosts. This is still in Beta btw

toxic wren
toxic wren
#

wrong server

#

sorry

toxic wren
#

lets gooo.

#

tshirt is ordered

toxic wren
#

other games too

fallen patrol
patent pivot
#

probably needs DevOps as well

fallen patrol
#

well now it just needs any staff member one review

#

why is every repo different

#

that one does support locking

fallen patrol
#

report: markdown parsing

#

!d asyncio

stable mountainBOT
#

...

celest charm
#

Python is shocked at your request

thorny obsidian
#

@fallen patrol Had to time to sit down and create all the relevant issues for the 12-day AoC. Assigned you to the ones where you indicated you wanted to implement it. LMK if you want any other issues.

If anything comes up with them, feel free to ping me here. I have pretty much all my GH notifications turned off.

fallen patrol
#

neat

thorny obsidian
#

Also as long you fulfill the intent behind the issues, then you have pretty wide latitude to implement behavior that you think would be best; I trust your opinions.

fallen patrol
#

okay!

#

will go for it

fallen patrol
#

fixing sir-robin#107 before i commit to fixing 25 to 12 days

fallen patrol
#

@thorny obsidian how do i get that AOC_RAW_LEADERBOARD session value?

#

i rember something about dev tools

thorny obsidian
fallen patrol
#

huh, that explains why its not working how I'm currently doing it

#

...unless the reason for that session ID is that view key expires

thorny obsidian
#

where does the view key come from?

thorny obsidian
#

Ah, I'd need to go collect them from all the LB owners

fallen patrol
#

it doesn't seem to be fully documented either

thorny obsidian
#

Yeah, that's definitely a new feature

fallen patrol
#

this is also new:

There are different ordering methods available:

[Local Score], which awards more points for earlier stars from each part of each puzzle. For N users, the first user to get each star gets N points, the second gets N-1, and the last gets 1. If you add or remove users, the points will be recalculated, and the order can change. This is the default.
[Global Score], which uses scores from the global leaderboard. Ties are broken by the user's local score.
[Stars], which uses the number of stars the user has. Ties are broken by the time the most recent star was acquired. This used to be the default.
thorny obsidian
#

Yeah. Mine is pulled now and then I use my other AoC account to produce the fallback about halfway through so its seamless the entireway through

fallen patrol
#

also, would you please do me a favour and join the leaderboard with code 1063434-a304d92e so I have two users?

#

huh, that's wild

#

oh, was cached, we're good

thorny obsidian
#

I'll start the process of getting each LB owners to get the readonly link. We can switch over to that as the primary method and if that doesn't exist then go with the session ID as the fallback.

If you want you can create a new issue, otherwise I can do it later. It's not critical for the 12-day milestone but does seem to be nice if we can remove one more thing off my yearly prep todo-list.

fallen patrol
#

I probably won't rewrite that at the moment, snce 25 and 12 is important

thorny obsidian
stable mountainBOT
#
No problem.

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

fallen patrol
#

will implement all of 25 -> 12 in one swoop ignoring revival of code for this deadline

thorny obsidian
#

Oh yeah, revival of code is so low priority dw about that

fallen patrol
#

i didn't even notice it this year 🥲

thorny obsidian
#

-# It's because it didn't happen this year >_>

fallen patrol
#

do you want to order by stars or by time?

#

that api order was changed since last year as part of sir-robin#107 i might as well keep consistent

fallen patrol
#

....and i ran with fakeredis

fallen patrol
#

wow... I see why the global leaderboard was removed

stable mountainBOT
fallen patrol
#

ok i think i fixed the leaderboard in 107 which familarized me with the code to do the 25 -> 12 conversion

fallen patrol
#

🤔 I don't see a year implementation on daystar

#

it might be possible to just make it 12 instead having to support history 25

#

&help aoc daystar

humble leafBOT
#
Wrong Channel

You are not allowed to use that command here. Please use the #aoc-bot-commands, #sir-lancebot-playground, #bot-commands channel(s) instead.

fallen patrol
#

these checks are really something ><

thorny obsidian
fallen patrol
#

yeah... found some other things though so I'm sidetracked

#

where should i report a pydis security bug

#

put together a patch already

cold island
#

dm modmail. If it's not a huge "can take over the server" thing you can probably just pr it

fallen patrol
#

yeah check modmail

cold island
#

well I can't anymore, so I'll let someone else 😛

fallen patrol
#

ah i see

fallen patrol
#

!remind 1H check

stable mountainBOT
#
Yep.

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

fallen patrol
#

Okay, saw that its been patched in roles

#

Requesting reviews from devops and staff members sir-robin#163

dusky shoreBOT
fallen patrol
#

er devops to sir-robin#162

fallen patrol
fallen patrol
#

@thorny obsidian For aoc, what's the category look like? I can't remember if there's an aoc announcements channel, and advent_of_code is the discussion channel

#

I think its

  • aoc discussion
  • aoc commands
  • aoc forum channel (to be created)
#

oh heck

fallen patrol
#

lmao

#

technically this is accurate /s

#

okay, thoughts on this?

#

in the end i figured when making the leaderboard changes it made sense to add the faq embed

#

also wording changes in the about embed

#

...probably need to change about and faq

thorny obsidian
fallen patrol
#

had a global leaderboard reference

#

but noticed that the above faq is basically just different questions than what's on the about

fallen patrol
#

oh, we used #1047673173447020564 last few years, pog that'll make automatic implementation a lot easier

#

working on the rest of the new changes first though

thorny obsidian
fallen patrol
fallen patrol
#

as for now... ping because github silenced: @thorny obsidian
sir-robin#164
sir-robin#165
sir-robin#166

fallen patrol
#

that should be all of the ones you created today

#

oh and sir-robin#161

patent pivot
#

hello

#

i went to bed at 9pm and turned my notifications off until now

#

catching up with everything

#

wtf sir robin is still using a hard-coded policy lol

patent pivot
#

great things coming to pydis_core team

fallen patrol
#

@patent pivot does core have an escape markdown method

#

Or an escape for codeblock method

patent pivot
#

probably not

fallen patrol
#

Pain

#

It should 😭

fallen patrol
#

Can we add...?

fallen patrol
patent pivot
#

well

#

hmm

#

don't all our other reacts tie into seasonal bot functionality

fallen patrol
#

Not really not always?

#

Most of the seasonal locks were removed

#

.monster

patent pivot
#

yea but there is normally a season

fallen patrol
#

Oh in branding and in changelog

patent pivot
#

yeah

fallen patrol
#

Ic

patent pivot
#

basically if we add that we should be proper and add a season as well with branding

fallen patrol
#

Ah

patent pivot
fallen patrol
#

I mean it's kind of annoying for dev lmao

#

I ran it on more than one time before the cog had loaded lmao

#

Side bar, updated leaderboard command:

If you provide a user who's not present then it does continue to error because that's an effective way of seeing if the user is in the leaderboard

If you don't provide a user but your linked user isn't in the message it provides a notice. I may actually catch this message being shown in memory to not send it every single embed. Eg if the user runs the command again it won't show up then either

#

This is sir-robin#166

fallen patrol
#

Also I kind of want to refactor date/time locks on lance and Robin into bot core, doing a different thing from month locks.

We can keep the month locks but instead we have yearless date objects which we set a before and after. If it changes each year there can be an API implementation

It's somewhat frustrating to develop for a time that isn't current because overrides have to be set on a lot of the get time methods so it would be great to implement it in a way that the bot can have a "start time" set in dev which sets all datetime objects to begin from that time. Would also make midnight debugs easier

fallen patrol
#

Also I start a lot of messages with also

fallen patrol
patent pivot
#

we should do a lot of things with custom context tbh

fallen patrol
#

Real

#

I really want messages to use buttons for delete

#

I know it's sort of big but the UI is a lot better especially for mobile users

#

Plus the implementation should be easier to do

#

Send button, process in listener

#

One callback. One listener, many buttons

patent pivot
#

finally

toxic wren
#

How does the Pygame-ce server still have their reddit channel working?

patent pivot
#

there are ways to make it work

#

if someone wants to contribute one that is not an abuse of the API i don't mind merging it

#

the problem is that most of them are abuses/workarounds of the API

toxic wren
#

Maybe @lucid orbit knows?

fallen patrol
patent pivot
#

it's a workaround

#

and (as far as I'm aware) is not officially documented/supported

toxic wren
outer oasis
#

@patent pivot why are you pinning the minimum uv version?
Just curious if there’s a specific problem you’re solving or if you’re jus being proactive

toxic wren
patent pivot
#

0.9 brings python 3.14 support, 0.9.7 is just the latest

patent pivot
#

we didn't store a copy anywhere

patent pivot
outer oasis
#

“Compatibility date”

#

Oh yeah

#

Like

stable mountainBOT
#

report-uri/wrangler.toml line 3

compatibility_date = "2023-09-04"```
toxic wren
patent pivot
#

yea maybe

toxic wren
#

Nothing? Chris said it's a webhook

patent pivot
#

yeah

#

it is a webhook

patent pivot
#

it's run by lancebot

fallen patrol
patent pivot
patent pivot
#

adding an upper bound would be stupid

#

we just need to be sensible about keeping the lower bound updated

fallen patrol
patent pivot
#

poetry was the right choice until uv came around

#

still is the right choice for some uses

fallen patrol
#

Sort of

#

I wouldn't ever use poetry for a library

#

The enforced infectious upper bound on Python version

patent pivot
#

what

#

there isn't an upper bound on python version

fallen patrol
#

For poetry it enforced it for a long while

patent pivot
#

look at the diff on my PR

fallen patrol
#

If you had any dependency that wouldn't lock with 4.0 you couldn't either

fallen patrol
#

Which is >=3.11,<4

#

Which is exactly what I'm talking about

patent pivot
#

which you don't need to have

#

the default is >=

#

go run poetry new and see what it generates

fallen patrol
#

Now it is. It didn't used to be that way

#

Not for a long while.

#
#

They finally added a workaround. Nice.

[project]
# ...
requires-python = ">=3.7"  # used for metadata when building the project

[tool.poetry.dependencies]
python = ">=3.7,<3.11"  # used for locking dependencies
patent pivot
#

for bot-core#306 are we not better just exposing a cog that users can add as opposed to adding it bot-side

dusky shoreBOT
patent pivot
#

we have the exts folder for this reason

fallen patrol
#

Oh I didn't notice that lmao

outer oasis
patent pivot
fallen patrol
#

Imo base error handling, source, internal eval, and ext reloading should be on core optionally

patent pivot
#

ext reloading yea

#

source yea

#

int eval we never really need/use/want on the other bots

#

int eval is a last resort on main bot and that's where it should end

#

ideally we don't use it

fallen patrol
#

We can add internal eval to bot core but leave it out of docker

#

Nice for dev use

patent pivot
#

only time it's used for actual server functionality is for raid management

fallen patrol
#

Very nice for dev use lmao

fallen patrol
#

Or something idk

#

I've been debating leaving the internal eval command out of my bot deployments

#

I'd just add the file to docker ignore and call it a day

#

It would improve security and even not have that code in the deployment which would be a second win too

#

Much lower risk of attack in that regard

#

But yeah a consistent development environment is what I want

#

Botstrap for all, eval, ext management, error handling, consistent checks. Unified UI....

#

Most of the error messages can be in core because so many bots use that error messages

#

Like positive_replies and so forth

patent pivot
#

ye

fallen patrol
#

A lot of the base colours can be in core cause so many bots use the colours....

#

I want to subclass config eg a base channel config in core and then extend it in any bot with additional channels it needs

#

Most of the bots need #dev-log, ot, python discussion, announcements, etc.

#

And if those values change.... They should never ever ever have to change. And if they did they would need an update to all of the bots anyhow.

#

Trashcan? From core. Etcetera etcetera

#

Provided it's subclassable this should work fine

patent pivot
#

the problem with source is it does smart things

#

and that's the reason we haven't unified it

fallen patrol
#

What do you mean

#

Which smart things

patent pivot
#

!source or-gotcha

stable mountainBOT
#
Tag: or-gotcha
Source Code
patent pivot
#

the bot one supports tags

fallen patrol
#

Seems easy enough to implement.

patent pivot
#

they aren't the same command on all bots

#

yes but doesn't make sense to unify if they behave differently

#

lancebot won't have tags, etc.

#

it doesn't know what a tag is and we can't use get_cog("Tags") like we do on bot to implement this functionality

fallen patrol
# fallen patrol Seems easy enough to implement.

Public method on the source cog which gets additional source mechanisms, or handles unknown code.

From pydis_core import source cog

Class BotSource(source_cog):

...

def get source_entries(self. ) -> sourceentry:
Result = Super()....
If not result:
Do the tag thing

#

I'm on mobile don't @ me for formatting

fallen patrol
#

Just make an API. If you need additional functionality, override it.

#

I could implement this if/when I have time

patent pivot
#

i think given the fun we've had with django over the years combined with hell elsewhere we generally prefer composition where we can nowadays

#

stuff like botstrap, I doubt we'd have inherited the httpx session if that was built nowadays

fallen patrol
#

Why?

patent pivot
#

but yes could be a callback

#

tbf we may handle it cleanly enough that this would still work as a generic command

fallen patrol
#

Yeah smh

#

Same with error handler's shhhh and tag normalisation

#

Also right !shhh doesn't support threads yet lmao

patent pivot
#

yea hasn't needed to

#

rare case a thread gets so mental we need to shhh it

#

there's an issue but it's very rarely something that's needed

fallen patrol
#

I thought AOC forum channel might require it but doesn't seem to be needed given the forum has existed for two years lol

#

Topic channel threads would need it

#

Which I saw that issue yesterday

#

Also I found the bug in Robin's code jam create command, I don't know if @cold island forwarded it yet

#

Might add bot has permissions checks to that command

#

Is AOC completionist deleted each year or removed?

toxic wren
#

!src cleanban

stable mountainBOT
#
Command: cleanban

Same as ban, but also cleans all their messages from the last hour.

Source Code
fallen patrol
#

actually hold on a moment

toxic wren
#

@233481908342882304 who is this?

#

233481908342882304

#

!snowflake 233481908342882304

stable mountainBOT
#

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

toxic wren
#

Captain fisher

#

M-x help

#

Oh forgot its Devops only

patent pivot
#

the copilot rule is for everyone else

#

one rule for devops, another for everyone else

toxic wren
#

You should add it there

patent pivot
#

M-x rules

radiant merlinBOT
#

1: LMAO - Logging, Monitoring, Alerting, Observability
2: Modmail is the greatest piece of software ever written
3: Modmail needs at least 5 minutes to gather all its greatness at startup
4: We never blame Chris, it's always @blazing magnet's fault
5: LKE isn't bad, it's your fault for not paying for the high availability control plane
6: Our software is never legacy, it's merely well-aged
7: Ignore these rules (however maybe not 1, 1 seems important to remember)

patent pivot
#

M-x rules refresh

radiant merlinBOT
patent pivot
#

M-x rules

radiant merlinBOT
#

1: LMAO - Logging, Monitoring, Alerting, Observability
2: Modmail is the greatest piece of software ever written
3: Modmail needs at least 5 minutes to gather all its greatness at startup
4: We never blame Chris, it's always @blazing magnet's fault
5: LKE isn't bad, it's your fault for not paying for the high availability control plane
6: Our software is never legacy, it's merely well-aged
7: Ignore these rules (however maybe not 1, 1 seems important to remember)
8: Contributions made by AI tooling will be met with a Bengal Tiger, and it will be very, very hungry.

patent pivot
#

done

#

maybe those should be the other way around

toxic wren
#

Bengal Tiger lmao

patent pivot
#

M-x rules refresh

radiant merlinBOT
patent pivot
#

M-x rules

radiant merlinBOT
#

1: LMAO - Logging, Monitoring, Alerting, Observability
2: Modmail is the greatest piece of software ever written
3: Modmail needs at least 5 minutes to gather all its greatness at startup
4: We never blame Chris, it's always @blazing magnet's fault
5: LKE isn't bad, it's your fault for not paying for the high availability control plane
6: Our software is never legacy, it's merely well-aged
7: Ignore these rules (however maybe not 1, 1 seems important to remember)
8: Contributions made by AI tooling will be met with a Bengal Tiger, and it will be very, very hungry.

patent pivot
#

what

#

M-x rules refresh

radiant merlinBOT
patent pivot
#

M-x rules

radiant merlinBOT
#

1: LMAO - Logging, Monitoring, Alerting, Observability
2: Modmail is the greatest piece of software ever written
3: Modmail needs at least 5 minutes to gather all its greatness at startup
4: We never blame Chris, it's always @blazing magnet's fault
5: LKE isn't bad, it's your fault for not paying for the high availability control plane
6: Our software is never legacy, it's merely well-aged
7: Ignore these rules (however maybe not 1, 1 seems important to remember)
8: Contributions made by AI tooling will be met with a Bengal Tiger, and it will be very, very hungry.

patent pivot
#

what !

toxic wren
#

Ask copliot

patent pivot
#

M-x deploy restart bot bots

radiant merlinBOT
#

:white_check_mark: Restarted deployment bot in namespace bots.

patent pivot
#

M-x rules

fallen patrol
radiant merlinBOT
#

1: LMAO - Logging, Monitoring, Alerting, Observability
2: Modmail is the greatest piece of software ever written
3: Modmail needs at least 5 minutes to gather all its greatness at startup
4: We never blame Chris, it's always @blazing magnet's fault
5: LKE isn't bad, it's your fault for not paying for the high availability control plane
6: Our software is never legacy, it's merely well-aged
7: Ignore these rules (however maybe not 1, 1 seems important to remember)
8: Contributions made by AI tooling will be met with a Bengal Tiger, and it will be very, very hungry.

patent pivot
#

i give up

#

oh yeah

#

wrong bot

#

M-x deploy restart king-arthur bots

radiant merlinBOT
#

:white_check_mark: Restarted deployment king-arthur in namespace bots.

fallen patrol
#

lmfao

#

nice one

#

m-x source

#

damn

#

when source command

toxic wren
patent pivot
#

king arthur will never have any useful public facing commands

#

M-x ed

#

what !

#

M-x ed

#

what !

radiant merlinBOT
#

?

#

?

patent pivot
#

oh

#

there we go

#

M-x rules

radiant merlinBOT
#

1: LMAO - Logging, Monitoring, Alerting, Observability
2: Modmail is the greatest piece of software ever written
3: Modmail needs at least 5 minutes to gather all its greatness at startup
4: We never blame Chris, it's always @blazing magnet's fault
5: LKE isn't bad, it's your fault for not paying for the high availability control plane
6: Our software is never legacy, it's merely well-aged
7: Ignore these rules (however maybe not 1, 1 seems important to remember)
8: Contributions made by AI tooling will be met with a Bengal Tiger, and it will be very, very hungry.

patent pivot
#

what the fuck

#

M-x rules refresh

radiant merlinBOT
patent pivot
#

M-x rules

radiant merlinBOT
#

1: LMAO - Logging, Monitoring, Alerting, Observability
2: Modmail is the greatest piece of software ever written
3: Modmail needs at least 5 minutes to gather all its greatness at startup
4: We never blame Chris, it's always @blazing magnet's fault
5: LKE isn't bad, it's your fault for not paying for the high availability control plane
6: Our software is never legacy, it's merely well-aged
7: Ignore these rules (however maybe not 1, 1 seems important to remember)
8: Contributions made by AI tooling will be met with a Bengal Tiger, and it will be very, very hungry.

toxic wren
#

lmfao

patent pivot
#

alright

#

well

#

cool

#

probably a github cache

toxic wren
#

Captain Fisher got pinged so much lol

patent pivot
#

it's in an embed

#

hmm

toxic wren
#

so, does not ping?

#

What's pydis bill per month

patent pivot
#

no idea

#

like $120 in linode or something i think

#

hmmm lol

#

!int e ```py
import importlib

print(importlib.metadata.metadata("pydis_core"))

stable mountainBOT
#
In [4]: import importlib
   ...: print(importlib.metadata.metadata("pydis_core"))
   ...: 
Out[4]: 
  File "/bot/bot/exts/utils/internal.py", line 181, in _eval
    res = await func()
 ...
        "an embedded header: {!r}".format(value))
email.errors.HeaderParseError: header value appears to contain an embedded header: '# bot-core ![Version]\n[Version]: https://img.shields.io/github/v/tag/python-discord/bot-core?label=latest&logo=version'```
toxic wren
patent pivot
#

lol

#

another problem with supporting commands from pydis_core

#

!int e ```py
print(type(self.bot.get_command("src")))

stable mountainBOT
#
In [9]: print(type(self.bot.get_command("src")))
<class 'pydis_core.utils._monkey_patches._Command'>```
fallen patrol
#

ah. because of that

patent pivot
#

looking at .module will probably fix it though

#

though that's a string

#

so i guess the only thing we can do there is startswith("pydis_core") but i don't love it

#

oh actually .callback will be fine

#

it's only the command object we patch

fallen patrol
#

ye

lucid orbit
supple moon
#

Uh

#

Well we use Make.com for it at the moment and some json editing for proper embeds

toxic wren
patent pivot
supple moon
#

I admit I didn't go super deep on internals, just make.com Reddit nodes, one bot account in the subreddit that is used to poll new posts and that was it

#

Right now we're also only naively polling for new posts, which works for r/pygame's activity levels, not sure about how that'd be on r/python

#

Without a bot account it's also possible to poll http://www.reddit.com/r/subreddit/new.json?sort=new periodically as well

fallen patrol
patent pivot
#

i don't actually remember what was wrong with our last implementation

fallen patrol
#

no merge conflicts wtf thanks joe

patent pivot
#

!int e ```py
import base64

print(base64.b64decode("RmFsc2U="))

stable mountainBOT
#
In [53]: import base64
    ...: print(base64.b64decode("RmFsc2U="))
    ...: 
b'False'```
patent pivot
#

hmm

#

let's enable it and see what's up

#

!int e ```py
import base64

print(base64.b64encode("True"))

stable mountainBOT
#
In [54]: import base64
    ...: print(base64.b64encode("True"))
    ...: 
Out[54]: 
  File "/bot/bot/exts/utils/internal.py", line 181, in _eval
    res = await func()
          ^^^^^^^^^^^^
  File "<string>", line 7, in func
  File "/usr/local/lib/python3.13/base64.py", line 58, in b64encode
    encoded = binascii.b2a_base64(s, newline=False)
TypeError: a bytes-like object is required, not 'str'```
patent pivot
#

!!!!

#

!int e ```py
import base64

print(base64.b64encode(b"True"))

stable mountainBOT
#
In [55]: import base64
    ...: print(base64.b64encode(b"True"))
    ...: 
b'VHJ1ZQ=='```
patent pivot
#

i am an unstoppable force and chris is an immovable object

#

huh

#

the nasa rovers thing is fucked

#

cool

fallen patrol
#

!remind 2D ???

stable mountainBOT
#
Yep.

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

fallen patrol
patent pivot
#

this has always beena. bug

#

we probably use the wrong restart policy

fallen patrol
#

ohhh two instances running

patent pivot
fallen patrol
#

whereas every reboot for my bot has 30 seconds of downtime

patent pivot
#

yea we could do proper healthchecks

#

i think we just use the natural overlap and it mostly lines up about right

#

.mars

#

.space mars

dusky shoreBOT
#

Invalid rover curiosity.
Rovers: ``

patent pivot
#

yea

#

lol

#

.space epic

dusky shoreBOT
#
Earth Image

This image was taken by NASA's EPIC camera onboard the NOAA DSCOVR spacecraft

patent pivot
#

cool

#

looks like a great image

#

.space apod

#

cool

#

.space apod

#

.space epic

dusky shoreBOT
#
Earth Image

This image was taken by NASA's EPIC camera onboard the NOAA DSCOVR spacecraft

patent pivot
#

sweet so this entire cog is fucked

#

nice

toxic wren
#

The images look so cool!

patent pivot
#

time to disable

toxic wren
patent pivot
#

me and 400k bengal tigers who are very hungry depend on users using AI to contribute to pydis projects every day

#

had dnd on

fallen patrol
#

I expect nasa to work again once the usa government works

patent pivot
#

yeah

#

no deadline that we can set for now then

#

lol

#

⚠ Service Outage Notice: This API is currently experiencing an unscheduled outage. We are working to resolve the issue as quickly as possible. We apologize for any inconvenience.

fallen patrol
#

where is that

patent pivot
#

the api website

#

lo

#

l

fallen patrol
#

aaaaaaaaaa you gave me a great idea for my bot

#

thanks joe

#

healthchecks for APIs I use which are implemented into command checks

#

graceful disablement of commands if the api is down

patent pivot
#

hmm

#

sounds like a good way to lock users out when an api experiences a transient error

fallen patrol
#

well not if a healthcheck is properly implemented

#

lol

patent pivot
#

but don't you always want to retry

fallen patrol
#

sort of?

patent pivot
#

and presumably that'd stop stuff showing up in !help

fallen patrol
#

depends on how its implemented

#

&help

#

&aoc

humble leafBOT
#
Command Help

**```
&adventofcode

**Can also use:** `aoc`

*All of the Advent of Code commands.*

**Subcommands:**
**`adventofcode countdown`**
*Return time left until next day*
fallen patrol
#

ah well so it does have an enabled command here

#

interesting

patent pivot
#

hmmm

fallen patrol
#

would have to implement it into the help command but yeah I'll probably do it for my bot regardless

patent pivot
#

vendoring rediscache is going to be fun

fallen patrol
#

why not just reimplement it, get rid of the global state

patent pivot
#

global state?

#

does everyone hate devops

fallen patrol
#

you did that yourself

patent pivot
#

yeah

fallen patrol
patent pivot
#

fixed

#

fredrick repo seems to get new dependabot problems literally everyday

#

mental

fallen patrol
#

trying to remember if i forgot anything for botstrap

#

nope!

patent pivot
#

ya just needs a second reviewer now

#

.quote daily

dusky shoreBOT
#
Daily Quote

The Law of Concentration states that whatever you dwell upon grows. The more you think about something, the more it becomes part of your reality.
— Brian Tracy

-# Powered by zenquotes.io

patent pivot
#

@blissful olive partywizard

fallen patrol
patent pivot
#

hmm

#

yeah you know what

#

new day new me

fallen patrol
#

times joe has force merged and broken a bot cause of me: 3

patent pivot
#

is it

#

i'm normally pretty good at not breaking bot thorugh other peoples changes

#

it's normally mine

#

i broke snekbox recently

fallen patrol
#

idk i just don't have high hopes after breaking black's ci for a moment

#

:)

#

this was the last two hours

patent pivot
#

yea works locally deleting my env file and works for partial updates

#

i'm satisfied

fallen patrol
#

did you test in the main test server

#

I intentionally added support for that server

#

hence the webhook name matching

#

no more hitting the 15 webhook limit per channel :D

#

oh

#

wait a moment

#

joe wait a moment

outer oasis
#

🤨

fallen patrol
#

i might have actually broken it

patent pivot
#

why

fallen patrol
#

i can't remember if bot owned webhooks can have the token read by anyone but the bot whom created it

#

current implementation would mean non-executable webhooks get selected

patent pivot
#

hmmm

#

yea i can't see the URL from discord client

#

but as long as the bot creates them that's fine right?

fallen patrol
#

yeah but the bot might be able to

#

well in the test server its multiple bots owning webhooks

#

this now matches to the one webhook, but it might not be readable

#

i can't test right now currently breaking i mean fixing black

patent pivot
#

lol

#

i will leave for now in that case

fallen patrol
patent pivot
#

what a stupid feature that users can't see the tokens of webhooks created by bots

patent pivot
#

i own the guild lol, the webhooks being hidden is just a pain in the ass

#

it's not like it offers any actual security

#

oh brilliant i can't use this webhook but i have access to the panel so i'll just make one myself and use that instead

#

enshittification at it's finest

#

it's not like they've even made webhooks created by apps visually different to users

#

if they'd at least done that maybe i'd understand

#

something in the modal to say "oh this webhook is owned and executed by ...!!"

fallen patrol
#

now I'll move that method to a second function

#

:)

#

when I have a chance*

patent pivot
#

at the very least it should be an option on the webhook creation payload

fallen patrol
#

oh that's actually an easy fix for the wrapper

#

just need to check if token exists

#

was thinking I had to check the application owner and match it to self but no, its just dumb fuck check if there's a token

patent pivot
#

yea

fallen patrol
#

but like spell emojis correctly or don't

outer oasis
fallen patrol
#

yes i was talking to myself

outer oasis
#

good lord that's a long list

#

I can use all of those on GitHub?

fallen patrol
#

yes

#

i need to figure out the mapping between github and discord though

#

they named 🤗 for example :hug: on github

#

AND THERE'S NO TWEMOJI MAPPING

patent pivot
#

discord are fortunately good API consumers and validate the HMAC

fallen patrol
#

oh right you tried to use an emoji in those triggers

#

the HMAC being?

patent pivot
#

i forgot bot owned hooks can do funky shit

#

interaction buttons etc

fallen patrol
#

which is components to the bot itself yeah

outer oasis
#

Danny actually helping someone?

patent pivot
#

stupid decision

fallen patrol
#

but pydis actually doesn't use those