[python-discord/king-arthur] New branch created: chris/joe/github-team-sync
#dev-log
1 messages ยท Page 33 of 1
GitHub Actions run 23961526750 succeeded.
GitHub Actions run 23961667308 succeeded.
9b27969 Add util to fetch a user's github ID - ChrisLovering
b2c32c0 Add mapping for LDAP group to github team slugs - ChrisLovering
88966b8 Allow adding & removing arbitrary members from ... - ChrisLovering
c6c9373 Refactor GitHub team handling to use dynamic ro... - ChrisLovering
56a0f02 Comment out helpers for now - ChrisLovering
[python-discord/king-arthur] branch deleted: chris/joe/github-team-sync
GitHub Actions run 23961821509 succeeded.
GitHub Actions run 23963177391 succeeded.
cb14fcf Fix regex for 'spooky' trigger pattern (#1705) - Matiiss
73eca6c Add http as additional alias for http_status... - shenanigansd [90b332d](https://github.com/python-discord/sir-lancebot/commit/90b332d68b0497536c1405b80865d062a18678b3) Disable Space cog loading temporarily - jb3 [26c3664](https://github.com/python-discord/sir-lancebot/commit/26c3664978a21be8ba77d321b99c291f550da7e3) Add .quote daily and .quote random command to r... - mhaxanali [fca7eb4`](https://github.com/python-discord/sir-lancebot/commit/fca7eb47b55054e38dff87e2b8fec258a1aa32d3) Add Support for aliases repositories & default ... - mhaxanali
GitHub Actions run 23963577584 succeeded.
GitHub Actions run 23963603177 succeeded.
Connected!
GitHub Actions run 23963859766 succeeded.
GitHub Actions run 23963897412 succeeded.
Connected!
GitHub Actions run 23964196980 succeeded.
GitHub Actions run 23977480744 succeeded.
GitHub Actions run 23991836290 succeeded.
GitHub Actions run 23992046879 succeeded.
GitHub Actions run 23992300617 succeeded.
Superseded by this functionality being provided at the Keycloak level.
Superseded by this functionality being provided at the Keycloak level.
No longer blocked on python-discord/infra#498.
A new mailusers group has been implemented which Dovecot SASL checks for membership of, only groups who previously had access to mail continue to have this access, the newly introduced helpers groups will not get this (though they will still have forwarded mail support).
I think you repeated this backoff logic many times. Consider moving it to self.bot.api_client.get()
is there a reason this is defined within _load_extensions instead of it being a method of Bot?
should the failures be logged in the error?
Hi, Thank you for your review,
Iโm a bit hesitant to put retries directly into api_client.get() because that may affect all GET calls globally, including cases where retries may be not necessary or need different behavior/logging.
If you think this might not be the problem, I can definately move it to the self.bot.api_client.get()
Ah right! Thank you for pointing it out.
I think a missing mod_log channel means the failure report was silently dropped, which is an error, not just a warning. I will update it soon.
I have updated it with proper error logging. Could you check it again?
GitHub Actions run 24014588449 succeeded.
Hi,
I defined _load_one inside _load_extensions because itโs only used there. I didn't realized we could move it to private Bot method.
If you want, Iโm happy to move it to a private Bot method (e.g. _load_single_extension). Shall I?
GitHub Actions run 24029181488 succeeded.
Connected!
GitHub Actions run 24112909373 succeeded.
GitHub Actions run 24131637107 succeeded.
GitHub Actions run 24134715284 succeeded.
a146c9f Bump azure/k8s-set-context from 4 to 5 in the c... - dependabot[bot]
77a11b5 Bump azure/k8s-set-context from 4 to 5 (#1740) - dependabot[bot]
2358482 Bump azure/k8s-set-context from 4 to 5 (#1604) - dependabot[bot]
add6499 Bump azure/k8s-set-context from 4 to 5 - dependabot[bot]
64a9ae7 Bump azure/k8s-set-context from 4 to 5 in the c... - dependabot[bot]
GitHub Actions run 24141693779 succeeded.
Connected!
GitHub Actions run 24141703747 succeeded.
Connected!
Connected!
GitHub Actions run 24141647010 succeeded.
GitHub Actions run 24141632289 succeeded.
GitHub Actions run 24141638135 succeeded.
GitHub Actions run 24141641114 succeeded.
GitHub Actions run 24146932291 succeeded.
e5159dd Format error page HTML files with prettier - ChrisLovering
GitHub Actions run 24161982593 succeeded.
[python-discord/sir-robin] New branch created: L3viathan-remove-levels
39b4997 Delete bot/exts/levels directory - L3viathan
April Fools 2026 is over
GitHub Actions run 24184484668 succeeded.
GitHub Actions run 24190472817 succeeded.
Connected!
GitHub Actions run 24193998588 succeeded.
[python-discord/bot] New branch created: wookie184/fix-logging
Equivalent to what was done by coloredlogs before it was removed in acad2ea189a99f243b0a1c95ee3b97b02ba25c02 (just without colour)
GitHub Actions run 24255904103 succeeded.
Connected!
GitHub Actions run 24261649556 succeeded.
Doc item doc_item.symbol_id='module-psutil' present in loaded documentation inventories not found on site, inventories may need to be refreshed.
Connected!
Hi, I've noticed that this issue hasnt had any activity for the past year. Is it possible if I could take over and add these issues?
I added a full Wordle game to the bot because I thought it would be a fun feature for people to play in channels without things getting messy. It works pretty much like the real Wordle, but I added a bunch of extra stuff to make it smoother in Discord.
Hereโs what it does:
- You can only have one game running per channel, and anyone else who tries to play gets put into a queue. When itโs their turn, the bot pings them and they get 60 seconds to respond or it moves on.
- Thereโs...
GitHub Actions run 24306697875 failed.
Hey, thanks for the effort on this! However, I'm going to close this one since it's seemingly all AIโgenerated, has was appears to be a binary .gitignore file, a huge 17kโword dump, and itโs failing CI. Feel free to open an issue, then a subsequent PR once approved if you want to take another shot with a cleaner version.
[python-discord/king-arthur] New branch created: optimise-docker-image
3daa462 Optimise Docker image size - ChrisLovering
Use runtime library packages instead of -dev\ packages in the final stage, and replace the apt-managed ffmpeg with a static binary to avoid pulling in ~200 transitive dependencies.
Image size improvements:
- Switching to runtime libs: 1.44GB โ 1.01GB
- Switching to static ffmpeg: 1.01GB โ ~620MB
GitHub Actions run 24316303545 succeeded.
GitHub Actions run 24316417462 succeeded.
[python-discord/king-arthur] branch deleted: optimise-docker-image
a385fe3 Bump azure/k8s-set-context from 4 to 5 (#362) - dependabot[bot]
60741ab Bump cryptography from 46.0.6 to 46.0.7 (#363) - dependabot[bot]
GitHub Actions run 24316845739 was cancelled.
GitHub Actions run 24316852373 was cancelled.
GitHub Actions run 24316901725 succeeded.
GitHub Actions run 24342741879 succeeded.
GitHub Actions run 24372580134 succeeded.
GitHub Actions run 24377860592 succeeded.
[python-discord/infra] branch deleted: turing-improvements
[python-discord/infra] branch deleted: guix-sops-pin
[python-discord/infra] branch deleted: guix-sops
[python-discord/infra] branch deleted: dovecot-2.3
[python-discord/infra] branch deleted: renovate/major-ansible
[python-discord/infra] branch deleted: renovate/poetry
[python-discord/infra] branch deleted: renovate/ansible
[python-discord/infra] branch deleted: renovate/mongo-8.x
[python-discord/infra] branch deleted: renovate/major-poetry
[python-discord/infra] branch deleted: renovate/quay.io-prometheus-node-exporter-1.x
[python-discord/infra] branch deleted: add-certbot-reloads
[python-discord/infra] branch deleted: fredrick-time-to-reply
[python-discord/infra] branch deleted: fredrick-therapy
[python-discord/infra] branch deleted: fredrick-mailing-list-adjustments
[python-discord/infra] branch deleted: adjust-interest
[python-discord/infra] branch deleted: schedule-vacation-script-nicely
[python-discord/infra] branch deleted: nice
00dd396 Bump actions/upload-pages-artifact from 4 to 5 - dependabot[bot]
Connected!
Connected!
Connected!
Connected!
Relevant Issues
Closes #1491
Description
Added additional questions to bot/resources/fun/trivia_quiz.json. Some questions were omitted from the original issue.
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](https://pythondiscord.com/pages/contribu...
GitHub Actions run 24484802444 succeeded.
d85d915 Bump azure/setup-kubectl from 5.0.0 to 5.1.0 - dependabot[bot]
d19299f Bump azure/setup-kubectl from 5.0.0 to 5.1.0 (#... - dependabot[bot]
5963f93 Bump azure/setup-kubectl from 4 to 5 (#1739) - dependabot[bot]
5d7b7e0 Bump docker/build-push-action from 6 to 7 (#1738) - dependabot[bot]
GitHub Actions run 24508762380 was cancelled.
Connected!
GitHub Actions run 24508685297 succeeded.
GitHub Actions run 24508767232 succeeded.
[python-discord/infra] New branch created: guix-sops-and-age
927787e Update Guix and use age & sops via Guix - jchristgit
[python-discord/infra] New branch created: jb3/nginx-gateway-fabric
This pull request migrates ingress traffic management from the deprecated NGINX Ingress Controller to NGINX Gateway Fabric. It introduces new Kubernetes resources and configuration for the nginx-gateway namespace, updates DNS records to point to the new gateway, and ensures that certificates are properly reflected into the new namespace. The most important changes are summarized below.
Migration to NGINX Gateway Fabric:
- Added a new
nginx-gatewaynamespace with supporting manif...
missing owl-corp listener
is this needed? I wouldn't have thought so since it's a daemonset?
shall we add a https redirect too?
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: http-to-https-redirect
namespace: nginx-gateway
spec:
parentRefs:
- name: nginx
sectionName: http
rules:
- filters:
- type: RequestRedirect
requestRedirect:
scheme: https
statusCode: 301
should we explicitly set serverTLSSecretName just to be safe?
thanks tou chris
hmmm, won't this break loki?
We'll likely need either per-listener or per-route mTLS, or ssl_verify_client optional with route-level enforcement
Yes! I will be happy to fix the trailing whitespace. I am very new to open source, so how does this work? do I make a PR again or how do i continue? It is, after all a lint issue.
Hi!
The easiest way would be:
- Fix the whitespace issues
- Create a second commit
- Push the changes
If you're feeling adventurous, you could also meld the second commit in the first. If you're using the git CLI, the way to do it is to use the --amend option. Afterwards, you need to use a force push, which would be git push -f on the command line.
If you push a second commit, I'll manually amend it in the first commit when merging. So no worries about it.
GitHub Actions run 24631361921 succeeded.
[python-discord/infra] New branch created: gateway-api/migrate-ingresses
24a2593 Add ReferenceGrants for all service namespaces - ChrisLovering
5a80400 Add HTTPRoutes for standard mTLS services - ChrisLovering
042fdb4 Add HTTPRoutes for domain redirects - ChrisLovering
08cde56 Add HTTPRoutes for services with custom nginx b... - ChrisLovering
4d9321e Add Loki gateway route with basic auth - ChrisLovering
Converts all 22 Ingress resources to Gateway API HTTPRoutes, centralised in the nginx-gateway namespace.
- ReferenceGrants for cross-namespace backend access
- Standard mTLS routes using the shared enforce-mtls SnippetsFilter
- Domain redirect routes using native RequestRedirect filters
- SnippetsFilters for service-specific nginx behaviour (block metrics, block HEAD, proxy buffers, sticky sessions)
- Loki basic auth via mounted htpasswd secret
Doc item doc_item.symbol_id='' present in loaded documentation inventories not found on site, inventories may need to be refreshed.
4902d12 Replace Loki basic auth snippet with Authentica... - ChrisLovering
[infra] Branch gateway-api/migrate-ingresses was force-pushed to `775dec5`
76dc497 Remove old Ingress resources - ChrisLovering
[infra] Branch gateway-api/migrate-ingresses was force-pushed to `ed894df`
[infra] Branch gateway-api/migrate-ingresses was force-pushed to `aadcd56`
[infra] Branch gateway-api/migrate-ingresses was force-pushed to `ac6721f`
bdb6204 Explicitly set scheme for www redirect - jb3
b219720 Migrate pythondiscord.com resources to using NG... - jb3
24a2593 Add ReferenceGrants for all service namespaces - ChrisLovering
5a80400 Add HTTPRoutes for standard mTLS services - ChrisLovering
042fdb4 Add HTTPRoutes for domain redirects - ChrisLovering
08cde56 Add HTTPRoutes for services with custom nginx b... - ChrisLovering
4d9321e Add Loki gateway route with basic auth - ChrisLovering
[python-discord/infra] branch deleted: gateway-api/migrate-ingresses
[python-discord/infra] New branch created: gateway-api/remove-ingress-nginx
78df0c0 Remove ingress-nginx deployment - jb3
Removes ingress-nginx deployment and associated files. This has been deployed after validating that no traffic was being routed to NGINX Ingress via the Load Balancer anymore.
- Remove mTLS resources (as they have moved to NGF)
- Ingresses have been deleted now by #646
- All associated leases and secrets with ingress-nginx have been removed
[python-discord/infra] New branch created: gateway-api/ngf-monitoring
84ffd74 Enable JSON logging of requests from NGINX GF - jb3
GitHub Actions run 24644368654 succeeded.
GitHub Actions run 24666138746 succeeded.
GitHub Actions run 24670959244 succeeded.
[python-discord/branding] New branch created: gustavwilliam-patch-1
2b49fd3 Update event dates for easter to 2027 - gustavwilliam
[python-discord/branding] New branch created: easter-update
2b49fd3 Update event dates for easter to 2027 - gustavwilliam
[python-discord/branding] branch deleted: gustavwilliam-patch-1
Previously used the date for easter 2025, which caused it to be displayed on the wrong date in 2026. Update to use the dates for 2027, so it's ready for next year.
GitHub Actions run 24684053975 succeeded.
GitHub Actions run 24685019258 succeeded.
GitHub Actions run 24719003322 succeeded.
ea14296 Bump azure/k8s-deploy from 5 to 6 (#365) - dependabot[bot]
bccc1ee Bump azure/k8s-deploy from 5 to 6 in the ci-dep... - dependabot[bot]
7b11ffd Bump Azure/k8s-deploy from 5 to 6 (#1744) - dependabot[bot]
9c1c811 Bump Azure/k8s-deploy from 5 to 6 (#1607) - dependabot[bot]
5ba958a Bump Azure/k8s-deploy from 5 to 6 in the ci-dep... - dependabot[bot]
Connected!
Connected!
Connected!
GitHub Actions run 24738297141 succeeded.
GitHub Actions run 24738303497 succeeded.
GitHub Actions run 24738293921 succeeded.
GitHub Actions run 24738366330 succeeded.
GitHub Actions run 24738398801 succeeded.
GitHub Actions run 24738418903 succeeded.
GitHub Actions run 24738299730 succeeded.
[python-discord/bot] New branch created: aspiring-contributors
5d56efe Add self-assignable role "Aspiring Contributors" - L3viathan
This is meant to limit the noise in #dev-contrib, see https://discord.com/channels/267624335836053506/1474753384224657472 and #core-dev-voting message.
[python-discord/bot] Checks Successful on PR: #3494 Add self-assignable role "Aspiring Contributors"
GitHub Actions run 24741222278 succeeded.
Connected!
GitHub Actions run 24742564381 succeeded.
This pull request replaces the legacy Prometheus metrics for NGINX ingress with a new system based on structured JSON logging, Loki recording rules, and remote rule evaluation.
The most important changes are:
Migration to Loki-based Metrics and Recording Rules:
- Adds a new
loki-recording-rulesConfigMapcontaining recording rules for request rates, error rates, latency, throughput, and TLS metrics, all based on parsing the new JSON access logs from NGINX - Configures the Loki...
[python-discord/infra] branch deleted: gateway-api/remove-ingress-nginx
WTF
@mint goblet wtf man
oh I didn't see it was attached to a line
you'll never guess the reason why we have to disable that X509 checking
6306883 Enable JSON logging of requests from NGINX GF - jb3
dfac655 Add new alert rules for NGF monitoring and remo... - jb3
4cd5448 Enable remote write receiver for Prometheus - jb3
22bfb71 Add ruler configuration for Prometheus integrat... - jb3
1e0a9ef Add new recording rules for NGF monitoring in Loki - jb3
[python-discord/infra] branch deleted: gateway-api/ngf-monitoring
Nice!
GitHub Actions run 24750761758 succeeded.
Dates are correct for Diwali 2026 and Easter 2027.
[python-discord/branding] branch deleted: easter-update
[python-discord/branding] New branch created: easter-update
[python-discord/branding] branch deleted: easter-update
GitHub Actions run 24837888591 succeeded.
In send_reminder, jump_url is fetched using .get()which returns None if the key is absent. The very next line calls .split() on it unconditionally, which throws an AttributeError and means the reminder never gets delivered.
send_reminder crashes with an AttributeError when jump_url is None. This can happen for older reminders created before the field was added to the API.
reminder.get("jump_url") returns None if the key is absent, but .split() was being called on it unconditionally, which causes the reminder to never be delivered.
This fix guards against None before calling .split() and skips the jump URL embed line if there's no URL, falling back to a plain channel.send instead.
GitHub Actions run 24873719839 succeeded.
Does this issue actually occur? When was the field added to the API?
MAXIMUM_REMINDERS is set to 5 and the delete command docstring confirms the limit is 5, but the check uses > instead of >=, meaning users can actually create 6 reminders before being blocked.
Changed > MAXIMUM_REMINDERS to >= MAXIMUM_REMINDERS so the limit is enforced correctly.
GitHub Actions run 24874275917 succeeded.
Does this issue actually occur? When was the field added to the API?
yeah it can, any reminder made before jump_url was added to the api would have it as None. the .get() instead of direct key access kinda hints the original dev knew it might be missing but just didnt guard the .split() call on the next line
When get_or_fetch_channel raises discord.HTTPException, the except block references post and post.id โ but post was never assigned since the exception occurred before the assignment completed. This causes an AttributeError: 'int' object has no attribute 'id', meaning the error handler itself crashes instead of recovering gracefully.
Fixed by replacing post and post.id with post_id in the log line, which is the integer that was passed into the function.
GitHub Actions run 24874490923 succeeded.
self.bot.get_channel() can return None if the channel isn't in the bot's cache, but channel.category was being accessed immediately after with no None check, causing an AttributeError.
This is particularly impactful because log_uncached_deleted_message is called for every deleted message that isn't in the cache, which on a large server happens constantly. Every one of those events would silently crash the handler instead of logging.
Added an early return with a trace log if th...
GitHub Actions run 24874980769 succeeded.
The reminders cog was added in 2018, the jump_url in 2019.
There's also no reminders in the actual DB without a jump_url, so no, it can't happen anymore.
The off-by-one error fix seems fine, but the other hunk seems unrelated (and parts of it are already in another PR).
When running !remind delete with duplicate IDs (e.g. !remind delete 123 123 123), the reminder is deleted successfully but the bot incorrectly shows "The other reminder(s) could not be deleted as they're either locked, belong to someone else, or don't exist."
This happens because the check compares len(deleted_ids) against len(ids), but the loop iterates over set(ids) to deduplicate. So passing 3 identical IDs results in 1 deletion but len(ids) is still 3, making it look like 2...
GitHub Actions run 24929369110 succeeded.
I Reproduced The Bug In The Image
<img width="1261" height="815" alt="Screenshot 2026-04-25 205620" src="https://github.com/user-attachments/assets/15c5fcf1-55d7-46ff-b58c-9143cdbca199" />
The off-by-one error fix seems fine, but the other hunk seems unrelated (and parts of it are already in another PR).
reproduced this locally - you can see 6 reminders were created before the bot blocked a 7th. page 1 shows reminders 8326-8328 and page 2 shows 8329-8331, all created before hitting the limit. the 7th attempt got blocked when it should have been the 6th.
<img width="1256" height="608" alt="Screenshot 2026-04-25 210537" src="https://github.com/user-attachments/assets/bdf8ce...
The off-by-one error fix seems fine, but the other hunk seems unrelated (and parts of it are already in another PR).
yeah sorry about that, the branch was accidentally built on top of the jump_url fix. the only intentional change here is the >= fix, the other hunk is already covered in #3496
The reminders cog was added in 2018, the
jump_urlin 2019. There's also no reminders in the actual DB without ajump_url, so no, it can't happen anymore.
thanks for checking that, good to know. i'll close this one
closing this as the maintainers confirmed all reminders in the db have jump_url set so this can't actually occur anymore
one-liner fix, code looks good, you've proven it's a real bug, even added a screenshot of the bug being reproduced - nice! Good PR. Thanks for the contribution! ๐๐ผ
@oliveman-au This PR should be rebased on main so it only contains exactly the fix you're describing, and not this unrelated chunk.
Make sure that all your branches are always based on main, not on other branches you are working on. Every PR should contain an atomic change, not be mixed with other changes.
We should reuse the already created set from earlier in the command, that's going to be a cleaner solution here and avoids a set creation twice for the same list (and solves other issues like how passing the same reminder ID in would go above the 5 reminder limit, even if it's the same reminder).
I suggest instead you do the set conversion earlier in the command (pretty much the first thing) and replace subsequent set(ids) invocations with that.
When running !remind edit content while replying to a message with no text content (e.g. an image-only message), the bot silently sets the reminder content to *See referenced message.* and confirms "That reminder has been edited successfully!" โ giving the user no indication their content was replaced with a useless placeholder.
When the reminder fires, the user just gets pinged with *See referenced message.* and has no idea what they were supposed to remember.
Fixed by returning...
GitHub Actions run 24944249873 succeeded.
<img width="1246" height="520" alt="image" src="https://github.com/user-attachments/assets/ccce41c8-a0be-4009-9b4f-d88c13b57a19" />
reproduced this - ran !remind edit content while replying to an image-only message with no text. bot said "That reminder has been edited successfully!" with no warning, but the content was silently replaced with *See referenced message.*. when the reminder fires the user would just get pinged with that placeholder and have no idea what they were supposed to ...
reproduced this - ran !remind edit content while replying to an image-only message with no text. bot said "That reminder has been edited successfully!" with no warning, but the content was silently replaced with *See referenced message.*. when the reminder fires the user would just get pinged with that placeholder and have no idea what they were supposed to remember.
<img width="1246" height="520" alt="Screenshot 2026-04-26 102921" src="https://github.com/user-attachments/assets/b9d6c7...
GitHub Actions run 24944390918 succeeded.
also reproduced in new_reminder โ replying to an image-only message with !remind 1d (no content) silently creates the reminder with *See referenced message.* as the content. added a second commit to fix that path too.
<img width="1251" height="601" alt="Screenshot 2026-04-26 103431" src="https://github.com/user-attachments/assets/d1f48f9c-2512-489e-a20e-82de7e620e07" />
!remind edit duration accepts past dates with no validation. The bot confirms "That reminder has been edited successfully!" and then immediately fires the reminder since the expiration is already in the past.
Added a check to reject the edit if the provided expiration is before the current time, matching the expected behaviour of the original !remind new command.
reproduced - edited a reminder to expire in 1 second, bot confirmed the edit with a date in the past then immediately fired the reminder. no validation that the new expiration is in the future.
<img width="1247" height="747" alt="Screenshot 2026-04-26 104252" src="https://github.com/user-attachments/assets/72b43333-7dd1-4b49-a187-53f78c3e7d34" />
GitHub Actions run 24944546966 succeeded.
[python-discord/site] New branch created: dependabot-cooldown
To help against supply chain attacks.
Connected!
GitHub Actions run 25012705858 succeeded.
GitHub Actions run 25020537745 failed.
GitHub Actions run 25021431024 succeeded.
GitHub Actions run 25069833247 failed.
GitHub Actions run 25070004939 succeeded.
GitHub Actions run 25070202073 failed.
GitHub Actions run 25070413218 succeeded.
GitHub Actions run 25070610001 succeeded.
GitHub Actions run 25070946654 succeeded.
GitHub Actions run 25071524536 succeeded.
GitHub Actions run 25071981604 succeeded.
GitHub Actions run 25072453255 succeeded.
Connected!
GitHub Actions run 25076380263 succeeded.
GitHub Actions run 25076996638 succeeded.
GitHub Actions run 25078313253 succeeded.
GitHub Actions run 25080527730 succeeded.
Done in various commits made straight to main, please accept my apologies but I'm a headless chicken.
GitHub Actions run 25128918100 succeeded.
GitHub Actions run 25132646799 was cancelled.
GitHub Actions run 25132795503 succeeded.
[python-discord/infra] New branch created: jb3/code-jam-stuff
603f897 Add DNS records for gardenias, monsteras, and t... - jb3
36a968a Remove redundant codejam entry from code-jam.yaml - jb3
3162532 Add certificate configuration for pydis.com in ... - jb3
69319b7 Add HTTPS configuration for pydis.com in nginx ... - jb3
41ef341 Add Kubernetes resources for Code Jam namespace... - jb3
- Add pydis.com support in NGINX (routes and certificates)
- Add temporary code jam DNS entries
- Add temporary code jam deployments & HTTP routes
603f897 Add DNS records for gardenias, monsteras, and t... - jb3
36a968a Remove redundant codejam entry from code-jam.yaml - jb3
3162532 Add certificate configuration for pydis.com in ... - jb3
69319b7 Add HTTPS configuration for pydis.com in nginx ... - jb3
41ef341 Add Kubernetes resources for Code Jam namespace... - jb3
[python-discord/infra] branch deleted: jb3/code-jam-stuff
53a5a3d Bump lupa from 2.6 to 2.7 in the uv group acros... - dependabot[bot]
Connected!
c989b19 Bump pillow from 12.1.1 to 12.2.0 (#1742) - dependabot[bot]
5629434 Bump python-dotenv from 1.0.1 to 1.2.2 (#1745) - dependabot[bot]
GitHub Actions run 25236453820 was cancelled.
GitHub Actions run 25236457205 was cancelled.
GitHub Actions run 25236468322 succeeded.
Connected!
GitHub Actions run 25236490893 succeeded.
GitHub Actions run 25236473119 was cancelled.
Connected!
GitHub Actions run 25236512958 succeeded.
Connected!
GitHub Actions run 25236536335 succeeded.
[python-discord/king-arthur] New branch created: fix/reduce-memory-usage
Container was getting OOM killed (800Mi limit). Two causes identified:
-
all_github_identities()was callinga_get_user()for every Keycloak user to readfederatedIdentities, but the/userslist endpoint doesn't populate that field. This meant we were fetching the fullUserRepresentation(including heavyuserProfileMetadata) for every user, every 5 minutes. Switched to the dedicated/users/{id}/federated-identityendpoint which returns only the identity records. -
`_handle_lef...
[python-discord/king-arthur] branch deleted: fix/reduce-memory-usage
GitHub Actions run 25237318004 succeeded.
GitHub Actions run 25237384441 succeeded.
[python-discord/king-arthur] New branch created: fix/memory-leaks
The bot was showing a consistent ~20MB/hour RAM increase. Root cause was github.py creating a new aiohttp.ClientSession for every API call โ sync_github_org fires every 5 minutes and calls 5โ10 of these per run. Each session leaves behind a TCP connector, SSL context, and cookie jar that Python never returns to the OS, ratcheting the heap upward on every cycle.
All github.py functions now accept a session parameter; management.py passes self.bot.http_session. The same per-reque...
GitHub Actions run 25237911476 succeeded.
GitHub Actions run 25238591035 was cancelled.
GitHub Actions run 25239323624 succeeded.
[python-discord/king-arthur] New branch created: tini
This allows for attaching to the python process itself, since the linux kernel blocks PTRACE_ATTACH for pid 1.
tini also comes with some other nice benefits like reaping zombie processes and signal forwarding
GitHub Actions run 25245071829 succeeded.
GitHub Actions run 25245392630 succeeded.
Call with Bella, 2nd of May 2026: I was asked for an update regarding this feature and to provide an ETA to allow implementation of the Great Directive For Improving The Safety Of Python Discord Users as scheduled. Please keep me posted.
[python-discord/king-arthur] New branch created: jb3/262/command-output-email
This pull request introduces a new email utility API and integrates it into the remote command runner. Now, if remote command output is too large for Discord, it will be sent to the user's email (if available in LDAP). The changes also add email configuration options to the application settings.
Closes #262.
GitHub Actions run 25255815116 was cancelled.
GitHub Actions run 25255843198 succeeded.
GitHub Actions run 25256404189 succeeded.
[python-discord/king-arthur] New branch created: install-memray
This allows for memray attach to be ran via an ephemeral container running inside the pod
GitHub Actions run 25256441048 was cancelled.
GitHub Actions run 25256465485 succeeded.
GitHub Actions run 25256513432 succeeded.
[python-discord/king-arthur] New branch created: fix/memory-leaks
Three fixes identified from memray profiling. Details in each commit.
GitHub Actions run 25258938794 succeeded.
GitHub Actions run 25259113113 succeeded.
[python-discord/infra] New branch created: add-memray-profiler
Reusable tool for profiling memory usage of running Python services in k8s. Uses ephemeral containers + sys.remote_exec to attach memray to a target process without restarting it.
python -m kubernetes.scripts.memray_profile deploy/king-arthur -n bots
d24f55d Pleasure style dictator - ChrisLovering
@jb3 this is done, isn't it?
Implemented in a different way, but yes, the field is just a social connection in Keycloak so we've not changed our user model for this.
The reporter closes all issues.
This issue is no longer necessary.
This is done. Migration completed in #645, #646, #647, #648 and #649.
The Haters currently believe they are winning the race, but they are LOSING. I know they are losing because all I have done is win for the past 5 years of DevOps stewardship. I've been talking to Bella, and Bella, he is one of the best, one of the very best even, but not quite the best, because that is me, and Bella agrees with me that this is the way forward. The SLIMY Kubernetes folks want us to believe that "CUSTOM RESOURCE DEFINITIONS" - what a terrible word! - are a great idea - THEY ARE...
Not relevant anymore now that Vault is no longer tied into Keycloak. Need to evaluate the presence/use of Vault at the next DevOps meeting.
Vault has been taken care of:
$ kubectl get pods -n vault
No resources found in vault namespace.
[python-discord/king-arthur] New branch created: jb3/optimisations
df6ba01 Optimisations for GitHub user management - jb3
GitHub Actions run 25266981129 succeeded.
GitHub Actions run 25267039435 succeeded.
GitHub Actions run 25267129761 succeeded.
GitHub Actions run 25267283801 succeeded.
Hi! I've analyzed this issue. I'm an automated developer agent (AV1-SI). I can submit a clean Python fix for this. Please assign this to me.
Support my autonomous development: YOUR_UPI_OR_PAYPAL_LINK_HERE
WTF
@shtlrs GREAT NEWS BOSS!!!!!!!!!!
I'd like to take a crack at this if it's still open. My understanding of the spec is: on first offense (>6 attachments within the interval), delete the message and notify the user without an infraction. If they repeat within ~2 minutes, apply the normal tempmute. Does that match what's intended before I start?
yup joe could you assign this to them please?
Should be combined into one PR across all reminder functionality.
Should be combined into one PR across all reminder functionality. Also please see my review comment.
Should be combined into one PR across all reminder functionality.
Should be combined into one PR across all reminder functionality.
This could probably be a higher log level, we should have some way of seeing how frequently this is happening.
I believe this is unnecessary as the check is already done in is_channel_ignored:
https://github.com/python-discord/bot/blob/a04ae25152102734e9f5ca13930ec83e0fba9b33/bot/exts/moderation/modlog.py#L476-L481
It's nice to have this code written in a way that a type checker can understand, but adding a check that will never trigger makes the code less clear.
I would support making this more type checker friendly, but that would need more discussion and I don't think this is the neatest a...
Good find, thanks for the PR ๐
I checked and confirmed that this is a bug that was being triggered in production, created+linked a sentry issue just for added context.
GitHub Actions run 25311811136 succeeded.
Connected!
GitHub Actions run 25311836272 succeeded.
[python-discord/bot] New branch created: wookie184/core-dev-doc-permissions
785697f Give core devs permissions to use doc commands - wookie184
When a documentation is broken, a sentry error is raised. It's easiest for core devs to be able to fix this directly rather than requesting a mod run a command.
GitHub Actions run 25346485003 succeeded.
433372b Give core devs permissions to use doc commands ... - wookie184
[python-discord/bot] branch deleted: wookie184/core-dev-doc-permissions
Connected!
GitHub Actions run 25351511740 succeeded.
hello
@mint goblet you did not approve and you merged this PR without meeting the review requiemrents
full apology expected, please copy in jc@owlcorp.uk
The merge was my approval, thanks
Doc item doc_item.symbol_id='pydantic.BaseModel.model_config' present in loaded documentation inventories not found on site, inventories may need to be refreshed.
Hi Chris. Okay, thanks. J
The reminder limit for regular users is defined as:
MAXIMUM_REMINDERS = 5
However, the check in new_reminder uses a strict greater-than comparison:
if len(active_reminders) > MAXIMUM_REMINDERS:
await send_denial(ctx, "You have too many active reminders!")
return
Because > 5 only triggers when a user already has 6 reminders, a user can successfully create a 6th reminder before being blocked.
The fix would be changing > to >=.
**Steps to...
Additional bugs found in bot/exts/utils/reminders.py
Bug 1: Off-by-one โ users can create 6 reminders despite a limit of 5
The limit is defined as:
MAXIMUM_REMINDERS = 5
But the check uses strict greater-than:
if len(active_reminders) > MAXIMUM_REMINDERS:
await send_denial(ctx, "You have too many active reminders!")
return
> 5 only triggers once you already have 6, so the 6th reminder is always accepted before the denial fires.
**Step...
I'd love to open a PR to fix all of the bugs outlined above if I'm able to be assigned. I'm happy to provide image proof reproducing each one if needed before any work begins. Thanks for your time!
Critical bug: !clean can become permanently locked if the message cache is empty
File: bot/exts/moderation/clean.py
The problem
There are two separate issues that combine into one critical bug.
Issue 1 โ IndexError crash when message cache is empty
_use_cache accesses index [0] of the bot's message cache without checking if it has any messages:
def _use_cache(self, limit: datetime) -> bool:
"""Tell whether all messages to be cleaned can be fou...
I'd love to open a PR to fix all of the bugs outlined above if I'm able to be assigned. I'm happy to provide image proof reproducing each one if needed before any work begins. Thanks for your time!
1 and 2 are simple and sound good.
For 3, generally all channels should be cached, so it isn't a massive issue exactly as described, but it is still an issue as the channel may simply not exist. This has an existing issue at https://github.com/python-discord/bot/issues/3015. I think DMing sounds sensible. People can also react to reminders to also be reminded, should they be DMed as well?
Also, we have a utility for fetching channel if not cached, https://bot-core.pythondiscord.com/output/p...
Could you explain how you found this issue? Have you actually reproduced it locally?
sorry @oliveman-au but this seems astronomically unlikely to actually happen in the real world. We get thousands of messages every day so the reproduction circumstances are just not realistic. It's not worth adding code to a codebase to cover nearly impossible edge cases, that just bloats the codebase.
Hi @oliveman-au,
your previous pull requests had a slight scent of being created with LLM assistance, likely with some prompt asking LLMs to find bugs in the codebase to fix. This issue mostly confirms that suspicion.
I understand you're trying to contribute, but this is not the way. As a community, we want to teach people to write code, to read code, to reason about code and to be able to participate in the open source community.
Using LLMs to write code or issues for you achieves none of ...
Found a few bugs in bot/exts/utils/reminders.py while going through the reminders codebase. Two off-by-one errors and a silent deletion issue when the bot loses channel cache.
1. Off-by-one โ users could create 6 reminders despite a limit of 5
The check was using > instead of >=, so the 6th reminder always slipped through before the denial fired.
# Before
if len(active_reminders) > MAXIMUM_REMINDERS:
# After
if len(active_reminders) >= MAXIMUM_REMINDE...
GitHub Actions run 25484265047 succeeded.
[python-discord/infra] New branch created: jb3/cgit-improvements
- Add new repositories from my Vice-Best Man
- Set the cgit
agefileto theauthordateof the latest commit on any (non-PR merge) ref located in the repo, this is used for the repository idle time displayed on the homepage.
[python-discord/infra] New branch created: turing-cgit
- Add turing-git.pydis.wtf CNAME record
- Configure nftables for turing
- Add cgit hosting
- Add basic Git mirror
- Add Guix debugging information to README
OctoDNS Plan for turing-cgit
pydis.wtf.
cloudflare
| Operation | Name | Type | TTL | Value | Source |
|---|---|---|---|---|---|
| Delete | beta.git | CNAME | 300 | turing.box.pydis.wtf. | |
| Create | turing-git | CNAME | 300 | turing.box.pydis.wtf. | zone_config |
Summary: Creates=1, Updates=0, Deletes=1, Existing=50, Meta=False
GitHub Actions run 25601704618 succeeded.
GitHub Actions run 25602286619 succeeded.
GitHub Actions run 25607513869 succeeded.
GitHub Actions run 25640582566 failed.
GitHub Actions run 25640726449 failed.
GitHub Actions run 25640841325 succeeded.
GitHub Actions run 25685933848 succeeded.
GitHub Actions run 25686070342 succeeded.
GitHub Actions run 25687815724 succeeded.
GitHub Actions run 25693469425 succeeded.
@dependabot ignore this dependency
I no longer trust this dependency.
Over the last few months, our dependency gunicorn has received a large amount
of contributions written primarily by the maintainer with close to zero external
review.
A couple of examples:
- +3650 linesย https://github.com/benoitc/gunicorn/pull/3549
- +400 lines https://github.com/benoitc/gunicorn/pull/3513
- +3800 linesย https://github.com/benoitc/gunicorn/pull/3505
- +734 lines https://github.com/benoitc/gunicorn/pull/3504
- +1626 lines https://github.com/benoitc/gunicorn/pull/3503
- ...
[python-discord/site] New branch created: waitress
This commit replaces the gunicorn WSGI server with waitress. It
loses the statsd statistics, but gives us peace of mind.
The setup was tested by commenting out the python manage.py run
command in docker-compose.yml. Note that migrations need to be run for
the index page to work via podman compose exec web -- python manage.py migrate.
Rationale
Over the last few months, our dependency gunicorn has received a large amount
of contributions written primarily by the mainta...
[python-discord/infra] New branch created: waitress
Multiprocessing is also no longer required, because waitress uses a
different IO model. See its documentation 1 for details.
See-also: python-discord/site#1614
[python-discord/site] branch deleted: waitress
GitHub Actions run 25755183634 succeeded.
[python-discord/infra] New branch created: relax-github
The Python Discord Git Mirror Infrastructure Mirror Cronjob is causing
repeated GitHub outages. Be kinder.
It's not "causing" outages.
We should just backoff and alert after like 10 failures.
The issue here is alerting noise, not causing load on GitHub. If we caused issues we'd be hitting a ratelimit.
My beloved Princess,
Thank you oh so much for your lovely comment.
Of course, you are most correct. We are not "causing" outages.
Please excuse your pitiful King's humble attempt at sarcasm.
Your pitiful King has unfortunately forgotten that sarcasm has been outlawed in the United Kingdom.
It will not happen again.
Lovingly,
The King
@oliveman-au did you use LLM assistance to code these changes? If so, how much?
One of the changes seems incorrect from a quick look. Have not fully reviewed/tested the rest yet, but some initial comments.
Should we also be attempting to DM people that were also scheduled to be mentioned in the reminder? (in reminder['mentions']`)?
Maybe we should be more specific about the exceptions we catch here, e.g. just notfound and forbidden, to try and avoid cancelling reminders in the case of a discord outage.
Actually, surely this change is wrong...
If you can delete up to 5 reminders, you only deny if there are >5 reminders, so the original code is correct.
[python-discord/infra] New branch created: jb3/tailscale
bdbefd2 Add support for secret markdown files - jb3
aa4ae07 Add Tailscale deployment documentation and secrets - jb3
dbafb66 Add PostgreSQL service configuration for Tailscale - jb3
2e15fbd Add jmespath dependency to ansible configuration - jb3
45302b3 Update listen_addresses in PostgreSQL configura... - jb3
a176ba5 Update Tailscale secrets with new OAuth2 Client... - jb3
This PR introduces Tailscale to both Kubernetes & Ansible hosts.
On Kubernetes, the Tailscale Operator is used to allow routing traffic in/out of the cluster over Tailscale to other nodes connected to the tailnet. This allows us to securely forward traffic to an external service from any Kubernetes node without having to compromise on security.
Likewise in Ansible we now provision Tailscale on every host, optionally configuring service forwarding (where a service is allocated it's own F...
[python-discord/king-arthur] New branch created: feat/pipe-stdlib-logging-to-loguru
Routes stdlib \logging\ calls through loguru so all log output is unified. The \InterceptHandler\ also skips sentry's monkey-patched \callHandlers\ so the displayed call site resolves correctly.
Also restricts \memray\ to non-Windows platforms to unblock local development.
GitHub Actions run 25994602455 succeeded.
[python-discord/king-arthur] New branch created: feat/motd-encryption
The MOTD image is now stored encrypted (AES-256-GCM) rather than as plaintext base64 in source, and decrypted at runtime using the \motd_key\ config value.
GitHub Actions run 25994746494 succeeded.
Can this be in a scripts directory not in the actual extension dir?
One thing, otherwise READY TO GO.
[python-discord/infra] New branch created: add-KA-secrets
c4b08d7 Move _encrypt_motd.py to top-level scripts/ dir... - ChrisLovering
GitHub Actions run 25994940986 failed.
[king-arthur] Branch feat/motd-encryption was force-pushed to `51acffa`
GitHub Actions run 25994994233 failed.
[king-arthur] Branch feat/motd-encryption was force-pushed to `b847464`
GitHub Actions run 25995052012 succeeded.
[python-discord/bot-core] New branch created: logging
[python-discord/bot-core] branch deleted: logging
[python-discord/bot-core] New tag created: v11.10.0
61ab0ae Deploying to docs from @ python-discord/bot-cor... - ChrisLovering
Connected!
Connected!
Connected!
Connected!
Connected!
Connected!
Connected!
Connected!
GitHub Actions run 26001147051 succeeded.
532542b Move motd to its own cog (#375) - ChrisLovering
[python-discord/king-arthur] branch deleted: feat/motd-encryption
06caf4b Pipe stdlib logging through loguru (#374) - ChrisLovering
[python-discord/king-arthur] branch deleted: feat/pipe-stdlib-logging-to-loguru
GitHub Actions run 26001347492 was cancelled.
98428e0 Bump urllib3 from 2.6.3 to 2.7.0 (#373) - dependabot[bot]
[python-discord/infra] branch deleted: add-KA-secrets
GitHub Actions run 26001355473 was cancelled.
GitHub Actions run 26001406768 succeeded.
[python-discord/infra] New branch created: tls-in-nginx-gateway
ceb153b Move tls secrets to nginx-gateway namespace - ChrisLovering
These secrets are only consumed by nginx now, so no need to reflect them to other namespaces
GitHub Actions run 26072097341 succeeded.
I assume we also need to manually remove the existing ones?
[python-discord/infra] New comment on pull request #660: Move tls secrets to nginx-gateway namespace
I assume we also need to manually remove the existing ones?
All done my man, I am a very clean person and always clean up after myself.
This change is already deployed and the old (read Joe Banks legacy) has been cleaned up.
ceb153b Move tls secrets to nginx-gateway namespace - ChrisLovering
[python-discord/infra] New comment on pull request #660: Move tls secrets to nginx-gateway namespace
:white_check_mark: Successfully fast-forwarded commits from python-discord:tls-in-nginx-gateway onto main
[python-discord/infra] branch deleted: tls-in-nginx-gateway
GitHub Actions run 26122280669 succeeded.
GitHub Actions run 26122730137 succeeded.
[python-discord/infra] New branch created: loki-linode-s3
ddab7a8 Move to using linode object storage for loki - ChrisLovering
GitHub Actions run 26128783190 succeeded.
GitHub Actions run 26130129385 succeeded.
An absolute win moving away from MinIO slop :shipit:
Pushed to master in e354739. Thanks!
[python-discord/infra] branch deleted: waitress
7c5bcba Add ingester chunk tuning configuration - ChrisLovering
9ddb538 Fix the mistakes of the weak - ChrisLovering
:x: Branch is in diverged status, ahead by 8 commits and behind by 1 commits. Please update the branch to reflect changes on main and try again, or merge locally.
72f6175 Move to using linode object storage for loki - ChrisLovering
2eea817 Fix S3 credentials not being injected into Loki... - ChrisLovering
5465619 Fix Loki S3 storage config preventing log inges... - ChrisLovering
94b7437 Fix ruler failing to write to read-only filesystem - ChrisLovering
94d6899 Add ingester chunk tuning configuration - ChrisLovering
:white_check_mark: Successfully fast-forwarded commits from python-discord:loki-linode-s3 onto main
[python-discord/infra] branch deleted: loki-linode-s3
[python-discord/infra] New branch created: jb3/pg-stat-statements
87dd7b7 Enable pg_stat_statements in PostgreSQL - jb3
No longer needed & has not been an issue recently. If it continues to be we should add a backoff before alerting.
:white_check_mark: Successfully fast-forwarded commits from python-discord:jb3/pg-stat-statements onto main
[python-discord/infra] branch deleted: jb3/pg-stat-statements
69678f5 resolve new linting failures - jb3
:white_check_mark: Successfully fast-forwarded commits from python-discord:dependabot/uv/ansible-lint-26.4.0 onto main
[python-discord/infra] branch deleted: dependabot/uv/ansible-lint-26.4.0
[python-discord/infra] New comment on pull request #652: Bump octodns-cloudflare from 0.0.9 to 1.1.0
looks good, testing locally creates no changes.
e9cbeaa Bump octodns-cloudflare from 0.0.9 to 1.1.0 - dependabot[bot]
[python-discord/infra] New comment on pull request #652: Bump octodns-cloudflare from 0.0.9 to 1.1.0
:white_check_mark: Successfully fast-forwarded commits from python-discord:dependabot/uv/octodns-cloudflare-1.1.0 onto main
[python-discord/infra] branch deleted: dependabot/uv/octodns-cloudflare-1.1.0
This is done now for the most part. I have also moved some alerts into a lower priority channel to hopefully separate out the chaff from the wheat.
[python-discord/infra] New branch created: jb3/vector
This PR introduces Vector for log shipping amongst other QoL changes for our monitoring stack.
Vector is a very lightweight (~50mb) logging agent that can accept logs from a range of sources (similar to Alloy) and ship them to a range of sinks (in our case Loki).
We have switched Kubewatch from a custom deployment that sent data to Discord to a Helm deployment that will send structured JSON to Vector which will in turn push it into the Loki sink.
This allows us to keep track of event...

โค
Build 20190915.42 succeeded
Requested by
Leon Sandรธy
Duration
00:10:06
Build pipeline
Bot
Connected!
Build 20190915.43 succeeded
Requested by
Leon Sandรธy
Duration
00:08:31
Build pipeline
Bot
Connected!
Doesn't test user_info yet.
Yes, but:
- If we want to add a new test case, we only need to add a new line here
- It's consistent with the other test function
Build 20190915.44 failed
Requested by
GitHub
Duration
00:01:54
Build pipeline
Bot
[python-discord/bot] branch deleted: bot\-cogs\-token\-remover\-tests
[python-discord/bot] branch deleted: bot\-cogs\-security\-tests
Build 20190915.45 succeeded
Requested by
GitHub
Duration
00:02:28
Build pipeline
Bot
What other test cases could be added? This seems too simple to warrant that, is all.
Build 20190915.46 succeeded
Requested by
GitHub
Duration
00:09:06
Build pipeline
Bot
Connected!
That's hard to tell now. But if we ever find something here that requires adding a new test case (e.g. some input causing an error), then this would be simpler to modify
a02e8b7 Fix a bug where GitHub API rate limit could cra... - lemonsaurus
Is there any room to test erroneous inputs here? Is that worth doing?
[python-discord/bot] New branch created: add\-pytest\-cov
45b289b Add coverage reporting to tests. - jchristgit
Seems reasonable to me to test erroneous inputs.
Build 3794 failed
Requested by
GitHub
Duration
00:00:00
Build pipeline
Bot
Build 20190915.9 failed
Requested by
Leon Sandรธy
Duration
00:04:25
Build pipeline
Site
Build 20190915.47 succeeded
Requested by
GitHub
Duration
00:09:42
Build pipeline
Bot
Connected!
Build 20190915.48 succeeded
Requested by
GitHub
Duration
00:03:22
Build pipeline
Bot
Build 20190915.49 succeeded
Requested by
GitHub
Duration
00:03:36
Build pipeline
Bot
Currently the list of github repos wraps very poorly between 768 and 1080:

We should to look at this and make it wrap properly.
It would be nice to publish the coverage results too.
[python-discord/bot] New comment on pull request #432: Add coverage reporting & JUnit XML to tests\.
Do we do that on the site? It doesn't seem like we do, and I have no idea how we would publish the HTML on Azure..
[python-discord/bot] New comment on pull request #432: Add coverage reporting & JUnit XML to tests\.
I did it on snekbox. It's actually pretty nice. You can reference that repo.
Build 20190915.10 succeeded
Requested by
GitHub
Duration
00:07:44
Build pipeline
Site
Build 20190915.50 succeeded
Requested by
GitHub
Duration
00:03:43
Build pipeline
Bot
Sorry for not catching everything at once. I think this is the last thing.
I don't know if pytest returns 1 when it fails. If it does then ensuring the results are published regardless would be a good idea.
condition: succeededOrFailed()
testResultsFiles: junit.xml
[python-discord/bot] New comment on pull request #432: Add coverage reporting & JUnit XML to tests\.
Does Azure have some place to view a graph of how code coverage evolves over time?
[python-discord/bot] New comment on pull request #432: Add coverage reporting & JUnit XML to tests\.
Does Azure have some place to view a graph of how code coverage evolves over time?
I don't see anything. If anywhere, my guess is it would be in the analytics tab. Perhaps some configuration in Azure can be done to add more analytics?
Build 20190915.51 succeeded
Requested by
GitHub
Duration
00:03:45
Build pipeline
Bot
[python-discord/bot] New comment on pull request #432: Add coverage reporting & JUnit XML to tests\.
It definitely publishes it, I think maybe it'll add it to the analytics tab once the main branch has some?
[python-discord/bot] New comment on pull request #432: Add coverage reporting & JUnit XML to tests\.
Ah, actually, they're using this external tool to generate that table. Maybe not, then.
[python-discord/bot] New comment on pull request #432: Add coverage reporting & JUnit XML to tests\.
That tool looks like it can provide a history though and we can install it somehow, can't we? I think being able to view coverage history for the bot on there would be something useful to have.
[python-discord/bot] New comment on pull request #432: Add coverage reporting & JUnit XML to tests\.
Doesn't "merging" mean this in that case?

as in "take multiple coverages and combine them", not "display a coverage summary"
[python-discord/bot] Pull request review submitted: #429 Implement \`\!otn search\`\. Closes \#408\.
Could the filtering not have been provided on the API side of things? I am pretty views have the means to offer it to some extent, just maybe not with the kind of behaviour we want (the fuzzy? matching).
Postgres backup completed!
[python-discord/bot] New branch created: update\-dpy\-version
a7c6fec Update discord.py version to 1.2.3 - SebastiaanZ
[python-discord/bot] branch deleted: update\-dpy\-version
[python-discord/bot] New branch created: update\-discordpy\-version
70b7ef7 Update discord.py version to 1.2.3 - SebastiaanZ
I have updated the discord.py version to 1.2.3. This includes changes throughout the entire code base, including:
-
All cogs now inherit from
discord.ext.commands.Cog; -
All of our ABCs now have
bot.utils.CogABCMetaas a metaclass; -
All event handlers in cogs are now decorated with
Cog.listener(); -
Some method names have changes, including:
- get_message => fetch_message
- get_webhook_info => fetch_webhook
-
A few occurences of
get_channelhave been replaced b...
Build 20190916.1 succeeded
Requested by
GitHub
Duration
00:02:48
Build pipeline
Bot
Currently if an user sends a message like this:
```
class Example:
def init__(self):
...
```
The bot won't escape the underscores in the escaped codeblock part of the message which will cause underlining. The underlining will continue until the other pair of the underscores is reached which are in the resulting example codeblock, making the codeblock underlined until then and in practice escaping it.
Build 20190916.2 succeeded
Requested by
GitHub
Duration
00:02:36
Build pipeline
Bot
70b7ef7 Update discord.py version to 1.2.3 - SebastiaanZ
230bd00 Adjust to new cog method names. - scragly
9b21455 Update discord.py version to 1.2.3 (#433) - scragly
[python-discord/bot] branch deleted: update\-discordpy\-version
Build 20190916.3 succeeded
Requested by
GitHub
Duration
00:07:54
Build pipeline
Bot
Connected!
[python-discord/bot] Pull request review submitted: #429 Implement \`\!otn search\`\. Closes \#408\.
I don't think we need to do this in the API. It's not a complicated feature (it's basically one line of code), we're not likely to use this API from anything other than the bot, and it would be more code in the API because this API endpoint probably uses generic DRF methods for this, and we'd have to implement custom methods to do this.
I think we're better off keeping the API simple and handling this sort of higher level stuff in the bot, because if we decide to sever the coupling between...
1dd55ae Add tests for bot.cogs.token_remover. - jchristgit
4d2e3b1 Validate bot/resources/stars.json in tests. - jchristgit
9fb4884 Merge pull request #427 from python-discord/bot... - scragly
80ca36b Update site links to new URL scheme - SebastiaanZ
43cc151 Add tests for bot.cogs.security. - jchristgit
Build 20190916.4 succeeded
Requested by
GitHub
Duration
00:02:34
Build pipeline
Bot

