#dev-log

1 messages ยท Page 21 of 1

odd spireBOT
regal archBOT
#
[python-discord/bot-core] New branch created: bump-deps
regal archBOT
#
[python-discord/bot] New branch created: remove-helpcog-dm-features
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/sir-lancebot] New branch created: feat/issue-state-icon
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

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

Connected!

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: fix/footer-bulma-logo
regal archBOT
#

This is a great idea, and would be really useful for things like the contributing section as you mention.

I do think that the category pages changes would be out of scope for this. It's already a pretty big task, and there are potentially also other things to consider w.r.t category pages, since I think going More->content from the main page to get a jumbled list of things is another issue and could potentially do with a bigger rethink in how individual sub-sections are accessed.

regal archBOT
#

Part of the idea behind DMing authors when they open a help thread was to provide a way for them to look back on past threads they've opened, which is an issue that forum channels didn't really help with.

It's not vital since there are other ways of finding your threads (e.g. searching for pinned messages sent by you in the help forum channel), but since it's a fairly harmless feature and I don't think this use case was discussed I figured I'd mention it.

regal archBOT
#

Honestly, I don't understand the benefit of this error dispatching system. I feel like this introduces extra complexity and makes the logic much harder to follow and understand.

Before, following the logic was as simple as:

  1. on_command_error is called
  2. isinstance is used to dispatch the error to the necessary handling logic

Now, to follow the logic it's:

  1. on_command_error is called

  2. It gets self.bot.command_error_manager

    • ...which is set by `register_comm...
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: combine-command-error-messages
odd spireBOT
regal archBOT
#

The cog isn't considered ready yet, so won't handle events.

Looking at what this does, it will only make API requests if the channel isn't cached, or if a post needs to be closed, so it shouldn't take that long in total.

The channel was actually always fetched via an API requesat here, which meant this cog ook a while to load. I just changed that in this commit in this PR.

oak estuaryBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/metricity] New branch created: jb3/fix-stringed-ids
regal archBOT
odd spireBOT
regal archBOT
#

It should be alright in windows now.

On iOS, it's pretty misaligned vertically if I zoom in, but it's probably somewhat subtle otherwise. On android it's not perfect, but good enough (better than iOS).

Since this isn't such a major issue (I've made sure no part of the image is cut off on all platforms) we'll just make sure it looks good for the majority of our users for now, as lemon suggested in the linked discussion. Considering that this is web dev, I wonder if a cross-platform solut...

#
jb3
[python-discord/metricity] branch deleted: jb3/fix-stringed-ids
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: feat/reminder-add-notify
regal archBOT
regal archBOT
#

Closes #1327.

The bookmark command (Sir Lancebot) allows other people to click a button to receive a copy of a bookmark when someone bookmarks a message.

This PR adds a similar button for the !remind command, other people can click the button to add themselves to the mention list of the reminder. When the reminder arrives, they will be notified with a ping.

Demo

When the reminder is created, and someone clicks on the button:

When the reminder arrives, the person will be p...

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

While the solution presented in the PR above works (by not checking for isinstance of TagIdentifier entirely), I don't think it's very robust in the long run.

It looks like SourceConverter is always able to identify tags to be tags, so why not we use a util function that will return the source-converted object, as well as a enum value that represents the type of object the source-object is?

This skips checking for isinstance entirely, for all SourceTypes, and retains the existing ...

regal archBOT
#

c1a51db Always cancel scheduled help post closes if pre... - ChrisLovering
5140378 Check every 5 minutes for idle help channels - ChrisLovering
5845927 Always try to close help posts, even when closi... - ChrisLovering
0f0cf9b Attempt to fetch help post from cache before ma... - ChrisLovering

#
[python-discord/bot] branch deleted: Continually-check-for-posts-that-need-to-be-closed
odd spireBOT
oak estuaryBOT
regal archBOT
#

Part of the idea behind DMing authors when they open a help thread was to provide a way for them to look back on past threads they've opened, which is an issue that forum channels didn't really help with.

It's not vital since there are other ways of finding your threads (e.g. searching for pinned messages sent by you in the help forum channel), but since it's a fairly harmless feature and I don't think this use case was discussed I figured I'd mention it.

Quite a few people have b...

#

Quite a few people have been annoyed with the DMs from the bot from that feature specifically. I wdoner if we merge this PR, and add an issue to add it back in a form that can be opt-ed out of?

Yeah that sounds good, I guess we can see if people mention that they still find it useful once we've removed it and add it back as opt-out or opt-in if that is the case.

odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/bot] branch deleted: bug/2464/truncate-snekbox-blocked-exts
odd spireBOT
oak estuaryBOT
regal archBOT
#

The idea initially came to make the exception handling logic reusable for both prefix command & slash command errors.

For the context, we have some prefix/text commands that also have their slash version sibling, and these commands use the same logic/throw the same errors.

The question was (and I'd be interested to have your point of view), how do we reuse all the logic that existed in the error handling cog in case we have errors that came from these slash commands ?

Discord py dis...

odd spireBOT
oak estuaryBOT
regal archBOT
odd spireBOT
regal archBOT
#

f863875 Allow arbitrary strings when adding invite filters - mbaruh
854980d Add phishing detection and handling - mbaruh
157ac23 Don't handle discord invites as domains in phis... - mbaruh
fa4f233 Make the moderator the author of the compban fo... - mbaruh
d4d8e6d Merge branch 'main' into phishing_button - mbaruh

#
[python-discord/bot] branch deleted: phishing_button
oak estuaryBOT
regal archBOT
#

We removed this functionality in https://github.com/python-discord/bot/pull/2968. IF we were to add this back, we should offer users to opt-out of the DMs.

          Part of the idea behind DMing authors when they open a help thread was to provide a way for them to look back on past threads they've opened, which is an issue that forum channels didn't really help with.

It's not vital since there are other ways of finding your threads (e.g. searching for pinned messages sent by you in...

#
[python-discord/bot] branch deleted: remove-helpcog-dm-features
odd spireBOT
regal archBOT
odd spireBOT
oak estuaryBOT
regal archBOT
#

I think it was mentioned in the discussion after this was posted, but the reason we don't do this is that discord doesn't expose an andpoint that allows invalidating tokens.

The only way to do this (afaik) would be to upload tokens to GitHub and rely on GitHub's secret scanning to remove them, which has a few issues:

  • If GitHub doesn't remove them immediately uploading them to GitHub could make things worse.
  • It's a bit dodgy to upload peoples tokens to a 3rd part service.
  • It would ...
#
[python-discord/bot] New branch created: capture-cog-load-times
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

Discord seem to have fixed the bug that allowed user accounts to send embeds. Things that make me think this:

This makes the rich embed filter no longer necessary. It's had quite a few bugs (mostly relating to twitter) and gives some false positives, so it would be helpful to have it removed.

#

f9328d2 Capture cog load times using sentry performance... - ChrisLovering
5f2f10c Add sentry performance spans to news cog - ChrisLovering
6caeae9 Add sentry performance spans to subscribe cog - ChrisLovering
059fb00 Add sentry performance spans to thread bumper cog - ChrisLovering
726c16c Merge pull request #2976 from python-discord/ca... - wookie184

#
[python-discord/bot] branch deleted: capture-cog-load-times
oak estuaryBOT
regal archBOT
#
[python-discord/bot] New branch created: super-sentry-config
odd spireBOT
odd spireBOT
oak estuaryBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: init-sentry-after-event-loop-creation
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: init-sentry-after-event-loop-creation
oak estuaryBOT
regal archBOT
oak estuaryBOT
regal archBOT
#
[python-discord/bot] New branch created: vivek/fix-phishing-button
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
oak estuaryBOT
regal archBOT
#
[python-discord/site] New branch created: fix/safari-touch-toggle-dropdown
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

Hey @Anonymous4045, are you still planning to work on this?

I agree with wookie that allowing five topics simultaneously is a little too much, perhaps 3 could do. If a topic is approved in the repo, they should already be considered plausible topics. Keep in mind that people also like to reference the topic embed when replying to the topic. Having too many topics to choose from in that embed can lead to fragmented conversations, which one might say defeats part of the purpose of this `.top...

regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

Description

Add more trivia questions.

Using a format i can copy and paste into a python script to generate the json.

list[tuple[str, list[str], Optional[str]]] = [(question, [answer1, answer2], hint)]

Python

[
("What common operation does this function implement?\n```py\nmystery = lambda *args: map(lambda *x: x, *args)\n```", ["zip"], None),
("What common operation does this function implement?\n```py\ndef f(a):\n    b = []\n    for b[len(b):] in a:3\n    return ...
regal archBOT
#

The fixed questions all look good. Feel free to open a PR with them.

I like the regex idea, that would be cool. I think it would be good as it's own category. Feel free to open a (separate) PR with that if you want (you can also break the idea out into another issue if you think there are any details about behaviour/implementation to discuss first).

The graph idea also sounds cool, though I think it would require a bit more discussion first - I think it would be good to open a separate ...

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

Connected!

oak estuaryBOT
regal archBOT
regal archBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

Yes, I think I'll agree that applying this hierarchical layout for category pages will be out of scope for this issue for now. Although it would be great to see at a glance just what pages/guides we have when clicking on the "Content" navbar item, it can be pretty overwhelming and we could just have this issue apply to particular content pages that might benefit from this (or all pages?) such as the contributing guides.

regal archBOT
#

b72f457 Use proper logos and better positioning in the ... - hedyhli
3bf2e7e Merge branch 'main' into fix/footer-logo-filtering - hedyhli
b4bb7a0 Footer: Adjust baseline positioning to prioriti... - hedyhli
9ea7c1b Footer: Crop linode image to fit text and adjus... - hedyhli
88a0c2e Footer: Use text-only Bulma logo for automatic ... - hedyhli

#
[python-discord/site] branch deleted: fix/footer-logo-filtering
#

I do think that the less manual labor we have with updating the events page, the better. I think the repeated occurrences of the page becoming outdated only for some "batch update" much later to bring it back into the current year showcase the benefits of the API-based solution very well.
There is one more problem that I can think of. If we go the database-backed approach, then contributors who set up the site will not have the same events on the events page than the live site has. More, it ...

odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: feat/events-redesign
#
[python-discord/site] branch deleted: fix/safari-touch-toggle-dropdown
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: feat/timeline-css-rewrite
odd spireBOT
regal archBOT
#

More, it will become more complicated for them to update any entries of the events page locally.

Hmm, update the entries in what sense? This proposal intends to allow updates to the entry via bot commands, so contributors do not need to do anything in the repo. If those commands are mod/events-lead/admins-only, they can simply mention any changes required over on discord and someone with the perms who sees it can action it immediately.

There is one more problem that I can think of. ...

regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: support-test-keepdb
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: fix/tags-list-footer
odd spireBOT
regal archBOT
#

Description

Created from discussion in #1491.
Me:

A question I thought would be fun is generating a random directed graph and asking people to find the shortest path between two randomly selected nodes. Variations could be solving TSP, and so on. Would need to send images though, which would require some modifications to a lot of code.

@wookie184 :

The graph idea also sounds cool, though I think it would require a bit more discussion first - I think it would be good to open a ...

night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
oak estuaryBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

oak estuaryBOT
odd spireBOT
oak estuaryBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: allow-mute-edits
oak estuaryBOT
oak estuaryBOT
oak estuaryBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] branch deleted: python-3.12
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
#
[python-discord/bot] New branch created: bump-bot-core
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: bump-bot-core
oak estuaryBOT
regal archBOT
#
[python-discord/site] branch deleted: support-test-keepdb
odd spireBOT
regal archBOT
#
jb3
[python-discord/bot] New branch created: jb3/voice-gate-log-2922
#
jb3

This PR adds a new #voice-log type for passing and failing the voice gate.

image

The conditions used are the same that the user will receive in their failure message.

Icons are re-used from DEFCON, as they are pretty and apply to what the voice gate is! As a result though, the constant names are the same, do we care about this? Shall I add duplicate entries to the Icons constants area? I ...

odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
thin oysterBOT
#
Sir Robin

Connected!

regal archBOT
#
[python-discord/site] New branch created: fix-filterlists-endpoint-drf-3.15
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: fix-filterlists-endpoint-drf-3.15
#
[python-discord/site] New branch created: revert-1271-dependabot/pip/djangorestframework-3.15.1
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: add-test-case-drf-3.15-regression
#
[python-discord/site] New branch created: set-elidable-on-run-python-operations-in-migrations
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: jb3/voice-gate-log-2922
oak estuaryBOT
regal archBOT
#
[python-discord/sir-robin] New branch created: stuf
odd spireBOT
thin oysterBOT
#
Sir Robin

Connected!

regal archBOT
#
jb3
[python-discord/site] New branch created: jb3/github-webhook-no-status
#
jb3

When we received a bad request exception from Discord (which is not actually representative of an error here), we were propagating this back to GitHub.

Instead, we should always return a success request if we have been successful in the proxy attempt, and return the downstream status code as a part of the response body.

This prevents GitHub Webhook Bad Requests being logged to site logs.

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-robin] New branch created: games/uptime_command
odd spireBOT
regal archBOT
odd spireBOT
oak estuaryBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-robin] branch deleted: games/uptime_command
thin oysterBOT
#
Sir Robin

Connected!

odd spireBOT
thin oysterBOT
#
Sir Robin

Connected!

thin oysterBOT
#
Sir Robin

Connected!

odd spireBOT
regal archBOT
#
[python-discord/sir-robin] branch deleted: suppress-404-on-msg-delete
thin oysterBOT
#
Sir Robin

Connected!

regal archBOT
#
[python-discord/sir-robin] New branch created: pass-exc-value-for-sentry
odd spireBOT
regal archBOT
#

Beloved Chris!

Sadness overcame me when I noticed the neglect this pull request has received from the other DevOps team members.
My sadness only grew when I noticed the immense effort that went into authoring this PR from your side.

Chris, Sir Robin would be nowhere close to where it is today without your unforgiving, hard work. Python Discord would be nowhere close to where it is today without your unforgiving, hard work.

Please get in touch with Leon Sandรธy from the Department Of ...

odd spireBOT
regal archBOT
#
[python-discord/sir-robin] branch deleted: bump-versions
thin oysterBOT
#
Sir Robin

Connected!

regal archBOT
#
[python-discord/site] New branch created: update-contributing-python-versions
#
[python-discord/site] branch deleted: update-contributing-python-versions
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: allow-for-extra-channels-to-be-ignored-by-duck_pond
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
jb3
[site] Branch jb3/github-webhook-no-status was force-pushed to `229d8fb`
#
[python-discord/bot] branch deleted: allow-for-extra-channels-to-be-ignored-by-duck_pond
odd spireBOT
oak estuaryBOT
regal archBOT
#
jb3
[site] Branch jb3/github-webhook-no-status was force-pushed to `891df20`
odd spireBOT
oak estuaryBOT
regal archBOT
#
[python-discord/bot] New branch created: update-sync-cog
#
jb3
[python-discord/site] New branch created: jb3/api-user-display-name
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
jb3
[site] Branch jb3/github-webhook-no-status was force-pushed to `3d04acc`
#
jb3

5d01a07 Don't propagate the status received from Discor... - jb3
d0e9469 Update GitHub Filter endpoint tests for new res... - jb3
02787cd No need to remove headers in GitHub Filter Endp... - jb3
3d04acc Log failed webhook attempts to stderr in GitHub... - jb3
5d4e729 Merge pull request #1281 from python-discord/jb... - jb3

#
jb3
[python-discord/site] branch deleted: jb3/github-webhook-no-status
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: fix-test-warning
#

Fixes this warning

  D:\bot\tests\bot\test_constants.py:13: PytestCollectionWarning: cannot collect test class 'TestEnvConfig' because it has a __init__ constructor (from: tests/bot/test_constants.py)
    class TestEnvConfig(

Pytest tries to collect any class beginning with Test as a test.

I'd like to enable failing tests with warnings to catch things like this, but we'll need to wait for https://github.com/Rapptz/discord.py/issues/9477 first.

odd spireBOT
regal archBOT
#
[python-discord/king-arthur] New branch created: paginate-pod-logs
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/site] branch deleted: jb3/api-user-display-name
#
[python-discord/bot] branch deleted: update-sync-cog
oak estuaryBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: use-tasks-over-scheduler
odd spireBOT
odd spireBOT
oak estuaryBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
#
[python-discord/bot] branch deleted: fix-test-warning
odd spireBOT
oak estuaryBOT
regal archBOT
#
[python-discord/bot] New branch created: wookie184-show-warnings-in-actions-tests
#
jb3
[python-discord/bot] branch deleted: wookie184-show-warnings-in-actions-tests
odd spireBOT
oak estuaryBOT
regal archBOT
#
[python-discord/bot] New branch created: fix-warning-in-sync-tests
odd spireBOT
regal archBOT
#

Allowing a command in DMs needs to be done explicitly now, and we have not done that. Iโ€™ll be closing this issue.

We did kind of break minesweeper because it uses a command in DMs instead of just a message like battleship. We could either do what we do in battleship and have it listen to messages not commands, or we move it onto the server and delete the invocation to reduce spam. That can be tracked in a separate issue though.

_Originally posted by @HassanAbouelela in https://github.co...

regal archBOT
#

Description

This error is raised when running the reddit command with a custom subreddit, e.g. .reddit top r/python

2024-04-01 16:57:14 \| ERROR \| bot.exts.core.error_handler \| Unhandled command error: 0, message='Attempt to decode JSON with unexpected mimetype: text/html', url=URL('https://www.reddit.com/subreddits/search.json?q=r/python')

I've not investigated this further yet.

Would you like to implement a fix?

***Note: For high-priority or critical bug...

regal archBOT
#

Presently, when the homepage view is opened, it will sometimes fetch new repository metadata from GitHub and update this information in the database.
When data is newly fetched, this is pretty slow. The question is: Do we want to run it separately?

Benefits of running it separately:

  • the view will always run quickly (as long as the cronjob to refresh data runs)

Drawbacks of running it separately:

  • more components that can break, more things to monitor
  • might complicate dev se...
#
jb3
[python-discord/site] New branch created: jb3/filterlist-perf-improvements
odd spireBOT
regal archBOT
#
jb3
[python-discord/site] branch deleted: jb3/filterlist-perf-improvements
#
[python-discord/site] New branch created: upsert-tags-in-three-queries
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: return-bytes-io-from-http-errors
odd spireBOT
regal archBOT
#
jb3
[python-discord/site] branch deleted: return-bytes-io-from-http-errors
#
[python-discord/bot] New branch created: improve-infractions-tests
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/sir-robin] New branch created: games/uptime_command
#

@hedyhli thought people would stay engaged if the game makes it easier for teams to catch up, so this PR introduces inverse weighting for which team has the opportunity to score points, based on the current scoreboard.

This log output indicates that the algorithm is correct:

 scores = {'list': 0, 'dict': 0, 'tuple': 5}, weights = [0.1923076923076923, 0.1923076923076923, 0.0384615384615
38464]

That is, list and dict are both weighted as more likely to be selected, since they ha...

regal archBOT
#

One of the many original idea suggested for this - to bias the team assignment for higher competitiveness - i am convinced cannot be done fairly. This method, however, where the reactions are biased instead, i think works just fine. It should be self-correcting regardless of join behavior, and it also helps if a significant number of one team is not present (asleep, for example)

I could make a team-patriotic change request to swap the lists to tuples, though ๐Ÿคฃ

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-robin] branch deleted: games/uptime_command
thin oysterBOT
#
Sir Robin

Connected!

regal archBOT
#
[python-discord/sir-lancebot] New branch created: fix/trivia-help-text
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
#

Description

Trivia question 423 is "What is the name for unicode codepoints that do not fit into 16 bits?", with the supposedly correct answer being "surrogates". This is wrong.

At some point in the past what is now UTF-16 was occasionally called "Unicode", especially in the Windows and Java world. To encode codepoints outside the Basic Multilingual Plane UTF-16 uses surrogate characters, which are part of Unic...

regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#

I'm going to close this as it's been stale for a while and I don't think it's close to merging. Given my second comment:

Also, looking at https://github.com/facebook/react/issues/new/choose it seems the option to create a blank issue is pretty hidden away. If we want to add a template for this I think we'd have to add ones for normal usage too.

I think this would need to go along with https://github.com/python-discord/bot/issues/1599 so I'd consider this something that should be solve...

#
[python-discord/sir-lancebot] New branch created: L3viathan-fix-surrogate-question
odd spireBOT
regal archBOT
#
jb3
[python-discord/site] branch deleted: upsert-tags-in-three-queries
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: reply-to-eval
#

Closes #2402

Some small changes were required to the mock helpers to ensure the attributes of MockContext are consistent with each other.

If the original message is deleted, the response message will still be sent with a mention or reply. I could make it send a mention in this case, but since it's an edge case I don't think it really matters.

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

Connected!

regal archBOT
#
[python-discord/site] branch deleted: add-test-case-drf-3.15-regression
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: set-elidable-on-run-python-operations-in-migrations
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: docker-compose-to-docker-compose
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: docker-compose-to-docker-compose
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

The default value of a function is None. If a function can return, but has no explicit return value, then this annotation should be None.

NoReturn means it does not return i.e. control flow of the program is interrupted before it returns. I've only seen this used for functions that always throw an exception, like an abstract method that raises NotImplemented. Also, this was superceded (?) in 3.11 by Never.

regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: fix-warning-in-sync-tests
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/snekbox] New branch created: shenanigansd-patch-1
regal archBOT
#
[python-discord/snekbox] New branch created: update-eval-deps-script
#
[python-discord/snekbox] branch deleted: shenanigansd-patch-1
regal archBOT
regal archBOT
#

The edit_nomination_reason function can handle the case when the nominator doesn't already have a nomination. From that function:

        try:
            nomination = await self.api.edit_nomination_entry(nomination_id, actor_id=actor.id, reason=reason)
        except ResponseCodeError as e:
            match (e.status, e.response_json):
                case (400, {"actor": _}):
                    await ctx.send(f":x: {actor.mention} doesn't have an entry in this nomination.")
...
night lilyBOT
#
Sir Lancebot

Connected!

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

Connected!

regal archBOT
odd spireBOT
oak estuaryBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
odd spireBOT
oak estuaryBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/site] New branch created: feat/timeline-from-yaml
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: fix/source-command-for-tags
#

Closes #2022



TLDR

Invoking !source should now work even after the tags cog is reloaded.

Long description

Previously the source command checks for the source object's class after getting it from the SourceType converter. When the tags cog is reloaded, TagIdentifier is redefined. We were checking whether the old TagIdentifier class (the type() of an instance of the old TagIdentifier) equals the newly defined TagIdentifier class. This returns false ...

odd spireBOT
regal archBOT
#

One alternative approach that might be a bit hacky but would likely be the easiest to implement: we could start a background thread using threading that would do the updating after we've returned the response.
I would strongly favor not using a job queue such as Celery since I've had very bad experiences with it, and for this single use case it would feel kind of overblown. Additionally, implementing it would require a lot of additional monitoring, deployments, and introduce a lot more...

regal archBOT
regal archBOT
regal archBOT
#
[python-discord/bot] branch deleted: fix/tags-list-footer
oak estuaryBOT
regal archBOT
#
[python-discord/bot] branch deleted: improve-infractions-tests
oak estuaryBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT