#dev-log

1 messages ยท Page 95 of 1

regal archBOT
#

[ ... ] VoiceChannel** which may not include all attributes/methods (send() and edit() would be present I believe). Any issues that may arise from this that come to mind?
Not that I can think of, we also don't use text in voice channels in the server.

Additionally, this pull request is pretty much incompatible with every other pull request currently open. Has there been any thought put into figuring out which ones should be merged before this is merged, and which ones should be m...

regal archBOT
#
[python-discord/bot-core] branch deleted: monkey\-patch\-in\-util\-namespace
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: readme\-for\-api\-app
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

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

I would prefer something shorter and less formal:

Regular expressions (regex) are a tool for finding patterns in strings. The standard library's re module defines functions for using regex patterns.

What you wrote is good, but many of our users are young and/or not fluent in English. Also, novice developers might see that regex are a language and think that learning to use them is like learning a new programming language.

It's difficult to explain what regex can do without usin...

regal archBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: fix/modpings
regal archBOT
#
[python-discord/bot-core] New branch created: fix/trace\-logging
#
[python-discord/bot-core] branch deleted: fix/trace\-logging
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: disnake\-migration
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#

Maybe the migrations and models could use some more explanation (i.e. what those terms actually mean), but it could be covered elsewhere in a more general area I suppose.

For what it's worth, I don't think we should need to explain what these mean. We require basic Django knowledge, and if you've worked through the tutorial, you know what these mean. I don't want to duplicate Django documentation here either.

odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: readme\-for\-api\-app
odd spireBOT
regal archBOT
#
[python-discord/sir-robin] New branch created: pr/migrateaoc
regal archBOT
regal archBOT
#
[python-discord/infra] New branch created: feat/h\-service
#

This is a basic setup for an h-asgi deployment. Me and @MarkKoz got as far as we could without access to any staging environment.

We found 2 major issues with trying to deploy h-asgi in this way. First being a possible issue around conflicting iptables rules with ufw and podman. Where a published port cannot be port forwarded easily. See: https://stackoverflow.com/a/51741599
This should not be an issue if we use only reverse proxies, like nginx. But is something to keep in mind as a possi...

regal archBOT
#

Just to make sure I understand your proposal, you'd like to simply write actual files to disk rather than faking the filesystem in tests? Should the tests also clean up those files in the teardown?

An alternative could be using a temporary directory instead of the tests folder. Ideally, it would get cleaned up between tests to avoid violating the test isolation principle.

Yet another alternative could be using a container for development that does include (some of) the development dep...

regal archBOT
#

Just to make sure I understand your proposal, you'd like to simply write actual files to disk rather than faking the filesystem in tests?

Yes

Should the tests also clean up those files in the teardown?

No, the files would be present beforehand. I'm 99% sure we don't have anything that depends on "what happens if I move this file there" or "delete this file here and there", the idea is mostly to create a resource layout

regal archBOT
#

No, arbitary arguments does not help adding extra options to the start command im afraid.

Using arbitrary options to simplify the complexity in our role is counter productive. As we are essentially pushing that complexity upwards. Where now everyone using the podman role now also needs to know how to configure systemd, leading to a very over-complicated interface to set up podman containers.

#

It's not using systemd options; it's https://github.com/python-discord/infra/pull/57/commits/3a826423014cf7c006feb05d74cf456a8abdb200

There is some merit to what you are saying, but I also think it's not unreasonable to expect some options to be known. I think it's a fair trade off for more flexibility. It seems tedious to maintain a template that needs to cover all options we need. Furthermore, because now instead of being able to leverage existing knowledge of podman/systemd, one has to ...

regal archBOT
regal archBOT
#

I think it would be beneficial to have a page with toggle dropdowns listing all the tags we have and their contents for easy viewing.

We have the !tags on the server, but to read their contents you would have to run !tag-name on each individual tag or browse to our bot repository and read the markdown files directly. Both are not quite the smooth user experience I would want the folks on our server to have.

We can can build this page somewhat dynamically as it can pull from the spec...

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: joe\-said\-"we\-dont\-do\-main\-pushes\-anymore"
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: pr/aoc
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
#

Can only linked users be blocked from being a completionist? Is that separate from this table because we need to be able to keep a user blocked if they unlink their account?

If that is the case, it may be better to merge the tables, and instead of deleting the record when the user unlinks, just set aoc_username to null/empty. This way, the block will remain for unlinked users. What are everyone's thoughts on this alternative?

#
[python-discord/infra] New branch created: psql\-exporter
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: log\-voice\-role\-assignments
odd spireBOT
regal archBOT
regal archBOT
#

Presently the bot has logic to exclude logging of both the member role update and the !voiceverify invocation. While removing the ignore for the role assignment does solve my issue of not knowing when a user had verified previously, I find the current behavior (prior to your PR) very odd and not intuitive.

Why have code to ignore !voiceverify invocations at all? It goes against my expectations as an end user of the bot as a moderator, since we log all other deleted messages in #voice-...

odd spireBOT
odd spireBOT
thin oysterBOT
#
Sir Robin

Connected!

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

Currently when using the !tag command, if the text you wish to prepend to the channel name has multiple words, only the first word will be prepended to the channel name unless you use quotes.

Making the tag argument keyword-only will eliminate the need for wrapping the text with quotes.
It would also be cool if the command doesn't silently error when hitting channel name edit ratelimit and give a helpful message instead.

I can implement this but I'm not sure how to handle the r...

regal archBOT
#

Resource name
Machine learning in Python with scikit-learn

Resource location
Primarily: https://inria.github.io/scikit-learn-mooc/
Also:

Payment type
Free

Why it should be included
The course presents a detailed overview of Machine Learning practices and the models offered by the sklearn package, and explains the reasoning behind each of the ...

odd spireBOT
regal archBOT
regal archBOT
#

Could we order this to be:

The way the colors look like on Discord is shown in the image below:
![ANSI Colors](https://media.discordapp.net/attachments/739937507768270939/930825555803263016/ANSI-Colors.png)

Note: If the change as not been brought to you yet, or other users, then you can use other code blocks in the meantime to get colored text. See this gist: <https://gist.github.com/matthewzring/9f7bbfd102003963f9be7dbcf7d40e51>
regal archBOT
#
[python-discord/bot] branch deleted: feat/mod/1664/resend\-infraction
#

f1894e5 Remove unnecessary config constant - MarkKoz
af3c145 Add util function to send an infraction using a... - MarkKoz
780074f Add command to resend infraction embed - MarkKoz
fa797ce Fix superstarify reason displaying the incorrec... - MarkKoz
44451dc Disallow resending hidden infractions - MarkKoz

odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/modmail-plugins] New branch created: vivek/channel\-tagging\-improvement
regal archBOT
#
[python-discord/modmail-plugins] branch deleted: vivek/channel\-tagging\-improvement
#
[python-discord/modmail-plugins] New branch created: channel\-tagging\-improvement
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
#

I was trying to keep the tables as close to the code as possible

I'm not sure if I agree with this approach going forward with other migrations from redis to the API. The design that makes sense for redis doesn't necessarily make sense for the API. I'd rather not have the API be beholden to the choices that were made for redis. This is more of a general comment; don't take it to mean that my alternative suggestion in this case was definitely the better choice.

If we want to make these...

odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: pr/aoc
#

a6b8c27 Add support for storing AoC related data in site - D0rs4n
19c6e7b Enhance comments and table structure in AoC rel... - D0rs4n
b93dce5 Add reason field to AoC completionist block table - D0rs4n
d18d019 Patch AoC tables to use the Discord user as PK. - D0rs4n
8c95f13 Enhance code, documentation consistency in AoC ... - D0rs4n

odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: readme\-for\-content\-directory
odd spireBOT
regal archBOT
oak estuaryBOT
#

Doc item doc_item.symbol_id='disnake.PartyType.youtube' present in loaded documentation inventories not found on site, inventories may need to be refreshed.

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

Connected!

odd spireBOT
regal archBOT
harsh perch
#

noTicE THE Year is cUT Off

regal archBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/site] branch deleted: readme\-for\-content\-directory
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
#

I tested this on my computer and it worked nicely! Not approving until the previous comments have been addressed though.

One thing I do want to bring up is perhaps using a prefix for the role scopes? I feel like we'll eliminate a potential issue with a role and an unrelated scope having matching names or similar. For example, just formatting role: in front of each name (role:Helpers for Helpers), could work nicely.

regal archBOT
#
[python-discord/sir-lancebot] branch deleted: twemoji
odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

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

GET/PATCHing a form both through the frontend and through making requests manually to the backend fails with a 404 for me, which is fixed through the suggested changes and verified by checking the state of the form in the database. Not sure if this is just an issue on my end, since it seems to work fine in @Bluenix2's testing

I used to have similar issues. See [this message in our internal channel](#dev-forms message)...

regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#

I see how this could be helpful in the face of a particular infraction by a user. If someone is advertising, it wouldn't be very productive to have the command ask them to visit a link for the particular rule in question.

Even just adding the particular rule snipped based on the optional keyword would be a more impactful way to communicate the rule that is being violated in my opinion.

regal archBOT
#
[python-discord/forms-frontend] New branch created: snekbox\-results\-feedback
regal archBOT
#
[python-discord/bot] New branch created: revert\-disnake
odd spireBOT
regal archBOT
#
jb3
[python-discord/bot] New branch created: jb3/increase\-watch\-limit
#
jb3

By default, the site infractions query API will only return 100 records,
but we have more active watches than this meaning that the response
truncated active infractions and so the bigbrother cog was not
initialising with all active watches.

This change ensures that up to 10,000 watches are fetched instead meaning no
infractions will be truncated and missed.

odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: parallel\-fetch\-user\-bb
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
#
jb3
[python-discord/infra] New branch created: jb3/certbot
#
jb3

Add a certbot role that generates a certificate on the first host in the
NGINX group and then deploys it to all other NGINX hosts. As of now we
generate wildcard certs for pythondiscord.com and pydis.wtf.

A unique SSH key is generated for each replica host which is restricted
for security purposes. A deploy hook is installed to push renewals to
other hosts.

#
jb3
[python-discord/infra] branch deleted: jb3/certbot
#
jb3
[python-discord/infra] New branch created: jb3/http\-traffic
regal archBOT
#
jb3
[python-discord/infra] branch deleted: jb3/http\-traffic
#
jb3
[python-discord/infra] New branch created: jb3/housekeeping
#
jb3
[python-discord/infra] branch deleted: jb3/housekeeping
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#

Description

ahe anagram command always wait for 60s before announcing if i got right.

Steps to Reproduce

  1. .anagram.
  2. guess the word
  3. guess correctly

Expected Behaviour

it announce that i got it right

Actual Behaviour

it have delay for some seconds

Known Impacted Platforms

  • [ ] Web
  • [x] Desktop
  • [ ] Android App
  • [ ] iOS App

Possible Solutions

not yet, will edit this msg if i get any idea

Would you like to implem...

regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: revert\-disnake
oak estuaryBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/infra] New branch created: jb3/fail2ban
#
jb3
[python-discord/infra] branch deleted: jb3/fail2ban
regal archBOT
#
[python-discord/bot-core] New branch created: revert\-disnake
regal archBOT
#

c62a52e Allow duckifying of messages in threads - TizzySaurus
7110024 Use discord.Guild.get_channel_or_thread() ins... - TizzySaurus
532ce7d chore: Simplify the permissions checking in duc... - ToxicKidz
a441a72 Merge branch 'main' into fix-issue-1930 - ToxicKidz
39deb2b Merge pull request #2087 from python-discord/fi... - ToxicKidz

#
[python-discord/bot] branch deleted: fix\-issue\-1930
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-robin] New branch created: migrate/dpyv2
regal archBOT
#
jb3
[python-discord/infra] New branch created: jb3/elastic\-stack
regal archBOT
#
jb3
[python-discord/infra] branch deleted: jb3/elastic\-stack
regal archBOT
regal archBOT
#
jb3
[python-discord/infra] New branch created: jb3/auditbeat
regal archBOT
#
jb3
[python-discord/infra] New branch created: jb3/default\-nginx\-server
#
jb3
[infra] Branch jb3/default\-nginx\-server was force-pushed to `589a6b6`
#
[python-discord/infra] branch deleted: jb3/default\-nginx\-server
#
[python-discord/sir-robin] branch deleted: migrate/dpyv2
thin oysterBOT
#
Sir Robin

Connected!

regal archBOT
#
jb3
[python-discord/infra] branch deleted: jb3/auditbeat
regal archBOT
regal archBOT
#

Hi, everyone.

Provided below is a gif of the progress thus far.

Note that I thought it may be helpful to write a simple method to scrape the Topics from https://www.pythondiscord.com/resources/ to make the !resources command a little more informative for the user. What do you think about this?

https://user-images.githubusercontent.com/64165327/158497321-d2329d73-06f0-43d8-8253-ed4420045168.mp4

Also, what are your thoughts on building out the command in such a way that accomm...

odd spireBOT
odd spireBOT
regal archBOT
#

https://www.django-rest-framework.org/api-guide/routers/#simplerouter suggests that POST isn't supported with a lookup path POST /bot/bumped-threads/<thread_id:int> only PUT or PATCH would be.

However, query params would work. I'm not sure how much better this is over just using request body though since it would be adding ?thread_id=int to the url instead of adding {thread_id: int} to the request body

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

Hi, everyone.

This pull request is in reference to approved issue #2079.

Please note, I successfully ran poetry run task precommit and poetry run task lint prior to submitting this pull request.

Demonstration of new resources command:

https://user-images.githubusercontent.com/64165327/158717263-de660c4f-8536-4df3-b827-1fbaf33a981d.mp4

Notes:

  • Edge cases like !resources data science @iamericfletcher link the user to the resources page without any filterin...
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/branding] New branch created: update\-lunar\-events
regal archBOT
#

This PR accounts for some adjustments for lunar events of 2022.

  • Holi is bumped up approximately a week to March 18.
  • St Patrick's Day event is shortened by 1 day as a result.
  • Diwali is bumped up approximately 2 weeks to October 19.
  • Halloween event is shortened to 1 week as a result.

These days can be adjusted again next year because according to Google, Holi 2023 will be in early March and Diwali 2023 will be in November again.

odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#

I've made a banner and icon for pyweek 33. The banner dimensions are 4001/2251px which should be 16:9. The icon is 1825/1825px. Unfortunately due to incompatibility of some of the appearances in illustrator with the svg format, the banner svg file is missing the drop shadow effect along with some minor inaccuracies compared to the png files.

Assets added:

  • icon.svg
  • icon.png
  • banner.png
  • banner.svg
  • banner_link.png (includes a link to pyweek.org in the corner)
  • middle_bann...
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
regal archBOT
regal archBOT
#
        await ctx.reply("\u2705 Changes may take up to 10 minutes to take effect due to rate-limits.")
        await ctx.channel.edit(name=name)

Having them embed say it was successful in the title, and then say it make take 10 minutes in the description seemed odd.

This makes it clear to new mods why it would take 10 minutes, and also removes the need to add the reaction afterwards too.

night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
regal archBOT
#

I think it's because the duration converter returns a datetime and Arrow does not subclass it.

I'm not sure why the type is being checked though, especially since it's silently ignored. The converter always returns a datetime, and this decorator is only intended to be used with that type. Thus, if the type doesn't match then it's a programmer error that should not just be ignored.

One could argue that the type check can still be used to raise a clearer error message but I argue that i...

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

On it's own this issue doesn't communicate any motivation or reasoning.

@gitautas the main reasoning is cited, "re-render a page/component but keep track of prior state/entries". We want to keep track of the state of the form when the user closes the page.

The issue does lack a bit the full goal which is to persist (probably in localStorage) the state of all partially completed forms and restore on form open, which will ensure that progress is not lost should a form be open/closed/etc.

regal archBOT
odd spireBOT
regal archBOT
#

I think your original intention was to only test the custom serialisers, but it seems like you're testing other methods as well. If you were trying to test everything, then you have not covered all methods.

I'm not sure I follow, I tested unauthed requests for each endpoint. Then I also have a test for all the custom stuff I added, the list serializer and the custom retrieve method I added.

odd spireBOT
regal archBOT
#

I think your original intention was to only test the custom serialisers, but it seems like you're testing other methods as well. If you were trying to test everything, then you have not covered all methods.

I'm not sure I follow, I tested unauthed requests for each endpoint. Then I also have a test for all the custom stuff I added, the list serializer and the custom retrieve method I added.

There is no authenticated test for POST (create).

regal archBOT
odd spireBOT
regal archBOT
#

Thank you for the PR!

We should add YAML frontmatter and I don't think we should use markdown headers for the text. As for frontmatter, see this PR for an example. How about we start with something like this:

---
title: Custom Help Command
description: "Overwrite discord.py's help command to implement custom functionality"
---

First,  a [basic walkthrough](https://gist.github.com/InterStella0/b78488fb28cadf279df...
odd spireBOT
regal archBOT
#

I think your original intention was to only test the custom serialisers, but it seems like you're testing other methods as well. If you were trying to test everything, then you have not covered all methods.

I'm not sure I follow, I tested unauthed requests for each endpoint. Then I also have a test for all the custom stuff I added, the list serializer and the custom retrieve method I added.

There is no authenticated test for POST (create).

Yea, I didn't bother...

regal archBOT
#

Please see my other comments before spending too much time with this.


requests will be blocking the bot from doing other things. Take a look at HTTPX which we use.

Create another function, that's defined as async def to be able to await when using httpx's AsyncClient. Now, make the request and define a content variable set to the content of the request (similar to how you currently do page.content). Then, change get_topics() to tak...

regal archBOT
regal archBOT
#

The URLs aren't hyperlinked. Let's get them to do that. Removing backslashes to keep the formatting consistent with other guides.

To change them:

* [https://www.scaleway.com](https://www.scaleway.com)
    * Based in Europe.
* [https://www.digitalocean.com](https://www.digitalocean.com)
    * US-based.
    * Considered by many to be the gold standard.
    * Locations available across the world.
* [https://www.ovh.co.uk](https://www.ovh.co.uk)
    * France and Canadian...
#

Hey Robin, we'd drafted a different message to pin re: VPS services in an internal channel some time back (January 15th).
<img width="309" alt="image" src="https://user-images.githubusercontent.com/37447267/159114288-6d87b20c-3918-4794-a07e-94a8f4cd8503.png">
([message link](#organisation message) (staff-only channel))
IMO this PR should reflect the newly drafted message because the re-wording of the descriptions of some of th...

regal archBOT
odd spireBOT
regal archBOT
#

It seems to me that this should just be a utility function imported from another module. It's a general purpose function to format a bot message (despite its specific name), and it could easily be made a static method, as the only usage of self is to get the bot instance, which can be imported or sent as an argument.

This is what we do with helper functions which are used in multiple modules, seems appropriate here as well.

regal archBOT
#
[python-discord/bot] New branch created: bump\-d\.py\-version
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#

There's a few ways to fetch a bunch of members but this does not seem like the most optimal way.

Consider using https://docs.disnake.dev/en/latest/api.html#disnake.Guild.query_members in order to request multiple members at once. This can fetch upto 100 users at once, which means using https://docs.disnake.dev/en/latest/api.html#disnake.utils.as_chunks in order to have lists of up to 100 users

While these links go to disnake they are the same in dpy

regal archBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/forms-backend] branch deleted: roles
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: thread\-dumping\-support
#

30b7b42 Move FilterList imports down so they're sorted - ChrisLovering
0aed5f7 Add support for BumpedThreads to be stored in site - ChrisLovering
3e95570 Only return list of ints when retrieving all Bu... - ChrisLovering
a018061 Don't return the BumpedThread object when retri... - ChrisLovering
cb52e60 Add tests for custom BumpedThread impl - ChrisLovering

odd spireBOT
regal archBOT
#

Resolves #685 and #483

Done

  • Added a walk-through to main contributing landing page with links to various guides and some text to motivate the step.

    • Moved the section on the Contributors role to the roles page.
  • Got rid of the old Supplemental Information page and split it's sections into more appropriate locations.

    • Linting, Logging, and Writing Good Commit Messages each got their own page. The commit messages page is under Contributing Guidelines, the others are in t...
odd spireBOT
regal archBOT
#

This language might be a bit confusing to readers, "You can handle when there is no command" is trying to explain if no command is passed in and just the bare help command, however the language itself seems to be describing something else.

You can handle when there is no command passed into the help command and make a fancy embed;  a page that describes the bot and shows a list of commands is usually ideal here, however if a command is passed in, you can get display detailed ...
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
#

Doc item doc_item.symbol_id='disnake.PartyType.awkword' present in loaded documentation inventories not found on site, inventories may need to be refreshed.

regal archBOT
#
[python-discord/site] New branch created: json\-is\-not\-good\-database
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: keeping\-tokens\-safe
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
#

It may be best for us to use a different website than this one, due to the website's creator no longer being a part of this org.

Along with that, the we should probably wrap .env in a minature code block, shown below.

To help prevent leaking your token, you should ensure that you don't upload it to an open source program/website, such as replit and github, as they show your code publicly. The best practice for storing tokens is generally utilising `.env` files to export...
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot-core] New branch created: bump\-d\.py\-and\-add\-BotBase
#

This bumps d.py up to a more recent commit, that includes the changes to make cog.ext loading async. See here for more reading https://gist.github.com/Rapptz/6706e1c8f23ac27c98cee4dd985c8120.

This also adds a BotBase class, which is intended to be used by all our bots. This base class implements a lot of our "boiler plate" code, such as stats, root aliases and wait_until_guild_available to name a few.

Since the extensions util is only used on bot startup, to load extensions, I have remo...

regal archBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
#
[python-discord/modmail-plugins] branch deleted: channel\-tagging\-improvement
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#

Description

How Long To Beat is a page where you can find how much time a game takes to be beaten on average.

Reasoning

It's a good and convinient tool for people interested in gaming.

Proposed Implementation

  1. Make a request to hltb search page.
  2. Scrap the game id. bs4? (might change if smt better is found)
  3. Make another request to the page with the obtained id,
  4. Obtain from the previous request the completions times.
  5. Genera...
regal archBOT
#

This migrates the tag, so I'm approving.

That said, I do think the content is a bit weird, since the second paragraph makes the following points:

  • "No redundancy built into JSON"
  • "No built in ways to keep it safe and backed up"
  • "No built in encryption", with some inclusion of GDPR

This, to me, sounds like standard databases offer any of that, out of the box. Unfortunately there's no magic setting or function in PostgreSQL where I can go SELECT spin_up_slaves(3), `SELECT per...

#
[python-discord/site] New branch created: fix\-image\-link
odd spireBOT
regal archBOT
#

I think it's probably better for us to link the official Python docs here (and also trim the whitespace):

First, the [documentation on inheritance](https://docs.python.org/3/tutorial/classes.html#inheritance) on subclassing will provide some fundamental knowledge, which is highly suggested before moving on to this topic, as subclassing [Context](https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Context) can ultimately be a complicated task...
odd spireBOT
regal archBOT
#

I put a comment of key word arguments there in the init with the intention of increasing the need to go over the subclassing_bot article to understand how to subclass bot. If I were to add the key word arguments, in my opinion people are more likely to just copy paste without fully understanding (in line 12, I wanted to link the subclassing_bot file). But if this isn't a good reasoning I can change it.

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

Changing my position to block this PR until we also remove the modlog ignore for invocations of !voiceverify

https://github.com/python-discord/bot/blob/ee5a2166e08805a31dd6141db663ccacfde0b551/bot/exts/moderation/voice_gate.py#L242-L243

My justification is that when users contact the moderation team claiming they meet the requirements but still aren't able to pass voice gate, the first thing a moderator thinks to check is the message logs to see if they've correctly attempted the comma...

regal archBOT
#

Changing my position to block this PR until we also remove the modlog ignore for invocations of !voiceverify

https://github.com/python-discord/bot/blob/ee5a2166e08805a31dd6141db663ccacfde0b551/bot/exts/moderation/voice_gate.py#L242-L243

My justification is that when users contact the moderation team claiming they meet the requirements but still aren't able to pass voice gate, the first thing a moderator thinks to check is the message logs to see if they've correctly attempted the...

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: log\-voiceverify\-messages
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/sir-robin] New branch created: pr/extloadtask
#

It seems like it should be possible by using Attributes in the class/init docstring, adding a docstring after the attr, or using #: on the line before it.

However all of these methods result in the follow error when building the docs Handler <function doctree_read at 0x0000026AE96A80D0> for event 'doctree-read' threw an exception (exception: type object 'BotBase' has no attribute 'all_extensions') I've spent about an hour googling around trying to figure out why this happens but ha...

regal archBOT
regal archBOT
#

Doing a naive git log --grep closing_tasks I found these two:

regal archBOT
#
[python-discord/site] branch deleted: fix\-image\-link
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: remove\-resource\-suggestion\-template
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: log\-voice\-role\-assignments
odd spireBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
regal archBOT
#

We can actually simplify this and repeat less code:

        resource_url = "https://www.pythondiscord.com/resources/"

        if resource_topic:
            # Capture everything prior to the new line allowing users to add messages below the command then prep for url
            resource_topic = resource_topic.splitlines()[0].lower().replace(" ", "-")
            resource_url = f"{resource_url}?topics={quote(resource_topic)}"

        embed = Embed(
            title="Reso...
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/sir-robin] New branch created: feat/formatter
#
[python-discord/sir-robin] branch deleted: pr/extloadtask
thin oysterBOT
#
Sir Robin

Connected!

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-robin] New branch created: feat/pep\-command
regal archBOT
#
[python-discord/sir-robin] branch deleted: feat/pep\-command
thin oysterBOT
#
Sir Robin

Connected!

odd spireBOT
regal archBOT