#dev-log

1 messages ยท Page 14 of 1

regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: drop-redirect-url-refs
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot-core] New branch created: paste-servic-emultiple-files
#
After pasting your code, **save** it by clicking the Paste! button in the bottom left, or by pressing `CTRL + S`. After doing that, you will be navigated to the new paste's page. Copy the URL and post it here so others can see it.

"After pasting your code, paste it ..." reads a little strangely to me, I think "save" still makes a bit more sense here even though that's not what the button is called. I don't really mind though.

odd spireBOT
odd spireBOT
regal archBOT
#

0994d88 Use the new pydis_core send_to_paste_service fu... - ChrisLovering
01cbce4 Remove unneeded paste service constant - ChrisLovering
d961f5e Mock _lexers_supported_by_pastebin in test to e... - ChrisLovering
638c61e Bump bot-core to 9.9.2 - ChrisLovering
a0913e8 Update paste tag for new paste service - ChrisLovering

#
[python-discord/bot] branch deleted: use-bot-core-paste-service
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: allow-overwrite-of-paste-url
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#

Summary: The logo image for "Getting Started with Kivy" and "Kivy" resources on the Python Discord resources page is not displaying. The image source URL (https://raw.githubusercontent.com/kivy/kivy-website/master/logos/kivy-logo-black-256.png) returns a "404 not found" error when accessed directly.

Link: https://www.pythondiscord.com/resources/

Environment: win10, browsers: chrome, firefox, edge

Step to reproduse:
1. Navigate to the Python Discord re...

regal archBOT
#

Summary: The link to the "SoloLearn" resource on the Python Discord resources page is broken. When the link (https://www.sololearn.com/Course/Python/) is clicked, it redirects to a page on the SoloLearn website that displays "Oops, 404 Error!"

Link: https://www.pythondiscord.com/resources/

Environment: win10, browsers: chrome

Step to reproduse:
1. Navigate to the Python Discord resources page (https://www.pythondiscord.com/resources/).
...

regal archBOT
#

Summary: The "Panda3D" resource on the Python Discord resources page has two identical links leading to the same Discord server (https://discord.gg/9XsucTT). However, the icons used for these links are inconsistent. The first link uses an external link icon, while the second link uses a Discord icon.

Link: https://www.pythondiscord.com/resources/

Environment: win10, browser: firefox

Step to reproduse:

  1. Navigate to the Python Discord resources page (https://www.pythondiscord.com/...
regal archBOT
#

Summary: The "People, Postgres, Data" resource on the Python Discord resources page has two identical links leading to the same Discord server (https://discord.gg/Ujw8m8v). However, the icons used for these links are inconsistent. The first link uses an external link icon, while the second link uses a Discord icon.

Link: https://www.pythondiscord.com/resources/

Environment: win10, browser: firefox

Step to reproduse:

  1. Navigate to the Python Discord resources page (https://www.pytho...
#

Summary: The "Kivy" resource on the Python Discord resources page has two identical links leading to the same Discord server (https://discord.gg/djPtTRJ). However, the icons used for these links are inconsistent. The first link uses an external link icon, while the second link uses a Discord icon.

Link: https://www.pythondiscord.com/resources/

Environment: win10, browser: firefox

Step to reproduse:

  1. Navigate to the Python Discord resources page (https://www.pythondiscord.com/res...
regal archBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#

Summary: The main content section of the page contains an empty title.

URL: https://www.pythondiscord.com/pages/

Environment: win10, browser: firefox

Step to reproduse:

  1. Navigate to https://www.pythondiscord.com/pages/
  2. Inspect the HTML structure of the page (right-click > Inspect)
  3. Locate the tag within the element

Expected Result: The tag should contain relevant and descriptive text that provides a main heading for the page.The tag should contain relevant and de...

odd spireBOT
regal archBOT
#
[python-discord/bot-core] New branch created: botcore-settings
regal archBOT
#

Summary: The iframe element, which contains a YouTube video, in the Code Jams section of the Events page is wider than its parent div container. This causes the iframe to overflow, shifting it behind the Code Jams section.

URL: https://www.pythondiscord.com/events/

Step to reproduse:

  1. Navigate to https://www.pythondiscord.com/events/
  2. Scroll down to the Code Jams section.
  3. Observe the YouTube video iframe within this section.

Expected Result: The iframe should fit within...

regal archBOT
#

Disclaimer

This is more of an RFC regarding the approach than anything else. Continuing with it or using another solution will be determined later.

It is another step towards having one single reusable core component to our bots instead of duplicate definitions all across them.

Problem

Amongst others, LinePaginator is a class used by all of our bots, so bot-core should be its home.

The class has 2 main dependencies

  • The reaction check util
  • The pagination emojis.
    ...
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: use-bot-core-paginator
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot-core] New tag created: v9.10.0-alpha.1
#
[python-discord/bot-core] New tag created: v9.10.0-alpha.2
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
regal archBOT
#
[python-discord/site] New branch created: fix-broken-link-to-sololearn
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: fix-broken-image-links-for-kivy
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: fix-empty-h1-tag
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: fix-double-link-panda3d
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
#

Summary: In the "Contributing" section of the Python Discord website, the column, which contains a link to the GitHub repository "Site", is shorter in height than the other two columns. This results in an inconsistent visual layout.

URL: https://www.pythondiscord.com/pages/guides/pydis-guides/contributing/

Environment: windows 10, display resolution: 1024x768, browsers: Chrome, Firefox

Step to reproduse:

  1. Navigate to the "Contributing" page.
  2. Scroll down to the section with t...
regal archBOT
#

Summary: In the "Sub-Articles" section of the Contributing page, when the dropdown menu is expanded, some section names are cut off at the right edge of the page. This requires users to horizontally scroll the page to read them completely, which can lead to a poor user experience.

URL: https://www.pythondiscord.com/pages/guides/pydis-guides/contributing/

Environment: windows 10, display resolution: 1920ั…1080, browsers: Chrome, Firefox

Step to reproduse:

  1. Navigate to the "Contrib...
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#

Summary: The timeline entry titled "We're on the Teaching Python podcast!" on the Python Discord timeline page contains a broken link. The link, which is intended to direct users to a specific episode of the Teaching Python podcast, instead leads to a page that says "Site Not Found"

URL: https://www.pythondiscord.com/timeline/

Environment: windows 10, browsers: Chrome

Step to reproduse:

  1. Navigate to https://www.pythondiscord.com/timeline/
  2. Scroll down to the entry titled "We...
oak estuaryBOT
thin oysterBOT
#
Sir Robin

Connected!

night lilyBOT
#
Sir Lancebot

Connected!

oak estuaryBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#

Summary: The name "Python" is inconsistently capitalized in the descriptions of the tags "class", "mutable-default-args", "precedence", "relative-path", "repl", and "scope". In these tags, "Python" is written with a lowercase 'p' ("python"), which contradicts the standard convention of capitalizing the first letter of the language name. This inconsistency is not observed in the descriptions of other tags.

URL: https://www.pythondiscord.com/pages/tags/

Environment: windows 10, browsers: ...

odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: capitalism
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: move-commit-model-to-proper-module
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: fix-teachingpython-link
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
oak estuaryBOT
regal archBOT
#
[python-discord/site] New branch created: update-cryptography
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

thin oysterBOT
#
Sir Robin

Connected!

odd spireBOT
regal archBOT
#
[python-discord/forms-backend] New branch created: ChrisLovering-patch-1
#
[python-discord/forms-backend] branch deleted: ChrisLovering-patch-1
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: bump-to-pydis-core-10
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
#

b0ec506 Support sending multiple files to paste service... - ChrisLovering
e76052f Don't swallow exceptions in post_build - ChrisLovering
d48cb8b Add type hints to paste_service pydantic models - ChrisLovering
d087bec fixup: correct docstring wording in paste_service - ChrisLovering
b52f1ab Merge pull request #188 from python-discord/pas... - ChrisLovering

#
[python-discord/bot-core] branch deleted: paste-servic-emultiple-files
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: remove-unused-dependencies
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#

Actually, now that I think of it, not only is it going to remove that hassle. But also, when it comes to making the ErrorHandler Cog part of bot-core, it will remove alot of not so pretty instantiation that would've been necessary to load it.

I'm all in for removing it, a waste basket or a stop sign will do the same thing. We might want to stick with the waste basket though as it's the one that resembles what we have already the most. The stop sign implies that you can't interact with th...

odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: clean-pragma
odd spireBOT
regal archBOT
#

Local testing with httrack for broken links results in these errors being printed to the console:

Traceback (most recent call last):
  File "/home/jc/.cache/pypoetry/virtualenvs/site-_f36zgtP-py3.11/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/home/jc/.cache/pypoetry/virtualenvs/site-_f36zgtP-py3.11/lib/python3.11/site-packages/django/core/handlers/base.py", l...
#
[python-discord/site] New branch created: soft-fail-on-403-in-tags
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/bot] branch deleted: remove-unused-dependencies
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: properly-capitalize-python
odd spireBOT
oak estuaryBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] New branch created: reenable-reddit-cog
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
oak estuaryBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
regal archBOT
#
[python-discord/metricity] New branch created: bump-various-versions
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

It's probably a rare occurrence but it happened today (https://discord.com/channels/267624335836053506/1133167276401643630) where a user who had an open help thread got banned in a different channel. This left the people helping confused for a bit as to where the user went. It would be a nice feature if the bot would automatically close any open help thread (with a message indicating user has 'decided to pursue opportunities at other servers' or similar). That way the people helping don't hav...

#

That's a nice idea.

However, I feel that, like you said, it's quite the rare case to happen. (that they happen to have an open help thread).

The thing is that the threads are not necessarily cached, so we'll very probably end up with cache misses which Increases the number of API calls we'd need to make to fetch that thread for that owner.

If we consider having a lot of bans throughout the day, this will get us rate limited when we don't necessarily need to.

regal archBOT
#

We're thinking about removing the help cooldown role in the near future, so there is the potential that users could have multiple help posts open.

Open threads should be in the bot's cache, so something like this should do the trick.

help_forum = guild.get_channel(constants.Channels.python_help)
for post in help_forum.threads:
    if post.owner_id == banned_user.id:
        await help_channels._channel.help_post_closed(post)
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
oak estuaryBOT
regal archBOT
#
[python-discord/bot-core] New branch created: wait_until_bot_started
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
#
[python-discord/bot-core] branch deleted: wait_until_bot_started
odd spireBOT
regal archBOT
#

b8636d2 Bump pydantic to v2 and install pydantic-settings - ChrisLovering
4977141 breaking: Use new BaseSeetings class var to set... - ChrisLovering
79e9258 breaking: Ensure all pydantic-settings constant... - ChrisLovering
46bf3cc breaking: use new model_validator over deprecat... - ChrisLovering
46b2ed4 breaking: replace deprecated parse_obj_as with ... - ChrisLovering

#
[python-discord/bot] New branch created: pydantic-v2
#

All commits starting with breaking: are breaking changes from Pydantic and will be squashed into 1 commit before merging.

Other commits are kaizen style commits that I noticed while working on this PR.

This is in a draft state as I've ran into this issue which I don't have time to deal with right now.

pydantic.errors.PydanticSchemaGenerationError: Unable to generate pydantic-core schema for . Set `arbitrary_types_allowed=True` in the model_config to ignore this error or implemen...
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: swfarnsworth/warning-embed
#

Create separate message for warnings without duration, expiry, or "to appeal this infraction ..."

Since warnings involve no change in permissions, the DM that users receive said "Duration: Permanent \ Expires: Never", which some interpreted to mean that we hold a permanent grudge. This is not intended, so this commit creates a separate template that omits those fields. Some users also thought they could appeal a warning to have it removed from the record, but this is not the case, so this...

odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: soft-fail-on-403-in-tags
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
regal archBOT
oak estuaryBOT
regal archBOT
oak estuaryBOT
regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
#
[python-discord/bot] branch deleted: swfarnsworth/warning-embed
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: clean-pragma
regal archBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

Description

Add a .rfc command with an RFC ID parameter that would respond with some information regarding the relevant RFC.

Reasoning

This command would be useful in a situation where a relevant RFC would help contribute to the current conversation.

Proposed Implementation

A possible implementation of this would get the plaintext representation of the RFC, from https://www.rfc-editor.org/rfc/rfc{id}.txt, and some basic information about the RFC, such as the catego...

regal archBOT
regal archBOT
#
[python-discord/site] New branch created: update-timeline
#

After several months of procrastination, here is an unfinished draft of my updates to the Timeline. For staff members, there is a Notion doc called "Updating the Timeline (February 2023)" and an internal project channel which may be helpful while you review.

This is up to date up to March 2023. I'd imagine there have been some more timeline worthy events since then, I will need to write and include them in this PR. I will do that very soonโ„ข.

In...

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: bump-cryptography
regal archBOT
#

It would probably be unlikely in practice, but if the invite is not valid this will raise a BadArgument error which isn't handled. We could probably add a global error handler for interaction callbacks at some point, though i'm not sure exactly how that would work.

Probably fine to just catch the BadArgument here for now and tell the user it failed.

odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#

This sounds alright to me if you'd like to work on this.

I think the embed could be improved a bit from the example you posted, generally RFCs have an "abstract" section so it would be good if we could extract that section to include in the embed rather than just the start of the document which might not be that useful.

How would you plan on getting the metadata (e.g. authors, publish date, title)? Would you just parse them from the document? If so, is the format consistent enough for t...

regal archBOT
#

Why did CI fail? I don't know. My sister does not know. My brother does not know. My cat does not know. Not even my hamster knows, because I have overfed it and it exploded.

Actually, I know exactly. There is too much entropy. We have 4 + 2 + 5 + 1 = 12 CI checks and I have no idea what half of them are doing. What is "sentry-release" and why is it in my pull requests? I just want a big green check mark that says "Tests passed, 100% coverage". For deploy preview, I just want a goddamn Make...

regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
regal archBOT
#
[python-discord/site] New branch created: cj10-initial-update
odd spireBOT
regal archBOT
#
                <p>
                    Pillow is a fork of the Python Imaging Library (PIL). The Python Imaging Library adds image processing capabilities to your Python interpreter.

                    This library provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities.

also fwiw the empty lines don't cause line breaks in the resultant page. I assume a <br> would do that if wanted, thoug...

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: move-commit-model-to-proper-module
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

I think the embed could be improved a bit from the example you posted, generally RFCs have an "abstract" section so it would be good if we could extract that section to include in the embed rather than just the start of the document which might not be that useful.

Some RFCs, such as RFC-1, do not have an abstract section. A possible fix to this would be to check for the existence of the abstract section and send the first few lines of the RFC if it isn't found.

How would you plan on...

regal archBOT
regal archBOT
odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
#

Relevant Issues

#1342

Closes #1342

Description

Added a .rfc utility command by using the JSON interface for RFCs at https://datatracker.ietf.org/doc/rfc{id}/doc.json, where {id} is a placeholder for the RFC ID.

Did you:

  • [x] Join the Python Discord Community?
  • [x] Read all the comments in this template?
  • [x] Ensure there is an issue open, or link relevant discord discussions?
  • [x] Read and agree to the [contribut...
odd spireBOT
regal archBOT
regal archBOT
#

It would be better to cache the data of an RFC into a dict, so that people who make the same request again would hit the cache instead of sending out the request.

You could make a simple pydantic model if you'd like to give your needed data a better structure, but it's not necessary.

Should the cache just store everything until the bot restarts, or have a mechanism of "flushing" the queue?

odd spireBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
#
[python-discord/bot] New branch created: fail-ci-on-fixup-commits
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: cj10-initial-update
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/.github] New branch created: block-fixup-commits
#
[python-discord/bot] New branch created: fixup-commit-blocker-test
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

b156a95 Bump pydantic to v2 and install pydantic-settings - ChrisLovering
38ad2c4 Use new Pydantic v2 logic for constant loading - ChrisLovering
292fba7 Replace deprecated functions with new pydantic ... - ChrisLovering
505c377 Use a custom type coercion function as pydantic... - ChrisLovering
97fa616 Don't use a BaseSettings instance for constants... - ChrisLovering

odd spireBOT
regal archBOT
odd spireBOT
oak estuaryBOT
regal archBOT
#
[python-discord/bot] New branch created: use-ruff-isort
odd spireBOT
regal archBOT
#
[python-discord/.github] branch deleted: block-fixup-commits
regal archBOT
#
[python-discord/forms-backend] New branch created: unittests-feature
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: reuse-fixup-blocker-workflow
odd spireBOT
odd spireBOT