#dev-log

1 messages ยท Page 70 of 1

regal archBOT
#
[python-discord/sir-lancebot] New branch created: more\-topics
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] New branch created: bookmark\-react\-for\-copy
#
[python-discord/sir-lancebot] branch deleted: more\-topics
#

Relevant Issues

Closes #341

Description

Removed the previous โœ‰ emoji that got added the to author's message.
Replaced it with the below functionality:
When someone calls .bm on a message the bot will:

  • Send a DM as normal (with the same error embed if DMs are disabled)
  • Send an embed explaining that you can react to the embed and also get sent a DM with a link
  • Add a ๐Ÿ“Œ emoji to the embed
  • Have a 2 min wait_for listening for ๐Ÿ“Œ reactions
  • On reaction, the bot ...
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
#
jb3
[python-discord/bot] New branch created: joe\-codeowners
odd spireBOT
regal archBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/bot] branch deleted: joe\-codeowners
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#

This is an unusually large PR, and it probably has to be, so I'm not going to go through every single line of code here, but I'll comment on the high level stuff.

First of all, I'd like to say that this is an exceptionally excellent pull request. The code is idiomatic, well documented, and frankly, quite beautiful. It is a real pleasure to read it.

You mention in the PR description that you haven't written many tests for this, and I think that's absolutely fine. We probably should have ...

#

I'm getting errors at the following links:

  • /resources/reading/
  • /resources/videos/

Please check the YAML, since it's likely due to colons and quotes that aren't properly escaped/quoted in fields.

I'm also unsure about the payment info (pricing) being shown next to the resource entries, since we don't have it on the current site (although the information is in the original YAML).

Can @lemonsaurus advise on whether we want payment info?
![image](https://user-images.githubusercont...

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: content\-app\-improvements
regal archBOT
#

Simplifications

  • Metadata for categories now use title as the key to match page metadata, previously it was name.
  • Rather than having two separate keys for the Font Awesome icon class and icon, it is now under icon.

Structure enhancements

This PR adds a way to have a path be both a category and a page. This is useful for places like /contributing, where https://pythondiscord.com/pages/contributing/ is a rendered page while still being a category for https://pythondisco...

regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/branding] New branch created: ci/143/status\-embed
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] New branch created: revert\-639\-patch\-1
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] branch deleted: revert\-639\-patch\-1
#
[python-discord/sir-lancebot] New branch created: missing\-commas
#
[python-discord/sir-lancebot] branch deleted: missing\-commas
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

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

Even if it's validated branding-side, bot still needs to do something in the case that the dates aren't there. In either case, we'll get an exception; in this case, the exception will actually tell you the cause of the error.

Despite branding having validation, you can still get an invalid event here e.g. if someone pushes directly to branding main. CI will fail, but we fetch directly from the repo. Or what if there's a bug in the validation script? It's unlikely, but an exception must be ...

regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: sebastiaan/increase\-help\-channel\-count
#

We've seen an increase in help channel activity and we're running out of help channels frequently. That's why we're increasing the number of help channels from 38 to 42.

Note that the old configuration said 32, but we had more channels in actual rotation due to a race condition we had in the past. The
system will never delete channels that were already in rotation, meaning that those that were added over the limit in the past still exist.

#
jb3
[python-discord/bot] branch deleted: sebastiaan/increase\-help\-channel\-count
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

On one hand, it may be more convenient to keep all files related to a category within the same directory. On the other hand, it's less intuitive when considering how normal categories and pages are defined. Have you thought about moving the page out of the directory and instead detecting if the directory contains both a file and subdirectory with the same name (excluding the file extension)?

odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: fix/dmrelay
#

Description

This PR brings a few fixes and small improvements to !dmrelay and related code.

  • Removed the dm_log channel and webhook from the config
  • Replaced textwrap.dedent with implicit line continuation
  • Added handling for failures for uploading to hastebin

Unrelated, but I've also removed the user event announcements channel from the config as well, since we've deleted it from our archives.

odd spireBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/bot] branch deleted: help\-channel\-closing\-delay\-changes
#
jb3

6b9c954 Split out help channel idle time constants - ChrisLovering
ce86169 Set a reasonable default for idle_minutes_othe... - ChrisLovering [243d465](https://github.com/python-discord/bot/commit/243d4657bfeafe31bc3ba9666b35a88eeef74a92) Update help availible footer - ChrisLovering [b3c66a6](https://github.com/python-discord/bot/commit/b3c66a6fb07ebc92c0b53d946cf10df6c1107303) Extend close time logic to differentiate betwee... - ChrisLovering [9503a2e`](https://github.com/python-discord/bot/commit/9503a2edc7b9609da6f96a65c9742259f106bbb1) Improve trace message. - ChrisLovering

odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#

6b9c954 Split out help channel idle time constants - ChrisLovering
ce86169 Set a reasonable default for idle_minutes_othe... - ChrisLovering [243d465](https://github.com/python-discord/bot/commit/243d4657bfeafe31bc3ba9666b35a88eeef74a92) Update help availible footer - ChrisLovering [b3c66a6](https://github.com/python-discord/bot/commit/b3c66a6fb07ebc92c0b53d946cf10df6c1107303) Extend close time logic to differentiate betwee... - ChrisLovering [9503a2e`](https://github.com/python-discord/bot/commit/9503a2edc7b9609da6f96a65c9742259f106bbb1) Improve trace message. - ChrisLovering

#
jb3
[python-discord/bot] branch deleted: fix/dmrelay
#
jb3

b030711 Remove dm_log from channels and webhooks in t... - Den4200
d77af18 Replace usage of textwrap.dedent with a clean... - Den4200
2334c95 Gracefully handle failure to upload to hastebin... - Den4200
0b4e488 Removed user event announcements from the config. - Den4200
2dd9fbd Merge branch 'main' into fix/dmrelay - Xithrius

odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: fix\-delete\-closing\-reason\-stat
odd spireBOT
regal archBOT
#

Relevant Issues

Closes #561

Description

Sometimes when you invoke a command, you make few typos, like instead of .bookmark, you would type .bookmrk. In such cases sir-lancebot should do some magic come and come up with suggestions for there miss pelt command. The suggestion embed would stay for 10 seconds and then get deleted, giving the user enough time to copy/paste the suggestion!

Screenshots

![Screenshot from 2021-03-31 04-03-12](https://user-images.githubuserco...

odd spireBOT
regal archBOT
#

None of the slices are formatting any text for the frontend. It's merely a sanity cutoff to prevent 400s in unexpected situations. If I'm remembering correctly, all embeds built with this helper use static, hard-coded messages.

For the other cases, the same applies. It is basically impossible that we'd have an event with >256 characters in its name; event descriptions are already validated to fit into the limit; date durations cannot exceed the limit (month names just aren't long enough).
...

regal archBOT
#
  1. make_embed embed function doesn't take in event descriptions, it is only used in cases error/success embeds.
  2. send_info_embed is used for sending information embeds regarding the event change, which also uses slicing (line 300), on self.cache_information.get("event_description"), here the event_description is just the Description of the event and not the name too.

Which does seem to work.

![Screenshot from 2021-03-31 07-37-39](https://user-images.githubusercontent.com/...

regal archBOT
#

I've thought of that. I personally find putting category pages in the category itself more intuitive.
If contributing.md is placed in the guides folder, what would be the description shown in the entry for Contributing in ..com/guides/? The current implementation shows the information from contributing/_info.yml, while the rendered page has metadata from contributing.md.
Would placing contributing.md in the guides folder then make it confusing as to what information gets dis...

regal archBOT
#

I see it as less intuitive because it breaks the established convention of a page being a file that is a direct child of the directory. Your point about info coming from different pages follows the same behaviour a normal page and category would follow. Really, the only deviation is that clicking the link in the parent category listing will lead to the page rather than to another category listing. It makes sense to me since I understand that when the parent lists it, it treats it as a normal ...

regal archBOT
regal archBOT
#

For what is worth, Iโ€™d rather always have caches in the same file as the code when possible.

I believe if the caches are in a separate file in the help channel cog for instance it is because they are used by some functions outside of the cog. I guess we could access it through the help channel but we may run into issues due to reloads and similar. Keeping them global is the easiest choice for those.

Here since the caches are used only in this cog, they should be a class attribute.

regal archBOT
#

make_embed embed function doesn't take in event descriptions

Yes, that's what I'm saying. The messages are static. I see no need to run them through shorten.

here the event_description is just the Description of the event and not the name too

This is incorrect, the whole description including the name is cached as a single string. And even if it wasn't, it doesn't make sense to collapse whitespace. Maybe some descriptions will have two paragraphs.

You're showing that t...

#

I know it doesn't; the only instance attribute is the bot instance, which is only there so that we can access the HTTP session.

The question is whether a function should be static every time it theoretically can be. It's never used statically, and never will be, because you need the HTTP session to get the meta file. Decorating it as static adds no benefit apart from making the PyCharm yellow wiggly line go away, and in my opinion communicates the wrong thing.

#
[python-discord/sir-lancebot] New branch created: akarys/new\-policy\-document
#

That's not entirely correct, the event description can change even if the event itself doesn't. That's why it's written to the cache unconditionally.

The conditions for sending the notification have changed slightly since the revision you placed this comment on, but you are right that the path write could be conditional. I think I just didn't want to add an extra branch; functionally it doesn't matter.

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

Right, found the problem,

>>> description = """
This is paragraph 1.
This is paragraph 2.
This is the last paragraph
"""
>>> textwrap.shorten(description, 30, placeholder="...")
'This is paragraph 1. This...'
>>> textwrap.shorten(description, 30, placeholder="...", break_long_words=False, replace_whitespace=False)
'This is paragraph 1. This...'

But still I don't agree with abruptly breaking the description here so we can do it like this:

Embed(
    title=...
regal archBOT
regal archBOT
#
jb3
[python-discord/sir-lancebot] branch deleted: akarys/new\-policy\-document
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

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

Connected!

regal archBOT
odd spireBOT
regal archBOT
#

@Shivansh-007 Thanks for the review!

@jb3 Thanks, I improved docs in 220590c and added fetch success logs in b778c25. I've chosen debug level though, hope you agree that works. Since each event requires a fetch, info would be noisy in production.

@dawnofmidnight Thanks. :hugs:

Solution now targets branding's production branch and should be good to go.

oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: stream\-and\-revokestream\-commands
#

Closes #1343

This is a fork from #1303 as the user could not continue with the project.

These commands allow mods to give temporary screen sharing permissions to users, with a default value pulled from the config.yml (currently set to 30minutes).

This cog also allows users to be given permanent video permissions, or have their permissions revoked.

This uses the redis cache to ensure that revoking temporary permissions is not forgotten about when the bot restarts.

odd spireBOT
regal archBOT
regal archBOT
#

Build-Your-Own Ducky!

Well by now you know what this issue is going to be about, so lemme just brief it to you - Duckies are lovely, so why not have a command which can:

  • Allow you to build a ducky image, with help of reactions, or maybe
    user input.
  • Or make a random ducky for you, using vco's ducky algorithm.

Allow users to build there own ducky!

So now lets get to the details of this, we would build embed pages for each of the layers, namely

  1. The duck it...
regal archBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: policy\-documents
#
[python-discord/snekbox] New branch created: policy\-documents
#
[python-discord/site] New branch created: policy\-documents
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: policy\-documents
#
[python-discord/site] branch deleted: policy\-documents
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
#

Plot twist: I did it anyways since it's it's not a big change. The dropdown only shows up on category-page-hybrids and look and function similar to the one shown on the current site when you're logged in.

The differences are that it only shows direct children, since any sub-categories show their children on their page anyway, and that the dropdown is click-toggled and not hover-toggled to be mobile-friendly.

regal archBOT
#
[python-discord/branding] New branch created: lemon/add\_cop\_lemoji
regal archBOT
regal archBOT
regal archBOT
#

Description

A command to fetch a random duck from QuackStack.

https://github.com/python-discord/quackstack

Proposed Implementation

This command can be called in two ways:

  • With .quack, you simply get a completely random duck. Different every time.
  • By using .quack , you'll get a duck that's always the same if the seed is the same.

Is this blocked?

Probably. We need to get Quackstack to a more finished state before it will be possible to do this issue. If you're wo...

#

@Shivansh-007 This is a well-specified issue, thanks for opening it.

I think putting the build-your-own-ducky feature into the bot is a UX nightmare, but since we'll be doing that on the site in https://github.com/python-discord/site/issues/465, this will still be solved.

I do think we should put a simpler random duck feature into Sir Lancebot, though, so I'm opening a similar issue now that's a little smaller in scope. - See https://github.com/python-discord/sir-lancebot/issues/652

regal archBOT
regal archBOT
#
[python-discord/bot] branch deleted: fix\-delete\-closing\-reason\-stat
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/snekbox] branch deleted: policy\-documents
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: allow\-poll\-to\-leads
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#

Will be reopening this issue and marking it as deferred until quackstack is done. After that we can discuss if we want such a feature.

For the record, the current concerns about this feature would be the UX design and the fact that we would have to regenerate the ducky every time an option change which would hurt ratelimits, bandwidth and resources, we shall benchmark all of this.

I still would like to raise a simple suggestion, maybe having a build your own duck is better in a web int...

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

Why make a separate command instead of allowing the original one to work everywhere for moderators?

To discourage moderators from running the nominate command in channels other than the nominations channel, for example if they clicked on the wrong channel or didn't realise they should only use the nominations channel, while still allowing them to bypass that if necessary. Granted theses cases would be rare, but I don't think there's much harm in adding a separate command.

#
jb3
[python-discord/olli] New branch created: main
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/olli] New tag created: v0\.0\.4
#
jb3
[python-discord/olli] New branch created: case\-sensitive\-tokens
#
jb3
[python-discord/olli] branch deleted: case\-sensitive\-tokens
#
jb3
[python-discord/olli] New branch created: version\-0\.1\.0
#
jb3
[python-discord/olli] branch deleted: version\-0\.1\.0
#
jb3
[python-discord/olli] New tag created: 0\.1\.0
regal archBOT
#
jb3
[python-discord/olli] New branch created: release\-tag\-validation
#
jb3
[python-discord/olli] branch deleted: release\-tag\-validation
#
jb3
[python-discord/olli] tag deleted: 0\.1\.0
#
jb3
[python-discord/olli] New tag created: v0\.1\.1
#
jb3
[python-discord/olli] New branch created: tag\-name\-validation\-fix
#
jb3
[python-discord/olli] branch deleted: tag\-name\-validation\-fix
#
jb3
[python-discord/olli] tag deleted: v0\.1\.1
#
jb3
[python-discord/olli] New tag created: v0\.1\.1
regal archBOT
#
jb3
[python-discord/olli] New branch created: install\-docs\-rewrite
#
jb3
[python-discord/olli] branch deleted: install\-docs\-rewrite
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
#

Description

Admins should be able to run evaluations on sir-lancebot at runtime.

Proposed Implementation

The implementation can be similar to the one in the bot, but it's possible the code is outdated or over-complicated, so alternative suggestions are fine.

Would you like to implement this yourself?

  • [ ] I'd like to implement this feature myself
  • [x] Anyone can implement this feature
#
[python-discord/sir-lancebot] New branch created: issue\-command\-hotfix
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
regal archBOT
#

Python Bot Suggestion

When using the pep command, one should be able to 'reference a header'. For example if someone wants to send info on max line length from pep8, they should be able to do

!pep 8 #maximum-line-length

This should make the link url be https://www.python.org/dev/peps/pep-0008/#maximum-line-length

What if someone wants to reference a channel after the pep command

Example: !pep 8 #python-general
Solution:
In order to actually reference a header ...

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: content\-app\-improvements
regal archBOT
regal archBOT
#
jb3

Downloading a ZIP during build sounds fine, but maybe a background task in quackstack itself is a better idea? That way we don't have to redeploy every time we want to get new assets in.

I'm not of the opinion that submodules suck, per se, but I think that for a repository that is as active as branding and the want to have new assets live on quackstack immediately it does present a bit of a problem that we need to manually bump here.

#
jb3
[python-discord/quackstack] New branch created: review\-policy\-whitespace
regal archBOT
oak estuaryBOT
regal archBOT
#
[python-discord/quackstack] branch deleted: review\-policy\-whitespace
regal archBOT
regal archBOT
#
jb3
[python-discord/quackstack] New branch created: docker\-image\-submodules
odd spireBOT
regal archBOT
#
jb3
[python-discord/quackstack] branch deleted: docker\-image\-submodules
#
[python-discord/quackstack] New branch created: time\-fix
#
[python-discord/quackstack] branch deleted: time\-fix
#
[python-discord/quackstack] New branch created: time\-fix
#
[python-discord/quackstack] branch deleted: time\-fix
oak estuaryBOT
oak estuaryBOT
regal archBOT
#

Waiting for 5 minutes, just for cloning to happen is not a good sign, the branding repository is huge and the whole repository is not needed, so an ideal idea is to either:

  1. Fetch all the files in the directory using GitHub API.
  2. Or just download the quackstack folder using https://download-directory.github.io/.

This would be kept as a background task which would periodically so that it can pull the new assets, in case any where added. I would be willing to work on this.

Possibl...

regal archBOT
regal archBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: mbaruh\-staff\_info
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/quackstack] New branch created: duckinuous\-quackration
regal archBOT
#
[python-discord/quackstack] branch deleted: duckinuous\-quackration
#
[python-discord/forms-frontend] branch deleted: sentry\-action
#
[python-discord/quackstack] New branch created: ks123/docker\-cache
#
[python-discord/quackstack] branch deleted: ks123/docker\-cache
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
#

Should we just leave the mapping empty or should it be removed if all its children are removed? Removing it may lead to a better error. An attribute missing is a consequence of the entry being unloaded, so an error stating the entry is missing seems ideal. I believe this only matters because we have the reference descriptor.

We could delete the node if it is empty, sure. But if we ever overwrote an attribute, we can't do that.

In a similar vein, should the node be removed from `...

regal archBOT
regal archBOT
#

I switched to an isolated YAML loader in 1ce3179, with the !REF construct already in. I also added a loader keyword argument to the load() function to select which loader you want to use. I think we can assume that the user doesn't want the !REF constructor if they use another loader, or will have to add it manually.

I didn't add any load_stream() function since this can be done through a StringIO, do you think that's really needed?

regal archBOT
#

Description

When the command !help is used in a channel such as #python-general, Python prints out the result in #bot-commands. However, when a command like !eval is used, Python simply tells the user that they can't do that here. It would be nice if Python showed the results of !eval in #bot-commands the same way it does for !help

Reasoning

It would enhance the user experience because they wouldn't have to type it all over again.

Proposed Implementation

The sa...

regal archBOT
#

fe04600 Added moderators category to config - wookie184
5590a2f Limit nominate to nominations channel - wookie184
9251e8d config and constants changes - wookie184
b679dfb Merge branch 'main' into limit-nominate-command... - Akarys42
47d535c Merge pull request #1479 from python-discord/li... - Akarys42

#
[python-discord/bot] branch deleted: limit\-nominate\-command\-channels
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

Taking a look at the testing run shows some weird errors with the MagicMock class, which I assume has to do with the mock roles.

The bot runs and performs fine when I run it, but the tests seem to be a different story. I'd prefer to use the Member.color property as @anand2312 suggested since it's a lot cleaner, but that seems to have thrown a wrench into things.

I'm unfamiliar with this mock testing setup to be honest - anyone able to spot the issue here?

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

Connected!

regal archBOT
regal archBOT
regal archBOT
#

A few important notes:

  • There are now two silverduck templates folders in the quackstack folder. We only need one, let's keep the one with the underscore.
  • Nobody is using the masks, so let's get rid of the masks folder.

I think for the sake of my sanity, we need to reorganize a little bit. This might be a breaking change for quackstack if it has already implemented and hardcoded the locations, but I think we can afford that.

@Akarys42 @vcokltfre giving you guys a heads up, ...

#

I don't think version bumping is such a bad idea to be honest. I get wanting assets to go live immediately, but python-discord/branding#148 demonstrates some of the problems of having a non-locked dependency.

From my understanding of the issue, if that PR was merged right now, and we had automatic pulling of assets, quackstack would crash. I think that expecting two PRs in two different repos for one change is a lot yes, but that's preferable in my opinion to the suggested alternative.

...

regal archBOT
#

Description

Sometimes, after a pfp change, the bot cache tries to get a user pfp but its not valid anymore and doesn't properly handle the errors. In most cases, it results in an image not even being presented.

Steps to Reproduce

Change pfp, wait until discord deletes your old avatar, then run any profile command.
(Tested with .8bitify)

Expected Behavior

What should happen is either an error message or a response.

Actual Behavior

Absolutely nothing occurs a...

regal archBOT
#
[python-discord/bot] New branch created: vcokltfre\-intents\-classmethod
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] New branch created: vcokltfre\-avatar
#

Description

Instead of using the cached user the bot now explicitly fetches the user from the API to get the most up to date profile info

Reasoning

This is because some API events arent going through on pydis (user_update) and the cached user isnt being updated with a new avatar

Did you:

  • [x] Join the Python Discord Community?
  • [x] If dependencies have been added or updated, run pipenv lock?
  • [x] Lint your code (`pipenv run l...
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: ks123/ghcr\-token\-to\-github
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: ks123/ghcr\-token\-to\-github
odd spireBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/site] branch deleted: ks123/ghcr\-token\-to\-github
#
[python-discord/bot] branch deleted: ks123/ghcr\-token\-to\-github
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] New branch created: ks123/ghcr\-token\-to\-github
#

Relevant Issues

Internal decision to migrate, no issue open.

Description

GITHUB_TOKEN has now enough permissions to be used for pushing to GHCR, so we don't need PAT anymore.

Did you:

  • [x] Join the Python Discord Community?
  • [x] If dependencies have been added or updated, run pipenv lock?
  • [x] Lint your code (pipenv run lint)?
  • [x] Set the PR to allow edits from contributors?
odd spireBOT
odd spireBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
odd spireBOT
regal archBOT
#

Description

  • Get rid of submodules.
  • Add duck-builder assets, ported from python-discord/aaaaAAAA
  • Switch to new layout suggested my lemon.
  • Merge duck builder READMEs into a single README.
  • Changes Paths in generator.py according to the changes done to the assets.
  • Remove glasses.svg, it would be done together sometime in the future

Reasoning

Using .gitmodules takes literally ages to clone and bumping them regularly is not an ideal solution, an other solution discus...

odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: vcokltfre\-intents\-classmethod
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#

The trace log level should be used for verbose logging, however because of the current setup where every logger always outputs trace logs, it is hard to properly utilize the log level without adding noise to the logs while that module isn't being worked on.

The root logger should be set to the debug level, with trace logs only being enabled for loggers with names that were specified by the user. These names can be listed in an env var, with the ability to also set the root logger to the tr...

regal archBOT
regal archBOT
#

joe:

for random duckies I'm tempted to say we should go with colorsys hsv/hsl because it gets nicer colours

I'm personally not familiar at all with HSL, but if someone else wants to implement this to get nicer colour generation be my guest!

If you want an example of how this is done in a way that gets ideal duck colours, check out: https://github.com/python-discord/aaaaAAAA/blob/main/aaaaAAAA/procedural_duckies.py