@wookie184 Yes, actually. I guess I don't know what the point is. @HassanAbouelela ?
#dev-log
1 messages · Page 98 of 1
This PR was written before that one and opted not to do away with the checks. If we don't care about the check anymore, then this is redundant.
GitHub Actions run 2405065736 succeeded.
Yeah that seemed to do the trick, thanks! I removed some of the excessive words, so it should be a bit cleaner now.
GitHub Actions run 2405134342 succeeded.
[python-discord/bot-core] New branch created: upgrade\-docs
[python-discord/snekbox] New branch created: pip\-tools
Pipenv was limited to only "normal" and "dev" dependencies. pip-tools is more flexible, since each requirements file can be constrained by more than one other requirements file. This means CI can choose to only install coverage deps in the test job and linting deps in the lint job, but these dependencies will still be constrained by each other and by other requirements, so a developer will be able to install both sets simultaneously without conflicts.
Use a Makefile to make up for the loss...
I'm going to close this then. I don't see any benefit to checking the user if it can't reliably know whether they're in the guild.
This PR upgrades our docs in two aspects:
- Restores
release-based changelogs (ed4b2fb). They were originally removed due to not wanting to maintain a list of versions, but we ended up doing that anyways. This is nicer for users than the changelog.md file we are maintaining - Adds sphinx-multiversion (4c9cad2). This is the big one. I still need to get the CI working for it, but that should be much easier now. I'll probably have it only run on main when deploying to prod, so we can keep th...
When you book mark a command, the link to that message is sent to you in DM. The best UX is to allow users to delete the message directly from the same place.
The UX issue described below is related to the help command, rather than this command directly.
We have two options to fix that, We could allow the help command to be ran in DMs, which leads to the screenshot I posted about below, or we allow the bookmark delete command to also be ran in server, so at least users can get the help ...
a8d66ed Declare Releases As Parallel-Read Safe - HassanAbouelela
b3b7706 Pass Branch Name To Docs In CI - HassanAbouelela
f5c4f7b Pass Branch Name To Docs In CI - HassanAbouelela
Relevant Issues
Closes #1055
<!-- Link the issue by typing: "Closes #" (Closes #0 to close issue 0 for example). -->
Description
Until now I've done nothing much but made a little change and setup the bot. I plan on doing the following:
- Handle random page number such that it is always less than 500.
- Update log messages to include status code of the response and also handle the situation when response doesn't include
status_codeand/orstatus_message.
Did you:
...
GitHub Actions run 2405471628 succeeded.
I've finally got CI working, and the PR is almost ready. If you navigate to the build right now, you won't actually see anything because that depends on the main branch being built, but that won't be possible until this is merged. I'll try to get a demo working on a fork tomorrow or something, but for now you can see the current version here https://deploy-preview-79--bot-core.netlify.app/upgrade-docs/
IMO it's even more confusing if we allow it in DMs, since the Help command only shows the command directly, which makes users think they can run
&deletedirectly
Looked into that bug and it seems to be because specifying root_aliases causes bookmark delete to be registered as a command rather than subcommand, which causes it to be listed even though subcommands usually aren't, and this isn't done correctly (this isn't specific to DMs).
Tentative patch that seems to fix it:
Alright, I'll add it now.
Connected!
GitHub Actions run 2408151047 succeeded.
Tried it out on windows and all went smoothly, I like this!
Do we need the toml extra?
@Xithrius Sorry, I am unable to set up the project due to some issues. So I can't test it locally before committing. I will not be able to work on this.
Alright, i'll close this PR and set the original Issue as up for grabs again. If you're interested in trying to set up the project in the future feel free to join the discord server and we can help with any issues.
Not at the moment. However, I am debating whether to add a pyproject.toml in the future.
Makes sense, does no harm anyway.
[python-discord/snekbox] branch deleted: pip\-tools
679f72c Fix Entry In Changelog - HassanAbouelela
Alright, generated some demos on my fork. You can see the docs here:
- Main docs page after a few included builds: https://jazzy-taffy-529f6d.netlify.app/
- PR preview: https://6294f7b41ada950009f39848--jazzy-taffy-529f6d.netlify.app
Make sure to see the site_api docs to see the changed functions.
[python-discord/bot-core] New tag created: v7\.1\.2
[python-discord/bot-core] New tag created: v7\.1\.3
5a4883b Fix Bullet Points In Changelog - HassanAbouelela
[python-discord/bot-core] tag deleted: v7\.1\.2
[python-discord/bot-core] tag deleted: v7\.1\.3
[python-discord/bot-core] branch deleted: upgrade\-docs
GitHub Actions run 2411343510 succeeded.
Connected!
GitHub Actions run 2413695618 succeeded.
Hello, I feel like this was closed pre-maturely. @Xithrius could you put it back up for grabs? I still feel like this is a good first issue / beginner PR.
Connected!
According to this Notion page, the new !summer-aoc command would best fit this bot. The syntax would be like so:
!summer-aoc [start_day=1]
Or some variant of that. This is how it's going to work: start posting the next problems from year year every days days (tasks extension?), and optionally start from start_day in cas...
[python-discord/bot-core] New tag created: v7\.1\.1
Summary:
- Add a
pyproject.tomlusing setuptools as the PEP 517 build backend - Use setuptools's experimental PEP 621 support to define metadata in
pyproject.toml - Version the package using a CalVer variant which is derived from the current commit's date
- Use the version instead of the SHA to tag containers and the Sentry release
- Make Gunicorn and Sentry SDK optional dependencies (installed via extras)
The addition of versioning is progress towards #138. Originally I planned...
4c58f8b CI: fix container entrypoint when running tests - MarkKoz
Hello, I feel like this was closed pre-maturely. @Xithrius could you put it back up for grabs? I still feel like this is a good first issue / beginner PR.
Yes.
botcore.utils.unqualify's source links to here which is not the correct source for that function.
[python-discord/snekbox] New review comment on pull request #140: Add pyproject\.toml and versioning
This could be further filtered to speed up transfer time, but I doubt it is worth spending time on.
Seems to work as intended! I did find one typo.
[python-discord/snekbox] New review comment on pull request #140: Add pyproject\.toml and versioning
Small typo
# Use a separate directory to avoid importing the source over the installed pkg.
56aca25 Make intersex flag larger in pride GIF - wookie184
[python-discord/branding] New branch created: larger\-intersex\-flag
I think the GIF timing is right, although in some diffs it seems to play one slightly out of sync with the other.
GitHub Actions run 2422236563 succeeded.
[python-discord/branding] Pull request review submitted: #184 Make intersex flag larger in pride GIF
Looks very good to me, thanks for the PR!
[python-discord/branding] branch deleted: larger\-intersex\-flag
GitHub Actions run 2422256497 succeeded.
[python-discord/snekbox] New review comment on pull request #140: Add pyproject\.toml and versioning
I'm not familiar with the structure of the directory and what exactly I need. However, it's never even copied; it's just mounted.
Changed to only allowing leaving out the separator if the time is unambiguous, ie. 1224 and not 124.
[python-discord/snekbox] New branch created: bug/ci/version\-commit\-count
433a30a CI: print the version to help with debugging - MarkKoz
The commit count was off by 1 since the last newline was being stripped and thus not counted. In CI, the checkout action was not retrieving history, so the commit count was not able to get the right number of commits. I set it to fetch 100 commits, which should be more than reasonably safe; it would take over 100 commits on the release day to cause the version to be incorrect, and even then it's only really a problem if a second release happens on the same day.
will be using arrow.Arrow, so this is not relevant anymore
Everything looks good here
[python-discord/snekbox] branch deleted: bug/ci/version\-commit\-count
761836e CI: use version as release tag in Sentry action - MarkKoz
[python-discord/snekbox] New branch created: bug/ci/sentry\-release\-tag
[python-discord/snekbox] branch deleted: bug/ci/sentry\-release\-tag
[python-discord/snekbox] New branch created: feat/tests/wsgi\-app\-from\-cfg
Relying more on Gunicorn and its config parsing will avoid discrepancies between the test and production environments. This is in response to me forgetting to call the app class in the config, but remembering to do so in the test (26c729a4d99e3f65f000030e251a4678241c599b).
Also ignore a deprecation warning from Sentry SDK's Falcon integration.
GitHub Actions run 2425178085 succeeded.
GitHub Actions run 2425177139 succeeded.
GitHub Actions run 2425181387 succeeded.
Allow users to use a command like !challenge and it would send a python question (Basic or Advanced) and users can try and solve it, and they can test their solution. If thy get it correct, they get a point, and there can be a weekly/monthly leaderboard.
Allow users to use a command like !challenge and it would send a python question (Basic or Advanced) and users can try and solve it, and they can test their solution. If thy get it correct, they get a point, and there can be a weekly/monthly leaderboard.
Uhh I think there already is a command similar to what you proposed: https://github.com/python-discord/sir-lancebot/blob/main/bot/exts/utilities/challenges.py#L264-L336
You can provide it, but it would require hardcoding the class name to get the same behavior. In retrospect, that probably would've been better. I'll change it.
I'll also look into the mapping proxy.
@NeilShah2026 is that what you had in mind or was it something different? In any case, a leaderboard was suggested, and that does not seem to be implemented currently so it's open to discussion.
A leaderboard would be difficult to implement on Lance since it doesn't have persistence
(side note: I'm currently working on Sir Robin for an event, and will be implementing a leaderboard for that soon)
We could raise our own Exception subclass of BadArgument instead.
Hello!
I'm curios if there are any plans of continuing to work on this again?
0ed1b4a revert bump to markdownify version - Numerlor
df99fa8 clear keys from set expires after deleting them... - Numerlor
4cdaaf4 remove leftover task cancel - Numerlor
89527e1 Expire key cache values when redis key expires - Numerlor
ab7d4b6 expire internal cache according to redis' TTL i... - Numerlor
Pushed the MappingProxy and Explicit namespaces in 90c34292 and a383040c respectively.
GitHub Actions run 2434194253 succeeded.
Very cool, looks good, thanks Scale.
We should hold off on merging this until the same day as the bot side is merged though.
GitHub Actions run 2434237053 succeeded.
Merged main into the branch. Only new branding asset that needed handling was the eid_al_fitr banner. Everything else was merged with no conflicts.
Tested, everything looks good
[python-discord/snekbox] branch deleted: feat/tests/wsgi\-app\-from\-cfg
This is meant to be a proof of concept, and get the basic functionality working. There are a few things that could be improved upon (better error messages, use embeds instead of regular messages for info messages, better info messages, etc), and some features such as restricting the command to certain users/roles (admins/owners) have been left out for the time being, as I do not have enough information to code that up. However, that should be relatively easy. I welcome any and all suggestions...
Description
When one uses the .latex command with lancebot, the bot replies with a rendered image of the tex commands. The requested features are:
- when the original .latex message is edited, lancebot deletes its previous message with the rendered tex, and replies with the updated version
- lancebot's replies can be interacted with by using specific reactions. For example, if one reacts with an x emoji, the message with the rendered tex is deleted.
Reasoning
The texit bot offe...
6c93d12 Add Support For Multiple Banners - HassanAbouelela
4ed5d47 Migrate All Banners To Banner Directories - HassanAbouelela
345cbe0 Remove Support For Standalone Banner Assets - HassanAbouelela
e933b41 Merge branch 'main' into allow-more-banners - HassanAbouelela
87d8bf0 Merge pull request #179 from python-discord/all... - HassanAbouelela
[python-discord/branding] branch deleted: allow\-more\-banners
GitHub Actions run 2438850145 succeeded.
baa07e5 Add Support For Multiple Banners - HassanAbouelela
b6de183 Remove Explicit Support For Standalone Banners - HassanAbouelela
6cf922b Merge branch 'main' into multiple-banners - HassanAbouelela
b8b83de Merge branch 'main' into multiple-banners - HassanAbouelela
90c3429 Use MappingProxyType For Asset Map - HassanAbouelela
[python-discord/bot] branch deleted: multiple\-banners
Connected!
GitHub Actions run 2438865244 succeeded.
c666066 Docker: never pull image when using Docker Compose - MarkKoz
63e3478 CI: use GH's Ubuntu 22.04 runner instead of the... - MarkKoz
[python-discord/snekbox] branch deleted: black
I'm going to finish this up since there has not been a response for over a week. Seems almost done anyway.
Unfortunately I used the wrong command and ended up pushing my local main branch to doublevcodes/main, causing the diff to disappear and the PR to close. I can't push to that remote anymore since the PR is closed, and I have no way to reopen the PR. So I will have to just create a new PR unfortunately.
778903f chore: Remove allowed_strings in favour of Literal - doublevcodes
[python-discord/bot] New branch created: enhance/back/1929/allowed\-strings\-literal
This PR removes the allowed_strings converter because we can use typing.Literal as a converter to the same effect.
Original PR is #1929
[bot] Branch enhance/back/1929/allowed\-strings\-literal was force-pushed to `8e99c22`
[bot] Branch enhance/back/1929/allowed\-strings\-literal was force-pushed to `046219a`
GitHub Actions run 2440781159 succeeded.
GitHub Actions run 2440788845 succeeded.
Replacing the paragraph sign on the embed string, which was used previously, missed some other symbols that were used for permalinks, like the # here

The replace was previously done on the description too, but from a quick look I haven't found anything that'd use that in the description, may have been left over from when other definitions were also sent in the description. If it pops up somewhere the same filtering can be added to the description tags
GitHub Actions run 2441144690 succeeded.
Connected!
[python-discord/snekbox] New branch created: feat/nsjail/104/customise\-output\-limit
Resolves #104
The NsJail object can now take more arguments. These can be specified by modifying the WSGI app URI in the Gunicorn config. See the updated README.md for more info.
Also refactored some minor things and fixed a mistake in black's config.
[python-discord/snekbox] Pull request review submitted: #145 Make the output size limit customisable
Looks good; I have a few comments though.
On top of that, please edit this line as well in the README since the output size can now be configured:
The output returned by snekbox is truncated at around 1 MB.
Why was this removed? I don't think it relates to the other changes made here?
Should this really be shared across tests? I think this should be placed in def setUp(self): instead.
I don't think this linking worked correctly. I was not able to press NsJail and get linked to this file.
The instance is designed to be re-used but I suppose it is safer to isolate test dependencies. 308385c
Yes, it is unrelated. It's something that should've been removed a long time ago. I have been wanting to get rid of it for a few PRs now but none of them fit. Figured I'd just chuck it in at this point.
[snekbox] Branch feat/nsjail/104/customise\-output\-limit was force-pushed to `9541d08`
[snekbox] Branch feat/nsjail/104/customise\-output\-limit was force-pushed to `25dbf25`
GitHub Actions run 2457059140 succeeded.
That commit did not fix the issue about the linking I mentioned here, but it did fix what I specified in the actual review comment.
Connected!
GitHub Actions run 2457419911 succeeded.
cd921fb feat: Add the timeit command - ToxicKidz
3f04611 chore: Update tests to correspond with the time... - ToxicKidz
05fbc0a Add modpings schedule feature - Shivansh-007
a97f068 (modpings): Cancel the task before scheduling i... - Shivansh-007
547f883 (modpings): Use separate scheduler for modpings... - Shivansh-007
5da7bdf Unpin all messages when help channel goes dormant - dementati
043cc65 Merge branch 'main' into feature/1903/fix-pin-i... - dementati
2f9c96c Merge branch 'main' into feature/1903/fix-pin-i... - dementati
a9a9e7b Merge branch 'main' into feature/1903/fix-pin-i... - dementati
19e7bc3 HelpChannels: pass message directly to pin_wrapper - MarkKoz
[python-discord/bot] branch deleted: feature/1903/fix\-pin\-inconsistency
Connected!
GitHub Actions run 2457491215 succeeded.
Sorry, I made the change but forgot to copy it over to the file git was tracking.
[snekbox] Branch feat/nsjail/104/customise\-output\-limit was force-pushed to `c9bfff8`
5da7bdf Unpin all messages when help channel goes dormant - dementati
043cc65 Merge branch 'main' into feature/1903/fix-pin-i... - dementati
2f9c96c Merge branch 'main' into feature/1903/fix-pin-i... - dementati
a9a9e7b Merge branch 'main' into feature/1903/fix-pin-i... - dementati
baa07e5 Add Support For Multiple Banners - HassanAbouelela
[python-discord/bot] branch deleted: improve\-pastebin\-error\-handling
79af34f Add contents length validation to send_to_paste... - wookie184
ff1c10f Update functions using send_to_paste_service util - wookie184
e4ece6e Fix tests - wookie184
9eab2b3 Ensure error uses correct maximum size - wookie184
381dfc1 Raise ValueError if max_length greater than all... - wookie184
GitHub Actions run 2457617514 succeeded.
Connected!
GitHub Actions run 2457637769 succeeded.
5da7bdf Unpin all messages when help channel goes dormant - dementati
043cc65 Merge branch 'main' into feature/1903/fix-pin-i... - dementati
2f9c96c Merge branch 'main' into feature/1903/fix-pin-i... - dementati
a9a9e7b Merge branch 'main' into feature/1903/fix-pin-i... - dementati
79af34f Add contents length validation to send_to_paste... - wookie184
4af4f0a chore: Remove allowed_strings in favour of Literal - doublevcodes
[python-discord/bot] branch deleted: enhance/back/1929/allowed\-strings\-literal
GitHub Actions run 2459208920 succeeded.
Connected!
GitHub Actions run 2459225951 succeeded.
GitHub Actions run 2464910768 succeeded.
Connected!
GitHub Actions run 2466933634 succeeded.
GitHub Actions run 2475166330 succeeded.
Connected!
Connected!
Connected!
GitHub Actions run 2475733435 succeeded.
Let's discuss what should be ported over. Here is what I have thought of so far:
- Extension management
- Ping command
- Source command (maybe?)
- Help command
- Internal eval
- Including paste service utilities
- Base class for use with eval-like cogs (snekbox, internal eval, latex)
- Error handlers
- Logging utils
GitHub Actions run 2477520985 succeeded.
Didn't see this in the list of issues. This could be a good milestone to works towards. There are some nice linting features that can be provided for free via slash commands.
Quick update on this: I am still working on this, just haven't opened a PR yet - I don't think I'm ready to do that yet. I'm planning on getting it to a state where I will feel comfortable opening a PR sometime between now and the end of August. (Yes I know that's a large timeframe, but this turned out to be a lot harder than I initially thought but I like the challenge so I'm going to keep working on this for now.)
[python-discord/bot] New branch created: clean\_improv
- Fixed a bug where
clean betweendeleted the last message. Clarified in the appropriate command descriptions that the clean limits are exclusive. - Added a shortcut to a common use case of deleting all recent public messages of a user. Since the
purgealias was never used for the clean group I repurposed it for this new command.
GitHub Actions run 2480588971 succeeded.
I'd like to pick this up, but I think I'd make more sense in bot-core now
I suppose discord.py does not apply decorators to default values? Ideally it would use an actual default, because I believe that gets shown in the help info for the command. Can that still be used somehow?
Is this limit inclusive? It should be documented.
In certain situations, multiple users invoking the same command with static output is common, resulting in duplicate messages from the bot, for example linking the same doc page.
The bot currently handles a per channel cooldown on tags, but commands always run.
I propose adding a decorator that can be applied to static output commands (e.g. doc, rules etc.) which will cause a cooldown to be applied depending on the command arguments, or maybe some output method that returns equal object...
@Numerlor I've assigned you and transferred it to bot-core.
With age being an offset from the time the command was ran, I'm not sure how we could get this to work with a deco evaluated at startup.
154cd04 Clarify age is exclusive in purge docstring - mbaruh
Hmm yeah, I didn't consider it because it would only be relevant if someone took a message, deciphered its exact age from the ID, and used it with the expectation the message would be deleted. Added in 154cd04 for good measure.
GitHub Actions run 2484173969 succeeded.
Yeah I don't see a good way to do that. I used the same strategy for the default mute duration.
Hi, we're currently not interesting in having a workflow such as this on any of our repositories.
Please take a read of our contributing guidelines if you would like to contribute to this, or any of our other projects.
I am closing this PR as an issue was never created, and no discussion ever occurred with a core developer's approval.
I'm confused how this makes a difference. The messages are fetched using Messageable.history() with the same limits. For history(), those limits are already exclusive. I don't understand why predicate_range and predicate_after are even needed.
Because the search might go through the cache. If history is indeed exclusive then I guess this predicate could be dropped in those cases, but I don't mind another guarantee if it already exists.
predicate_after should also be exclusive then.
Hmm good point. It doesn't cause a bug because the iteration excludes the stopping point.
GitHub Actions run 2484415643 succeeded.
This argument can be None, so it should be annotated as such https://github.com/python-discord/bot/blob/0bbcde6af81405380bbae1eca3556338331b03fa/bot/exts/moderation/clean.py#L244=
Shouldn't this be "younger" rather than "older"?
This argument can be None, so it should be annotated as such https://github.com/python-discord/bot/blob/0bbcde6af81405380bbae1eca3556338331b03fa/bot/exts/moderation/clean.py#L244=
There is an issue with the annotation, but it's actually different. after is the one which isn't optional, while before is. This is enforced by _validate_input
This argument can be None, so it should be annotated as such https://github.com/python-discord/bot/blob/0bbcde6af81405380bbae1eca3556338331b03fa/bot/exts/moderation/clean.py#L244=
There is an issue with the annotation, but it's actually different.
afteris the one which isn't optional, whilebeforeis. This is enforced by_validate_input
Technically both are optional since they're just passed to history(), and that function allows both to be None.
Technically both are optional since they're just passed to
history(), and that function allows both to be None.
yeah but this is about how the function is expected to be used, rather than what it can technically accept
Technically both are optional since they're just passed to
history(), and that function allows both to be None.yeah but this is about how the function is expected to be used, rather than what it can technically accept
I don't feel strongly about this but if it were me I wouldn't impose artificial constraints on it.
If I write a function which takes a number and adds 1 to it, I could assign a default value of 0 to the number, but I have no reason to. That's not how I want the function to behave. If I don't supply it a number I want it to yell at me, not because of what the function can do in practice if I allow it, but by my choice.
"""Check if the message is younger than the first limit."""
If it should, here's a suggestion for easy peasy one-click fix.
GitHub Actions run 2485040758 was cancelled.
GitHub Actions run 2485043261 succeeded.
Where would we want this? A messages module under utils? I'll also need to port over command_wraps, that'll probably best be under a function module like it's now in bot
If the implementation is closely tied to discord.py commands extension then maybe it should be in botcore.utils.command module (I think singular tense is more appropriate).
[python-discord/bot] branch deleted: clean\_improv
Connected!
GitHub Actions run 2485148811 succeeded.
Connected!
GitHub Actions run 2486008281 succeeded.
Hi, I am a Starlette dev. We are trying to discourage usage of BaseHTTPMiddleware.
GitHub Actions run 2489081570 failed.
5ebac26 Auto bump nomination threads - ChrisLovering
[python-discord/bot] New branch created: auto\-bump\-nomination\-threads
Every nomination thread we call the thread bumper command this manually, so automating this is a no brainer.
GitHub Actions run 2489728285 succeeded.
[bot] Branch auto\-bump\-nomination\-threads was force-pushed to `a4b9224`
I also stopped this from being a raw string as there was no need for it to be.
GitHub Actions run 2489743370 succeeded.
bc927c5 Fix autobans not working for invite filters - mbaruh
[python-discord/bot] New branch created: fix\_invite\_autoban
The autoban implementation didn't work with invites, since the filter result is a dictionary with potentially more than one entry (each potentially having its own reason).
GitHub Actions run 2489929194 succeeded.
Hello, thanks for your contribution. I'll try to get to it this week, but would you mind fixing the linting errors in the meantime? Thanks!
Sentry Issue: FORMS-BACKEND-H
TypeError: backend.models.form.Form() argument after ** must be a mapping, not NoneType
(9 additional frame(s) were not displayed)
...
File "starlette/routing.py", line 266, in handle
await self.app(scope, receive, send)
File "starlette/endpoints.py", line 42, in dispatch
response = await handler(request)
File "spectree/spec.py", line 166, in async_...
GitHub Actions run 2490405798 succeeded.
[python-discord/forms-backend] Checks Failed on PR: #159 Bump flake8-annotations from 2.7.0 to 2.9.0
GitHub Actions run 2490416270 failed.
GitHub Actions run 2490417720 succeeded.
GitHub Actions run 2490418875 succeeded.
GitHub Actions run 2490419262 succeeded.
GitHub Actions run 2490479783 succeeded.
Not a fan of cogs depending on other cogs, but it's fine as a tentative solution.
GitHub Actions run 2490681487 succeeded.
If this fails for any reason, I'd rather this was either in a try block, or be the last operation in the function, so we don't end up with the review being in an incorrect state.
[bot] Branch auto\-bump\-nomination\-threads was force-pushed to `84d0e4d`
Instead of trying to figure out all the possible errors that this could raise, and possibly miss one, I decided to move it to the end of the function.
The only thing that won't happen if this fails for what ever reason is the !tp post_review invocation won't get the check mark against it, which is acceptable imo.
GitHub Actions run 2491052846 succeeded.
[python-discord/bot] branch deleted: auto\-bump\-nomination\-threads
[python-discord/bot] branch deleted: fix\_invite\_autoban
Connected!
GitHub Actions run 2491317443 succeeded.
[python-discord/site] New branch created: swfarnsworth/resources
ae42c30 Add padlock as icon for Security resources - swfarnsworth
Adds The Algorithms as a new resource, and removes Atom. Reasons for these changes can be found in the two issues that this closes. Also adds the PyCharm logo to that resource.
I do not have an environment set up to run the site locally, so I would appreciate if the reviewer could verify the changes.
Closes meta#185 and meta#180.
GitHub Actions run 2491723087 failed.
439d02a Allow char info in all channels bar py-gen - ChrisLovering
[python-discord/bot] New branch created: allow\-char\-info\-in\-all\-channels\-bar\-py\-gen
GitHub Actions run 2497972226 succeeded.
Sentry Issue: BOT-35H
AttributeError: 'NoneType' object has no attribute 'lower'
File "discord/client.py", line 375, in _run_event
await coro(*args, **kwargs)
File "bot/exts/filters/filtering.py", line 181, in on_message
await self._filter_message(msg)
File "bot/exts/filters/filtering.py", line 395, in _filter_message
autoban = any(
File "bot/exts/filters/filtering.py", li...
f5db715 Only check for autoban filters if reason key is... - ChrisLovering
[python-discord/bot] New branch created: fix/bot\#2194
[python-discord/bot] branch deleted: allow\-char\-info\-in\-all\-channels\-bar\-py\-gen
GitHub Actions run 2498011400 succeeded.
Connected!
GitHub Actions run 2498026103 succeeded.
Could be "[autoban]" in invite_info.get("reason", "").lower() to avoid the if statement.
Wait that's already what was happening. How is this different?
Never mind... the value could exist and be None.
[python-discord/bot] branch deleted: fix/bot\#2194
GitHub Actions run 2498085615 succeeded.
Connected!
GitHub Actions run 2498107957 succeeded.
bb05c47 Always prepend guild name to guild invite filters. - ChrisLovering
[python-discord/bot] New branch created: always\-prepend\-guild\-name\-to\-guild\-invite\-filters
Some guild invites are autoban filters, which require the mod to set a comment which includes [autoban].
Having the guild name in the comment is still useful when reviewing filter list, so prepend it to the set comment in case some mod forgets.
GitHub Actions run 2498388677 succeeded.
Ports over update_wrapper_globals/command_wraps and adds a decorator that stops successive duplicate invocations of a command with the same arguments in the same channel.
I've extended the source lookup func for linkcode to also look into if statements for the if TYPE_CHECKING use and added a guard to prevent if from erroring on cases that aren't taken care of. It's still missing on some different cases where assignments could occur but that can be addressed in a different PR specifi...
[bot] Branch always\-prepend\-guild\-name\-to\-guild\-invite\-filters was force-pushed to `4f4bde6`
[bot] Branch always\-prepend\-guild\-name\-to\-guild\-invite\-filters was force-pushed to `adac8e8`
GitHub Actions run 2498465223 was cancelled.
GitHub Actions run 2498467832 succeeded.
[python-discord/snekbox] branch deleted: feat/nsjail/104/customise\-output\-limit
@Krish-bhardwaj Is there a problem with putting this up for grabs? If you'd like to continue this later, we can keep this open, and remove the up for grabs label. I'd like to see this get implemented.
GitHub Actions run 2502075126 succeeded.
GitHub Actions run 2503001635 succeeded.
f9b22ff RealPython home page displayed on no user search - Xithrius
[python-discord/sir-lancebot] New branch created: realpython\-homepage
Relevant Issues
Closes #1001
<!-- Link the issue by typing: "Closes #" (Closes #0 to close issue 0 for example). -->
Description
Displays RealPython's Home Page when a user provides no query during a .realpython call.
Example:

Did you:
- [x] Join the Python Discord Community?
- [x] Re...
GitHub Actions run 2511838434 succeeded.
This looks like another top notch PR from our very own triage lead. Thanks @Xithrius
If defaulting to None, would this not be an Optional[str]?
async def realpython(self, ctx: commands.Context, amount: Optional[int] = 5, *, user_search: Optional[str] = None) -> None:
dc4bac6 Added optional user query annotation - Xithrius
Fixed in dc4bac651f71707b1e2144ac3b94e8ea94b86c7e.
GitHub Actions run 2512393224 succeeded.
[python-discord/sir-lancebot] branch deleted: realpython\-homepage
c245348 RealPython home page displayed on no user searc... - Xithrius
Connected!
GitHub Actions run 2514145293 succeeded.
[python-discord/bot] New branch created: fix\_return\_button
Due to various breaking changes in the discord.py library the views of the help embed stopped working properly.
- Use
add_iteminCommandView. This was done in GroupView but was apparently missed inCommandView, and the former (hacky) method no longer works. - Instead of editing the help message normally (which required to then defer the response), the message edit is made to be the response itself. It seems like the callback would automatically defer the response if none was made, ...
GitHub Actions run 2514752192 succeeded.
[python-discord/forms-frontend] branch deleted: backend\-command
Description
This would prompt the user to re-consent to sharing info vvery time a they go through the OAuth2 flow.
This also gives them a chance to swap the user that they are logging into Discord with.
Justification
Currently Discord will cache the user you have logged into for forms, meaning if you log out by deleting your token in local storage, the next time you login Discord will automatically login with the same account.
This causes an issue, especially for admins, if y...
Hey I'm working on reviewing this right now, is there any reference for why we're moving away from this? I'm going through the documentation and I can't see anything on it or the recommended approach.
Alright, I see the issue you linked, I'll track there
Please check out the warnings in this section of the docs: https://www.starlette.io/middleware/#basehttpmiddleware
BaseHTTPMiddleware has bugs that we don't think can be fixed. We may deprecate it in the future (although that's not finalized), but as a first step we want to discourage its usage especially in libraries.
This project isn't a library, but we're happy to help where we can 👍.
What version is this implemented in? I've tried bumping up to latest (0.20.3), but this is still a KeyError. Since this is not documented I'm not sure what you're going for.
Going through the documentation PR doesn't cover this scenario either.
await self._app(scope, receive, send)
Description
This would prompt the user to re-consent to sharing info vvery time a they go through the OAuth2 flow.
This also gives them a chance to swap the user that they are logging into Discord with.
Justification
Currently Discord will cache the user you have logged into for forms, meaning if you log out by deleting your token in local storage, the next time you login Discord will automatically login with the same account.
This causes an issue, especially for admins, if y...
29c18c0 Prompt for OAuth2 consent on every auth flow - ChrisLovering
[python-discord/forms-frontend] New branch created: oauth2\-prompt\-consent
[python-discord/forms-frontend] branch deleted: oauth2\-prompt\-consent
42f3f02 Enable Login Form In Production - HassanAbouelela
[python-discord/forms-backend] New branch created: enable\-login\-in\-prod
Adds a non-discoverable login form in all environments to make it easier to authenticate. This was already available in development, but now it'll always be on the homepage too.
Ideally, we'd have an actual login button, but this is an easy solution in the meantime.
GitHub Actions run 2517260259 succeeded.
GitHub Actions run 2517584136 succeeded.
Fix rendering of error message by updating public_state prop before updating state, and only catch 422 status code in FormPage
5f9e3a1 Add new unittestsFailed public_state field - janine9vn
85fbf45 Add processing for POST request response - janine9vn
442f8d3 Fix rendering error message for failed unit tests. - DavinderJolly
21d68d4 Merge branch 'main' into snekbox-results-feedback - HassanAbouelela
f1abb72 Merge pull request #453 from DavinderJolly/snek... - HassanAbouelela
Sorry for the bonehead mistake. Request generates this, I forgot it wasn't part of the ASGI spec itself. I changed this line to just use Request.
Everything looks fine, thanks for your contribution. Is there an ETA on when the docs will be updated? It's really difficult to deal with this as is.
What part of the docs are giving you trouble / would you like updated?
The largest issue right now is that they aren't merged, so no one will know where to look for them. This is only a temporary problem of course, but if you plan on making this same migration on projects where they need to edit the middleware more frequently, that can be a blocker.
More relevantly, there are a few minor things here and there. In no particular order:
- The
Reusing Starlette componentssection feels lacking. It explains how to go about creating a request and response object...
[python-discord/site] New branch created: cj9\_info
This PR includes initial information to be used in the community announcement.
Additional details will be added later.
GitHub Actions run 2521243222 succeeded.
GitHub Actions run 2521299870 succeeded.
GitHub Actions run 2521377579 succeeded.
GitHub Actions run 2521422148 succeeded.
Looks good! I have some comments about how pages are linked in general but they're out of scope for this PR.
[python-discord/site] branch deleted: cj9\_info
GitHub Actions run 2521453873 succeeded.
[python-discord/forms-frontend] New branch created: bump\-dependencies
I ran into an issue upgrading dependencies from dependabot, since we had a lot of upgrades that would require upgrading multiple libraries at once, even if their version specifiers don't indicate so. This was particularly true for webpack dependencies. On top of that, many things need to be bumped and rewritten in bulk, such as the react dependencies. I went through and made bumps for all those, each "group" in a commit.
Most commits have just been version changes with no code changes, but...
Netlify is being wonderful and using node 12. I've bumped us up to 16.
[python-discord/site] New branch created: events\-css
Changes:
Fix too-wide button on mobile
Before:

After:

Caveat: The same button on larger screens is now slightly less eye-catching, but still noticeable due to contrast.
Remove weird panel padding
Before:

https://www.pythondiscord.com/events/ -
"Our Code Jams happen twice a year. We have a Winter Jam and a Summer Jam."
https://www.pythondiscord.com/events/code-jams/#how-often-do-these-happen
I found the code jam page itself difficult to find (an easy to miss link on the events page): https://www.pythondi...
GitHub Actions run 2522389860 succeeded.
@RohanJnr will be doing this in a new PR.
[python-discord/sir-lancebot] branch deleted: fix\-issue\-863
User hasn't responded, putting this up for grabs.
Looks good to me. One issue is that there is a "qualifier open" card and then a separate "sign up now"
After the qualifier you can't sign up anymore so it probably shouldn't say that
Continuation of #2187, spotted the paragraph in a description of not in 
didn't think of symbols without signatures when doing the last PR.
Adds the filtering to the description tags.
I've also noticed some things were being filtered with a regex that I glossed over last time, I moved over the source filtering to go through html like headerlinks do; not sure what the backslashes were filtering.
GitHub Actions run 2524000384 succeeded.
GitHub Actions run 2524825602 succeeded.
9d3a1ad Add frontpage banner assets for Summer CJ 2022. - kosayoda
8cf3113 Add Summer CJ 2022 banner to frontpage. - kosayoda
deb7e65 Show shadow on hover for CJ frontpage banner. - kosayoda
1364a1a Add hover transition to match welcome video. - kosayoda
f49d400 Merge pull request #726 from python-discord/fro... - ChrisLovering
[python-discord/site] branch deleted: frontpage\-banners
GitHub Actions run 2524921459 succeeded.
Greetings @Diabolical5777,
What's your status on this PR, and the others you've put up? Will you be finishing them?
Also, please see this page on making commits with great messages, to increase users' knowledge of the git history.
Thanks!
A format like Guild "name here" - comment here would be even clearer. It's not self-evident what the part before the dash means. For example, a guild named "123"

Quoting the guild name will also help set the boundary between the comment and the guild name. Otherwise, a guild name with a dash in it could lead to further confusion.
Did the previous approach not work for invite filters since it could contain multiple reasons? In that case, wouldn't the type annotation of the reason argument for this function be wrong, or are the reasons concatenated before this function is called?
Might be better to instead rename the keyword to autoban for consistency.
await self._send_log(filter_name, _filter, msg, stats, reason, auto_ban=autoban)
I'm not familiar with the interactions API, so I can't be effective in reviewing the code. I can't even find where it's documented. However, these changes do work in practice.
Can't you re-use _filter_signature_links in this case?
I suppose it could be used, but I'm not convinced if it'd be worth it.
Using the filter would only change the find_all call which is already clear enough, while also introducing a bit more work to the filtering and adding an another import for it
I think this reads better.
Delete stale items every hour after waiting for `initial_delay`.
Don't the TypeVars also have to be defined at runtime?
Use the imperative mood for consistency. Furthermore, these should be separate sentences (currently a comma splice).
They don't need to be defined at runtime because they're only in annotations.
For exposing them, I'm not really sure, but from the perspective of the user of the module I don't think they're really necessary beyond seeing the names in the signatures.
The ones in the cooldown module are public beacuse sphinx didn't see them without that
Not that important, but as the commands are all loaded at the same time, this ensures it's a bit spread out instead of doing cleanup on everything at the same time, potentially slowing down some other things for a low priority job
Mostly didn't want to bother with a global scheduler (scheduler for every command this is applied to seems a bit overkill) for something that shouldn't fail.
For non hashable items, to add to the slower cooldowns_non_hashable dict
_cooldowns hashes the channel and args together for quick lookup, if that fails, in _cooldowns_non_hashable only the channel is used as a key and args are stored in a list that's checked against
Yeah, fair point. I don't anticipate this to be used with long cooldowns. We can revisit it at any point in the future if we change our minds. It's a simple change.
They don't need to be defined at runtime because they're only in annotations.
Tested it out. More specifically, it's fine because from __future__ import annotations is used.
Gonna leave this open for more perspectives on whether they should be public.
I don't think a scheduler for each command would have much overhead if that's what you mean; it only needs a single dictionary to track state. Regardless, I don't have a problem with the polling approach if that's what you want to go with.
Maybe I'm dumb but I found that confusing despite the name of the dict. I think it would help to have a comment pointing out that call arguments aren't always going to be hashable (maybe better to put that in the dict declaration in `init).
GitHub Actions run 2528850344 succeeded.
The mentioned output should be something that we can easily share with the participants, to let them know which team they are on.
I was planning to make use of Discord UI Views, and create an embed with a button (permanent view), that would send an ephemeral message with an embed detailing the information regarding the team. But, if anyone has any kind of suggestion, please share.
Should now reflect [this comment](#981226179476475964 message)
0be4917 Create v1 cgroups as needed - MarkKoz
[python-discord/snekbox] New branch created: feat/nsjail/101/create\-all\-cgroups
Connected!
Connected!
GitHub Actions run 2534047803 succeeded.
PR Author
Workflow Run
Source Branch
custom-forms-snekbox
GitHub Actions run 2534007156 succeeded.
PR Author
Workflow Run
Source Branch
custom-forms-snekbox
Connected!
GitHub Actions run 2534324588 succeeded.
GitHub Actions run 2534956156 succeeded.
Tried how it'd look, and I like it more when the decorator is separated out from the class as it feels like that shouldn't really be its responsibility. ContextDecorator doesn't really help here as it's not really managing anything around the individual calls like a context manager would
Rewrote the manager to keep track of everything within one dict by separating the hashable and non-hashable arguments, using the hashable args as a part of the dict key, and non-hashable in the _CooldownItems; I believe it should be a bit clearer and simpler now.
Made it :obj:`True` in c8b23bbbd25372a55d6e3640b68cd96828922af0
went with a weakref finalize on the task's cancel and a weakref to self in 805c60437e50e2153d61e484872b207affd8db1f
[python-discord/site] New branch created: more\_cj9\_info
Adds information about prizes and approved frameworks to the Code Jam 2022 section of the site.
GitHub Actions run 2537855152 succeeded.
[python-discord/sir-lancebot] New branch created: help\_command\_fix\_863
Relevant Issues
issue: #863
Refer to https://github.com/python-discord/sir-lancebot/pull/884
Fixes
- The help command used to raise an error when provided with an invalid command name (fixed)
- There used to be different command suggestions from the help command and the error handler when an unknown command was provided.
- This has been fixed by using the same method for finding similar commands.
Changes
- Providing an invalid subcommand but valid parent command (for...
GitHub Actions run 2538122894 failed.
GitHub Actions run 2538142377 succeeded.
GitHub Actions run 2538170892 succeeded.
GitHub Actions run 2538304391 succeeded.
We get occasional CI failures from the netlify preview deploys due to GitHub rate limits. Example:
Traceback (most recent call last):
File "static-builds/netlify_build.py", line 122, in
download_artifact(*get_build_artifact())
File "static-builds/netlify_build.py", line 36, in get_build_artifact
pull_request.raise_for_status()
File "/opt/buildhome/python3.8/lib/python3.8/site-packages/ht...
Personal Access Tokens
This is an easy solution, and what the script used initially, but PATs aren't read-only, meaning they can make commits to any of our public repos that completely bypass any checks. This is a critical security flaw.
GitHub App
This seemed promising at first, since it has a much more robust permission system than PATs, and can be scoped per repo. However, accessing the API through an app is only meant to be performed by a secure backend server. You need to use a JWT generated within 10 minutes of the request. Generating the token requires access to the app's private key, which keeping in-line with limitation 2 makes this a no-go.
We can get around this issue by setting up a simple server that perfo...
Netlify CLI
Not possible owing to limitation 1. You need a secret to deploy using the CLI. You also lose out on a lot of the nice features, since you can't manually deploy previews. You can only deploy actual deployments. This is not great for security. On top of that, we'd have to manually add a comment to the PR linking the build, which I believe requires a GitHub app running on a server, (see the previous comment for why that's not desirable). If we're running stuff on our server eithe...
Intermediary Build Server
Instead of asking the GitHub API for the data, we could have the action upload the result to a server we control, and expose those results without authentication or rate limiting issues. @ChrisLovering suggested using our ansible servers with rsync for this purpose.
The following are not limitations, but considerations:
- We can't have secrets here, owing to limitation 1, meaning the rsync server has to be unprotected
2....
I've added all the solutions that I had thought of, if someone has any other ideas, please share them here.
In theory the upper limit on the year will be outdated by next year, but in practice it won't matter until we run this event another 5 times.
You could do something clever with checking the current date, but I'm OK with leaving it as-is.
FWIW I'm probably going to add arrow as a dependency anyway to get a relative timestamp for when the next puzzle will be posted.
Can we change this to something like AOC_MAIN_CHANNEL since it won't be a forum channel anymore
It should post at UTC midnight, regardless of when the start command is run
tokens HMAC can now be longer than 27 characters, but existing ones are still valid
d30c953 Allow admins/event lead to speedrun event conte... - ChrisLovering
[python-discord/.github] New branch created: events\-speedrun
By moving events inside the first OR block, this allows PRs with only event content changes to be merged with just an admins/event lead approval.
However, by moving events inside that block, it would also mean that the coredev/staff AND block could also satisfy a event content PR approval. To mitigate this, I also added events into that block too, meaning that AND block would also require amdins/event lead approval to satisfy a PR, but would be skipped when paths do not match.
Seems like a reasonable change to me. This just removes needless friction from event management, which is an area where flexibility and velocity are especially crucial, since things are often highly time sensitive.
GitHub Actions run 2541975552 failed.
for guild_invites, reason will always be passed as None.
It's initialised as None here https://github.com/python-discord/bot/blob/main/bot/exts/filters/filtering.py#L338 and then since _has_invites doesn't return a tuple, this conditional means it is never updated.
https://github.com/python-discord/bot/blob/main/bot/exts/filters/filtering.py#L340-L343
Connected!
GitHub Actions run 2542643100 succeeded.
GitHub Actions run 2542699897 succeeded.
Connected!
GitHub Actions run 2542728558 succeeded.
Updated the Discord icon and text in the navbar. Color is not final.
Color variants shown below (new blurple, old blurple, black). The second one violates Discord's branding policy because it has been recolored to the old blurple color (pre-May 13th 2021 rebrand).




GitHub Actions run 2549868863 succeeded.
Our Code Jams happen once a year every summer.
2ed2504 Update pydis_site/templates/events/pages/code-j... - minalike
GitHub Actions run 2550239633 succeeded.
GitHub Actions run 2550271593 succeeded.
28b6d4c Allow Setup For Unittests - HassanAbouelela
[python-discord/forms-backend] New branch created: add\-setup
Adds the setup method as a special method for unittest question types. Additionally, a couple QoL fixes are included. I changed unit to self to clarify what it actually is, and I changed an lstrip to a removeprefix to avoid removing unintentional portions of the name (for instance something -> omething)
This will require migrating a few database entries by hand, so hold off on merging till that is ready.
GitHub Actions run 2552925576 succeeded.
GitHub Actions run 2553041814 succeeded.
I've now added another change. Test methods are now async, more details in the commit
GitHub Actions run 2553072137 failed.
GitHub Actions run 2553075596 succeeded.
GitHub Actions run 2553078618 succeeded.
GitHub Actions run 2559994760 succeeded.
Assuming we are OK with the feature as designed (hi Scale), I'm fine with leaving the help situation as-is. It's not great, but it's acceptable. The rest of this PR looks good to me!
I'm not approving until someone else chimes in on how we'll want to let users get help for this feature.
53a5b32 Help: remove redundant space in subcommand aliases - ichard26
[python-discord/sir-lancebot] New branch created: ichard26/remove\-redundant\-space\-in\-alias\-help
Description
See title or screenshot below.
Steps to Reproduce
-
Run
.help aoc aboutin #bot-commands -
See the double space in the "Can also use: " line
Expected Behaviour

Actual Behaviour

Known Impacted Platforms
- [x...
Go ahead! This seems to only be an issue on sir-lancebot and not bot.
Relevant Issues
Fixes GH-1065.
Description
parent already has a trailing space so let's not add another one.
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 contributing guidelines?
GitHub Actions run 2564449224 succeeded.
[python-discord/sir-lancebot] branch deleted: ichard26/remove\-redundant\-space\-in\-alias\-help
Connected!
GitHub Actions run 2564480793 succeeded.
[python-discord/bot-core] New tag created: v7\.1\.3
[python-discord/bot-core] New tag created: v7\.1\.2
Description
Submitting a failing solution to a non-required tested field blocks submission silently and rejects submission.
Reproduction:
form question:
"questions": [
{
"_id": "code",
"name": "Code",
"type": "code",
"required": false,
"data": {
"language": "python",
"unittests": {
"allow_failure": false,
"tests": {
"test_something": "self.ass...
This is something I looked into a while back. It's an interesting idea, but is not very easy, as that data needs to be present at request time, since discord does not run any JS on the requested resource. We can only easily add this data after the request has been created. Contact Joe for more info on this.
I'll mark this issue as stale for now in case someone comes up with a good solution, but I think this is just not feasible right now.
This PR fixes a few miscellaneous bugs and issues that didn't deserve their own issues. Most of this is fairly self-explanatory, such as missing arguments or incorrect docstrings. Many of the code changes are not issues in production either due to being edge cases or being overridden by end projects.
These can be released as an independent bug-fix release or bundled with the next release.
Nightly is currently having some issues, hence the failed actions. I've opened an issue upstream to see if we can get this resolved.
While we're here this can use a typevar for the corosđ return type to preserve the type information on the task it returns
some of the changed typing could be using collections.abc instead of typing generics, but that should be fine for now if you don't want to bring in the for them imports in this pr
Yeah that's a good call. ecb9a7e4
Annoyingly, the docs don't seem to carry that return type through, and just leave it as Task, but at leat it will help static analysis tools.
I've gone ahead and changed all the generics now (I ran a case-sensitive search for all the deprecated types on the typing page, but I might have missed some). I didn't include Callable as it doesn't work with autodoc right now (track tox-dev/sphinx-autodoc-typehints/issues/237)
That happens because the type is documented in its Returns:... but trying it out when removed, sphinx-autodoc-typehints fails in resolving it as it sees it as _asyncio.Task, and even with that fixed we wouldn't get the return type because 3.9 doesn't seem to store the annotation on Task for some reason (or at least the 3.9 I have as I can't find anything about it in the changelogs)
For now we can do asyncio.Task[TASK_RETURN] in the docstring
for the generics you seem to have missed some like the typing.Type for suppressed_exceptions in create_task. Also, while it doesn't look like Hashable is deprecated, it is just an alias to the one in collections.abc and can be unified to be accessed from there to possibly get rid of the typing import in some places
[python-discord/site] New branch created: fontawesome\-fix
Details
fa-duck and fa-alien-monster (renamed fa-alien-8bit in the latest
FontAwesome) are part of the Pro plan, which we no longer have.
I replaced fa-alien-monster with fa-discord for a nice "python discord" in the center, and fa-duck with fa-terminal to match fa-code on the other side.
Icon size and alignment are also adjusted for better visual clarity.
Thanks to @LemonPi314 for pointing out the issue.
Current
 from discord-bots channel.
GitHub Actions run 2573957475 failed.
53a5b32 Help: remove redundant space in subcommand aliases - ichard26
26cfbe1 Merge pull request #1066 from python-discord/ic... - wookie184
293c4fd Merge branch 'main' of https://github.com/pytho... - RohanJnr
GitHub Actions run 2574834509 succeeded.
3414c35 feat: Port Code Jam commands from bot - ToxicKidz
b4245bb Merge branch 'main' of https://github.com/pytho... - ToxicKidz
0e29d1d Merge branch 'main' of https://github.com/pytho... - D0rs4n
6c68671 Remote trailing slash from the paste URL in ser... - D0rs4n
7c9b727 Add error handler entry to handle missing roles... - D0rs4n
[python-discord/sir-robin] branch deleted: feat/code\-jams
Connected!
[python-discord/bot-core] New branch created: bump\-d\.py
[python-discord/bot-core] New tag created: v7\.2\.0\-alpha
Adds support for auto mod, of which the new auto_mod MESSAGE_TYPE is needed for our filter system.
Draft PR while the alpha version is being tested with bot.
Content wise this looks good to me, have not verified with independent testing yet.
[python-discord/bot] New branch created: ignore\-auto\-mod\-notificaitons
When a message triggers an auto_moderation_action notification, Discord re-writes the author field for the system message to look as if it's from the original author.
This means those messages counted towards our anti-spam filter. This both triggered the filter too early, and also resulted in those auto mod messages being deleted when the filter was hit.
TO ignore these messages, d.py had to be bumped to thee version where it added support for auto mod.
Once approved, we need to merge https://github.com/python-discord/bot-core/pull/93 and make a non-pre release of botcore and update the deps here.
[python-discord/site] branch deleted: fontawesome\-fix
GitHub Actions run 2575988622 failed.
I don’t think this needs to include 93. It should already be included by default as a feature in a feature release.
GitHub Actions run 2576009190 succeeded.
[python-discord/bot-core] branch deleted: bump\-d\.py
[python-discord/bot-core] tag deleted: v7\.2\.0\-alpha
[python-discord/bot-core] New tag created: v7\.2\.0
[bot] Branch ignore\-auto\-mod\-notificaitons was force-pushed to `8fc03c3`
GitHub Actions run 2576052037 failed.
GitHub Actions run 2576132888 succeeded.
Documents the eval command accepting multiple codeblocks in a message and adds custom usage to the commands which shows that timeit takes a setup codeblock, and that both can take multiple codeblocks.
GitHub Actions run 2577395497 succeeded.
Tested, appears to be working. Thanks!
2b5b03b Bump botcore to get latest d.py changes - ChrisLovering
8fc03c3 Ignore auto_moderation_action messages when app... - ChrisLovering
ac5bb14 Use new application format for message data in ... - ChrisLovering
7835934 Pin fakeredis to 1.7.5 due to breaking aioredis... - ChrisLovering
405c0f5 Merge pull request #2200 from python-discord/ig... - HassanAbouelela
[python-discord/bot] branch deleted: ignore\-auto\-mod\-notificaitons
Connected!
GitHub Actions run 2578394258 succeeded.
f8a2141 Add Code Jam Management System to Sir Robin - D0rs4n
[python-discord/sir-robin] New branch created: pr/code\-jam\-mgmt
GitHub Actions run 2578431479 succeeded.
This PR adds the Code Jam Management System to Sir Robin's stack, for further use.
[python-discord/branding] New branch created: cj9\_banner
I think you flipped a bit on line 7655
[python-discord/branding] branch deleted: cj9\_banner
GitHub Actions run 2578997881 succeeded.
ffa2d0b Add Summer Code Jam 2022 branding. - kosayoda
[python-discord/branding] New branch created: summer\-code\-jam\-2022
GitHub Actions run 2579045257 succeeded.
GitHub Actions run 2579156424 succeeded.
GitHub Actions run 2579161893 succeeded.
a3766fb Add bot core as a dep and bump all deps - ChrisLovering
eedee9e Don't override default flake8 ignore list - ChrisLovering
99d89e8 Use monkey patches from botcore - ChrisLovering
07acf72 Use BotBase from bot core - ChrisLovering
06ba4fe Remove reference to no longer used EmptyEmbed var - ChrisLovering
[python-discord/sir-lancebot] New branch created: bot\-core\-migration
[python-discord/site] New branch created: cj9\-frameworks\-reorder
This PR, simply put, reorders the CJ9 frameworks to be in a more familiar order based on recommendation:
- FastAPI and Starlette are both ASGI frameworks many should have heard of
- websockets is the only client library on the list
- Django channels is kept on the list but I did not purposefully give it a different position
- wsproto should be last, only for those who wish to use it
Additionally, the descriptions have been reworded to shine more light on the differences between the fra...
GitHub Actions run 2579593507 succeeded.
One empty line will be good enough here
# Where should I change my bot's presence and when?
The presence can only be changed when your bot is connected to the Discord gateway. This is because it needs to send a `PRESENCE` gateway event but most libraries allow you to set the application's presence within the bot constructor!
I think that these should be flipped.
title: Setting different bot presences
description: In depth tutorial on how to set all available presence to your bot!
I am not completely sure about the wording, but I think you get the point.
GitHub Actions run 2580099634 succeeded.
GitHub Actions run 2580100732 succeeded.
GitHub Actions run 2580101632 succeeded.
GitHub Actions run 2580102140 succeeded.
GitHub Actions run 2580102384 succeeded.
GitHub Actions run 2580102838 succeeded.
GitHub Actions run 2580104410 succeeded.
GitHub Actions run 2580103210 succeeded.
GitHub Actions run 2580123314 succeeded.
GitHub Actions run 2580142924 succeeded.
GitHub Actions run 2580149916 succeeded.
GitHub Actions run 2580179819 failed.
GitHub Actions run 2580194237 failed.
Maybe it shouldn't be in italics anymore? Since they're no longer quotes
Addressed the remaining generics in 7913afab.
One thing I've thought about is we should've probably done the Callables in this PR, and added them to the ignore, so we can just remove them from the ignore when it's fixed and be done. Seeing as your PR keeps them as well though, I'll leave it as is and deal with it later, but it's a good lesson nevertheless.
7913afa Switch typing.Hashable With `Collections.abc.... - HassanAbouelela
1037f07 Bump pep8-naming from 0.12.1 to 0.13.0 - dependabot[bot]
db28fa6 Merge pull request #81 from python-discord/depe... - ChrisLovering
6d592bd Bump flake8-bugbear from 22.4.25 to 22.6.22 - dependabot[bot]
fcecf70 Merge pull request #90 from python-discord/depe... - ChrisLovering
0722e3d Bump furo from 2022.4.7 to 2022.6.21 - dependabot[bot]
GitHub Actions run 2582598809 succeeded.
[python-discord/forms-frontend] New branch created: fix\-dropdown\-overlap
The dropdown question type would go over other questions if it had a lot of options. Instead, it's been modified to hide the overflow and add a scroll bar.
Also: I've kaizened in a small change to the webpack dev server, since it is currently broken.
[python-discord/forms-frontend] branch deleted: fix\-dropdown\-overlap
b1d0d30 Use the new Messageable.typing instead of the r... - ChrisLovering
[python-discord/bot] New branch created: fix\-trigger\_typing
Sentry Issue: BOT-369
AttributeError: 'Context' object has no attribute 'trigger_typing'
File "discord/ext/commands/core.py", line 200, in wrapped
ret = await coro(*args, **kwargs)
File "bot/exts/info/pep.py", line 149, in pep_command
await ctx.trigger_typing()
Error executing command invoked by Nipa_dev#6497: !pep 654
GitHub Actions run 2583915852 succeeded.
GitHub Actions run 2584769246 failed.
Connected!
d8a2d08 Add Selectable Styles To Code Field - HassanAbouelela
[python-discord/forms-frontend] New branch created: make\-code\-selectable
Adds the selectable CSS styles to the code field to fix a bug on safari
that prevented users from clicking into it and writing.
Thanks to Etzeitet & NoodleReaper for discovering this.

