#dev-log

1 messages ยท Page 93 of 1

odd spireBOT
regal archBOT
#
[python-discord/forms-backend] branch deleted: bump\-uvicorn
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
#

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

regal archBOT
odd spireBOT
regal archBOT
#

Description

A .joke command, using the pyjokes library . Most of the jokes are programming based.

Reasoning

It would be another fun command for sir lancebot, and as I said earlier, the jokes are programming based, which the community will find relatable.

Proposed Implementation

I haven't implemented this in a discord bot yet, but I plan on doing so soon. This
is how it works (I tested it in a normal python program)

![image](https://user-images.githubusercon...

regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: coveralls\-dep
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: mbaruh/reminders\-fix
oak estuaryBOT
#

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

mint goblet
#

!docs refreshdoc

oak estuaryBOT
#
Inventories refreshed

- scipy, numpy```
regal archBOT
regal archBOT
#

@GDWR

Okay, so you understand the mechanism by which multiple themes can be defined for django-simple-bulma, that's good. So all we need to do is dynamically modify the theme name that the bulma loader tag will use.

So, for example, instead of {% bulma %}, we will do {% bulma user_theme %}, and here user_theme will need to be a variable that exists in the context.

Next, we need to make sure that variable gets added. You mentioned context processors, and that's an absolutel...

regal archBOT
#

Once in a blue moon (that day was today) a user somehow gets the Voice Verified role but the event is not logged by Discord's audit log nor in our #user-log.

Currently, the messages in #voice-verification that get deleted by the bot are logged in #message-change-log with the exception of invocations of the !voiceverify command.

We would like to see the bot not ignore these messages, and still log them.

The relevant sections of code (thanks @ChrisLovering)

https://github.co...

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

With the Exercism resource, it says a name of Exercism.io, with a website of exercism.io.

While thE website is historically correct, it is no longer correct! The website does redirect correctly, but we should probably use the new link anyway (exercism.org)

I'd say that the name should just be Exercism as well!

I am happy to fix this!

regal archBOT
regal archBOT
#

Resource name
Dear PyGui

Resource location
https://github.com/hoffstadt/DearPyGui

Payment type
Free (MIT license)

Why it should be included
Dear PyGui is a fast and powerful cross-platform Graphical User Interface Toolkit for Python with minimal dependencies, available under a permissive MIT license. It fits in with GUI frameworks such as Tkinter, PySimpleGui, PyQt and WxPython. Each framework has its strengths and weaknesses. Dear PyGUI stands out in its comb...

regal archBOT
#

I was referring to the following page that links to Kivy, Pandas3D and Pyglet or their Discord servers.

https://www.pythondiscord.com/resources/?topics=user-interface

If more appropriate, I'd suggest a link to the Dear PyGui Discord server: https://discord.gg/tyE7Gu4

Apologies if I misunderstood. I don't mean to argumentative, but to explain why I thought it might be appropriate given the references to these other comparable libraries.

odd spireBOT
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: chris/fix/help\-channel\-errors
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

An addition to this I thought of is when someone claims a how-to-get-help channel it could check if their initial message is in a list of common first messages like hello, hi, help me etc. and if it does have the bot wait say 10 seconds and if the user that claimed the channel is not typing (I believe you can check that, if you can't then have this happen after say 60 seconds of no messages) have the bot reply to the message restating:

Remember to:
โ€ข Ask your Python question, not if...

regal archBOT
#

I'd like for the resources command to have a single, optional parameter for specifying the topic. For example, !resources data science should return the URL for the resources page, pre-filtered to show all data science resources. This only requires appending the URL to include ?topic=data-science.

I think trying to support more filtering options than this (like support for more than one option or settings for the other filters) would be too complicated for the command, but I can see th...

regal archBOT
#

Sentry Issue: SIR-LANCEBOT-7R

NotFound: 404 Not Found (error code: 10008): Unknown Message
  File "discord/ext/commands/core.py", line 167, in wrapped
    ret = await coro(*args, **kwargs)
  File "bot/exts/utilities/epoch.py", line 89, in epoch
    await original.edit(view=None)
  File "discord/message.py", line 1289, in edit
    data = await self._state.http.edit_message(self.channel.id, sel...
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/infra] New branch created: jb3/wg\-add\-local\-ip
#
jb3

This PR adds a PostUp directive to the Wireguard config of all nodes to add the allocated /16 to the local routing table.

This means that hosts:

  • Are aware that packets destined for these IPs should be captured by the Kernel, not ignored
  • Allow services to bind to any IP address within their allocated /16

This does not include a PostDown directive since we do not want to lose the local routing should the Wireguard session go down, services should still be able to bind to relevant IPs ev...

#
jb3

An example of ICMP responding on any IP within the range (prior to this, only the default gateway (e.g. 10.2.0.0) would respond to ICMP, any other IP would infinitely loop in the destination host.

joe@turing:~$ ping 10.2.0.1 -c 4
PING 10.2.0.1 (10.2.0.1) 56(84) bytes of data.
64 bytes from 10.2.0.1: icmp_seq=1 ttl=64 time=0.572 ms
64 bytes from 10.2.0.1: icmp_seq=2 ttl=64 time=0.727 ms
64 bytes from 10.2.0.1: icmp_seq=3 ttl=64 time=0.784 ms
64 bytes from 10.2.0.1: icmp_seq=4 ttl=...
regal archBOT
#
jb3
[python-discord/infra] branch deleted: jb3/wg\-add\-local\-ip
regal archBOT
regal archBOT
regal archBOT
#

Reminder validation relied on the member cache which might not be properly filled, which caused some reminders to not be sent.

This PR removes this part of the validation. This can cause reminders to be sent for users who are no longer in the server, but this seems negligible.

While #1919 might be more thorough, the changes here are very simple and will allow us to have the reminders cog again.

#
jb3
[python-discord/bot] branch deleted: mbaruh/reminders\-fix
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#

It is a tag, yes @swfarnsworth.

Which means, we either need to do what @Numerlor suggested and making one tag for each type in the same group, or we need to get rid of the tag and just make a regular command for this to replace it.

The latter seems simpler to me. It could simply take any input you give it and append it to the URL as ?topic=<input>. The Resources page is made so that if you request a topic that doesn't exist, that's okay, it'll just dump the parameter and show you all ...

regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#

We have talked about this internally and we decided on not adding a new linting dependency here. While there's some value in having linters for consistent code like this, there is a line to draw - it's not a great experience for contributors to have a contributor go back and modify their code just for changing the quotation style, especially since some developers tend to have fixed habits on their usage of quotes in Python.

odd spireBOT
regal archBOT
#

We have talked about this internally and we decided on not adding a new linting dependency here. While there's some value in having linters for consistent code like this, there is a line to draw - it's not a great experience for contributors to have a contributor go back and modify their code just for changing the quotation style, especially since some developers tend to have fixed habits on their usage of quotes in Python.

What about the local pre-commit which would do it automatically ...

#

What about the local pre-commit which would do it automatically along with the other checks like trailing spaces?

I am indifferent about this, personally the pre-commit setup has grown to a size where I have completely removed it from my workflow due to the time it needs to run through.

More so on the developers having habits on their own quoting style, how should this be handled in reviews?
The current Python Discord style is to use ", should this be pointed out in reviews (i.e....

odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
#

The way I see it now, there are really two different search bars we want:

  • A reactive search bar on the resources page, which filters down the resources which are shown with immediate effect. Every keypress should do a search.
  • A full-site search, for searching the content of pages and articles.

These probably shouldn't be the same search bar, so we should split this into two different issues.

I'm repurposing this issue to be about the former of these two, and self-assigning it. For...

#

Let's create a reactive search bar that can be used to filter the resources on the /resources page.

We can build this with some fairly simple jQuery, .filtering all currently visible resource cards. This will extend the current functionality very naturally.

Specs

  • The search bar should do a search for every keypress.
  • The search should be fuzzy. aks should match ask.
  • When typing a search term, a Search: tag should appear in the tag pool at the top of the filter sideba...
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#

Sentry Issue: SIR-LANCEBOT-7T

AttributeError: type object 'Roles' has no attribute 'admin'
  File "discord/ext/commands/bot.py", line 660, in _load_from_module_spec
    spec.loader.exec_module(lib)  # type: ignore
  File "", line 850, in exec_module
  File "", line 228, in _call_with_frames_removed
  File "bot/exts/events/trivianight/trivianight.py", line 18, in 
    TRIVIA_NIGHT_ROLES = (Rol...
#

Relevant Issues

<!-- Link the issue by typing: "Closes #" (Closes #0 to close issue 0 for example). -->
Closes #1025

Description

Changed Roles.admin to Roles.admins to prevent an error.

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://python...
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
#

Try to write your sentences with grammar heavily in mind, as it will help readability for people trying to answer your question

I disagree with this. Questions that are poorly written from an English grammar perspective are not necessarily those that are poorly written from an answerability perspective. Many of our users are not native English speaking, and I'm concerned about how this kind of messaging would be received.

maybe the addition of a command where the answering party can...

odd spireBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
#
[python-discord/site] New branch created: 659/lemon/resource\_search\_bar
#
  • Kaizen: Ensure resource cards are fullwidth.
  • Kaizen: Fix redirect /pages/resources/communities.
  • Add a search bar to the top of the filter sidebar.
  • Kaizen: Update URL for Two Scoops.
  • Dynamically update URL with search query.
  • Trigger a UI update when typing into search.
  • Add fuzzysort dependency.
  • Add names for every resource card.
  • Implement fuzzy search.
  • Add a filter tag when searching.
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: subscribe\-alias
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: user\-information\-endpoint
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/metricity] New branch created: threadfixes
#

This fixes a few bugs around threads namely:

  1. Ignore threads within forum channels. These aren't supported by d.py so we want to avoid tracebacks.
  2. Listen for thread create and unarchive events explicitly
    • Discord.py only firsts thread_update events for threads in the cache, this isn't the case for threads being created, and threads being unarchived, so there events were previously being missed from the channel sync.
  3. Only sync archive status on startup
    • Since we now s...
odd spireBOT
regal archBOT
#
[python-discord/snekbox] branch deleted: ci\-refactor
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: 659/lemon/resource\_search\_bar
#

8114d5e Kaizen: Ensure resource cards are fullwidth. - lemonsaurus
74cfc67 Kaizen: Fix redirect /pages/resources/communities. - lemonsaurus
dbc7584 Add a search bar to the top of the filter sidebar. - lemonsaurus
c412d29 Kaizen: Update URL for Two Scoops. - lemonsaurus
a3c29eb Dynamically update URL with search query. - lemonsaurus

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: swfarnsworth\-traceback\-tag
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

With the condition being if after.channel and not before.channel:, it will only trigger when a member initially joins a voice channel.

This is because we are checking the after.channel is not None, meaning they are now in a voice channel.
And we are also checking if before.channel was None, meaning they was not previously in a voice channel.

This condition isn't very easy to read, should I change it to the following for readability?

if after.channel is not None...
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/branding] New branch created: role\_icons
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: traceback\-tag\-hotfix
odd spireBOT
oak estuaryBOT
odd spireBOT
oak estuaryBOT
regal archBOT
#

This condition isn't very easy to read, should I change it to the following for readability?

if after.channel is not None and before.channel is None:

I personally don't really see this as an improvement. I actually find it better as-is.

Additionally, I've been asked for it to only be triggered on initial joins.

To further expand on this: I requested this since there's no point in triggering when switching voice channels. In order to switch channels, o...

#

I'd like to have a go at implementing this.

My current thoughts are having a button on the reminder message for snoozing, which will then display a dropdown of reschedule relative times ("1 hour", "6h hours", "1 day", "1 week" and "1 month" or something). I.e. a system similar to .epoch, but with a button triggering the drowdown message.

Thoughts on this? @ChrisLovering @Shivansh-007

#
[python-discord/bot] New branch created: thread\-bumper\-cog
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

Hmmm, I've tried this in the on_thread_update event listener, and it doesn't seem to be set at all, on the before or after thread object when manually archiving.

i also can't see where this data would come from, since it's not present on the discord api https://discord.com/developers/docs/resources/channel#thread-metadata-object and in the discord.py source, its tries to pull this key directly form the data from the api.

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: bsoyka\-typo
odd spireBOT
regal archBOT
#

I am going to make this run on every single voice_state_update event, as we are already running this same function for every single message sent. So there shouldn't be any issues with slow down.

One thing we could do, if we are worried about that, is implementing an LRU cache on this function. We would need to worry about invalidating the cache when the filters change...

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

regal archBOT
night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

regal archBOT
odd spireBOT
night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

regal archBOT
night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

regal archBOT
#
[python-discord/bot] New branch created: fix\-issue\-2010
night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

regal archBOT
odd spireBOT
night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

regal archBOT
#
[python-discord/bot] New branch created: fix\-bot\-2081
#

Closes #2081.

Catches error raised when trying to edit message in DM fails (we still try to edit so we can ensure the message hasn't been deleted).

If the error was raised by a message inside the guild, then we reraise the error since that's unexpected behaviour (would mean that the bot has missing permissions).

Also only checks if we need to send to #bot-commands when the message was sent in the guild.

odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: fix\-issue\-1930
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

regal archBOT
#

Many moderators moderate from iOS and Android mobile devices. As of today, Discord iOS doesn't allow for copying embed text at all, and Android iOS allows copying of embed text as a whole (not selectively).

One of the biggest pain points for moderators is not being able to grab the user's ID from the mod-alert embed, neither from the embed itself nor from the mention of the user (because the mention doesn't resolve properly).

A quick easy fix for this is to simply add the user ID outs...

night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

oak estuaryBOT
odd spireBOT
night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

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

Connected!

#
Unable to fetch AoC leaderboard during role sync.

None

odd spireBOT
night lilyBOT
#
Unable to fetch AoC leaderboard during role sync.

None

#
Unable to fetch AoC leaderboard during role sync.

None

regal archBOT
#
[python-discord/sir-lancebot] New branch created: ChrisLovering\-patch\-1
#

This disabled the completionist task that checks the leaderboard for people who have 50 stars and gives out the role. Since the event is running, we are not keeping the session cookies up to date, so this is flooding #dev-log with errors.

This task should be altered in preparation for next event so that commenting out this line isn't required.

Relevant Issues

<!-- Link the issue by typing: "Closes #" (Closes #0 to close issue 0 for example). -->

Description

Did y...

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

Connected!

odd spireBOT
regal archBOT
#

Relevant Issues

<!-- Link the issue by typing: "Closes #" (Closes #0 to close issue 0 for example). -->

Closes #1024

Description

I disregareded the error when you are trying to edit a message that doesn't exist, using try except.

Did you:

  • [x] Join the Python Discord Community? (yes, my discord have the ID 716134528409665586)
  • [x] Read all the comments in this template?
  • [x] Ensure there is an issue open, or link releva...
regal archBOT
#
[python-discord/forms-backend] New branch created: fix\-eval\-exploits
odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: add\-reminder\-snoozing
#

Closes #2045.

Users can now "snooze" reminders, by pressing the "Snooze Reminder" button and then selecting a snooze duration from the dropdown menu that appears upon doing so.

I've tried to make this as resilient as I can, and have extensively tested it so there should hopefully not be any bugs ๐Ÿคž.

This is my first attempt at using dpy2.0 features, so please feel free to give suggestions as to any possible improvements as well as reviewing the code as-is.

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

Our most important backing service, this needs to be set up as soon as possible due to the sheer amount of usefulness encapsulated in such a great deployment service.

This may be a good task to jump into the deployment setup with Ansible, and once we have the previous issues done, we can admit somebody to the DevOps team to take care of it.

#

Data here will not be migrated.

will not be migrated out of pure spite of people considering Redis a database

No. Redis is not a database, it's an in-memory key-value store. It's also called a [distributed] data structure server, which (at least to me) implies a tight coupling with your application: it's a way to offload shared state between multiple components, but the persistence of that shared state is not guaranteed. In fact, Redis...

#

Needs data migration.

I remember, very well, all the way back when I started work on the new site, I deployed it on bare metal, on Linux, on Debian, with gunicorn, behind nginx reverse proxy. It worked well, and then Joe "Complication Officer" Banks decided on making it as complicated as possible.

"I have no problem if you shitpost in all of the issues, but I have no idea what you're saying."

Lemon

regal archBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
#
[python-discord/branding] branch deleted: role\_icons
odd spireBOT
regal archBOT
#
jb3
[python-discord/infra] New branch created: jb3\-patch\-1
#
jb3
[python-discord/infra] branch deleted: jb3\-patch\-1
regal archBOT
#

Originally got the idea from the Vortex bot and thought why not implement this in the pydis bot.

Basically, Vortex's way of doing it makes you provide the character in the command then everyone who is hoisted with that character and above will be dehoisted. I don't know if that's how python discord would want to do it. I was thinking of having more of an automated command that doesn't have any character input and dehoists people with characters from a set list. Here is an example of how vor...

regal archBOT
regal archBOT
#
[python-discord/infra] New branch created: 22\-nginx
#
[python-discord/infra] New branch created: delete\-ansible\-lint
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: otn\_active\_only
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: bsoyka\-typo
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: fix\-bot\-2077
odd spireBOT
regal archBOT
#

Right now, there are three problems with the logos displayed in our sponsor hero and in the footer of the site.

An alignment issue with the logos on Windows.

This problem is described in #458. We should optimize the background-position so that this problem will look optimal on Windows machines, since our typical visitor is a Windows user.

Hacky filtering to turn logos into white logos

Right now, we're using filter in CSS to turn the Django and Linode logos into something tha...

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

Connected!

odd spireBOT
regal archBOT
#

465c2f5 Reply with log url after cleaning messages - ChrisLovering
caaf0fa Support not deleting invoking message of a clea... - ChrisLovering
3a7871b Update respect_role_hierarchy decorator to pass... - ChrisLovering
15fb882 Change purgeban to use custom clean logic - ChrisLovering
954c1a9 Add more aliases to purgeban - ChrisLovering

#
[python-discord/bot] branch deleted: purge\-to\-clean
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: optimise\-cban
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: optimise\-cban
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#

Hi, saw this and wanted to explain a 100% guaranteed way to know if it was manual or automatic: manual closes will have an audit log entry. If there's no relevant audit log entry then it safe to assume that the thread closed automatically, rather than manual.

Were you expecting something like this?
https://github.com/python-discord/bot/pull/2084/commits/0ae5ee9c478bd4a627473acce8a46de3965176b9

#

Should this just be dropped if we're going to be creating separate roles anyway? https://github.com/python-discord/infra/blob/main/roles/ufw/tasks/main.yml#L33-L37

Hmm, I'm 50/50 of it. On one hand it's nice to have a common base spot to configure this stuff, on the other hand, your configurations for services start drifting around in the repository. For instance - in your postgresql configuration you add the site database, then in your UFW configuration you add this port, .... Does that...

odd spireBOT
regal archBOT
#

on the other hand, your configurations for services start drifting around in the repository. For instance - in your postgresql configuration you add the site database, then in your UFW configuration you add this port, .... Does that make sense?

Sort of. Why can't the same be said for this PR's approach where the there is a separate role for nginx ufw rather than a single nginx role for all nginx things?

#

Because NGINX and UFW are independent services, and the NGINX role does not perform any configuration of NGINX sites by itself.

Isn't that the case for every service that needs a UFW config? I'm not following how creating a separate "<service>-ufw" role for each service is any better regarding "drifting around in the repository" than using a centralised location.

odd spireBOT
regal archBOT
#

e4713c4 Add community_meta to bot.constants.Channels - TizzySaurus
c937442 Rename bot.constants.Channels.bot to bot.con... - TizzySaurus [6b4adee](https://github.com/python-discord/sir-lancebot/commit/6b4adee6639c1a6f224924e3401d4b776c881899) Rename bot.constants.Channels.community_bot_co... - TizzySaurus
88d54d3 Allow .src command in community-meta and dev-... - TizzySaurus

#
[python-discord/sir-lancebot] New branch created: fix\-issue\-1032\-temp
#

Relevant Issues

Closes #1032

<!-- Link the issue by typing: "Closes #" (Closes #0 to close issue 0 for example). -->

Description

  • Renamed some Channel constants so that it's clearer what they're referring to
  • Added community-meta to Channel constants
  • Added support for .src in dev-contrib and community-meta via the @whitelist_override decorator.

Did you:

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

In the past few days, there has been two instances of users adding a regex to the filter_token that wasn't valid, leading to #dev-alerts being spammed with regex-related errors.

This issue proposes that we should validate the regex when adding to the bucket, and if it's not valid, then we return an error message and don't add to the bucket to save these alerts.

In terms of implementation, should be a case of doing a try/except on a re.compile.

odd spireBOT
regal archBOT
#

I think it's nice to support as many features in DMs as we can. It's relatively easy to support code snippets in DMs, so I think we should.

I disagree with this, and I believe thatโ€™s the general view of the core dev team as well. There is a very, very clear cost (this entire PR) to supporting these features in DMs, which doesnโ€™t seem to balance against the benefits. You could always justโ€ฆ run this feature in bot-spam.

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

Description

Wordle is a very, very popular word game that's rising in players.

Reasoning

It's a game that would be fun to play with others, and the game would probably appeal to most people.

Proposed Implementation

I have built a working Wordle generator, which would be too complicated to go in detail on Github. It will use modals, buttons.
There are only two issues currently, and that's 1. Modals aren't supported by discord.py, and I do not see SirLancebot using an alternative....

regal archBOT
regal archBOT
#
[python-discord/metricity] branch deleted: threadfixes
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#

At the moment I think we shouldn't, as it's too far out. I'd rather we wait til we have new filter system merged and running.

From my experience, it's generally better to create the issue early, add the "stalled" label, and then link it to the PR that needs to be complete first.

That way it ensure we don't forget, and we can see what the other PR (in this case the rewrite) is blocking too.

Additionally if we use buttons I'd rather we just have the options we want (user and infrac...

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

permissions_for works on all GuildChannel objects, and also takes into account default role permissions, so this whole function can be simplified quite a lot. The channel type hint can also be changed to discord.GuildChannel, since this funciton is available on all GuildChannel objects.

def is_helper_viewable(channel: discord.GuildChannel) -> bool:
"""Return whether helpers can view the given channel."""
    helper_role = guild.get_role(constants.Roles.helpers)
    return...
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
#

Yeah, I went through all the possible places where this could go wrong, and I could only find that log statement as well.
I observed this log statement more, and I believe it would be great if we could refactor this log message, though. Just for the sake of consistency.
So I'll keep this issue open, it should be a fairly easy patch.
(The mentioned log message again:
https://github.com/python-discord/bot/blob/9bae829f91c00f89fd1e725036f4d24ec796410b/bot/exts/moderation/stream.py#L137
)

regal archBOT
#
[python-discord/infra] branch deleted: delete\-ansible\-lint
#

Isn't that the case for every service that needs a UFW config? I'm not following how creating a separate "[service]-ufw" role for each service is any better regarding "drifting around in the repository" than using a centralised location.

Yes, but also no.

The problem is that if I configure the UFW firewall rules in the inventory as a variable, like e.g. this:

    podman:
      hosts:
        turing:
        lovelace:
        hopper:
        ritchie:
      vars:
       ...
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/bot] branch deleted: thread\-bumper\-cog
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
#

Continued work on #2096
Further closes #2088

This PR

  • additionally adds the user ID for antispam alerts
  • removes the user ID for autoban alerts

I'll make an additional commit to rename the content in the code block below, since it overlaps with the content parameter used a little later on.

I didn't quite understand what lines 98-101 were doing though, and need some guidance on good rename suggestions for content ๐Ÿ˜„
https://github.com/python-discord/bot/blob/389cb815a37...

odd spireBOT
regal archBOT
#

Thank you for suggesting this resource, and for your patience in awaiting our decision. We don't feel that the Discord server associated with this library is of sufficient benefit to our users, and so we won't be featuring Dear PyGui or the associated Discord server at this time. By our observation, questions about Dear PyGui in our server are infrequent, and so we don't see added value in listing an alternative location in which to ask about the library.

I realize you may feel that if oth...

odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/site] New branch created: thread\-dumping\-support
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: wookie184\-patch\-1
#
[python-discord/site] branch deleted: wookie184\-patch\-1
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

#
Sir Lancebot

Connected!

odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

abfb0ed Validate regex when adding to the filter_token ... - TizzySaurus
b0e21f0 Include regex error in failure message - TizzySaurus
f500249 Remove unnecessary assignment - TizzySaurus
a56100b Merge branch 'main' into fix-bot-2093 - ChrisLovering
ddb5d80 Merge pull request #2094 from python-discord/fi... - ChrisLovering

oak estuaryBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#

Relevant Issues

Closes #1035

Description

Let the logs attribute of invalid latex errors be None if its missing in the API response, and handle the case with a slightly different embed.

Did you:

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] branch deleted: fix\-issue\-1032\-temp
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] New branch created: fix\-error\-in\-pull\-1033
odd spireBOT
regal archBOT
#

Sentry Issue: SIR-LANCEBOT-7Z

TypeError: can only concatenate tuple (not "list") to tuple
  File "discord/ext/commands/bot.py", line 660, in _load_from_module_spec
    spec.loader.exec_module(lib)  # type: ignore
  File "", line 850, in exec_module
  File "", line 228, in _call_with_frames_removed
  File "bot/exts/core/source.py", line 14, in 
    class BotSource(commands.Cog):
  File "bot/ex...
#
[python-discord/sir-lancebot] branch deleted: fix\-error\-in\-pull\-1033
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: fix\-bot\-1751
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] New branch created: add\-run\-bot\-step\-during\-lint
#

Description

This adds a step to our linting action to catch errors in imports/cog setup functions before they are merged by running the bot package, but not actually calling bot.run().

Adding it to the lint flow means we already have the code checked out and a poetry env, so it adds ~1s to CI time.

See here fir a passing action https://github.com/ChrisLovering/sir-lancebot/runs/5264386120?check_suite_focus=true
This is a failing one https://github.com/ChrisLovering/sir-lancebot...

odd spireBOT
regal archBOT
#

I would argue that this new step should be inserted higher up the workflow.

In the case of a syntax error, the error would be reported much better by this step, while flake8 doesn't give any detail about such an error.

Considering this step doesn't take much time, I think it is fine to have it run first.

On the flip side flake8 gives errors that this wouldn't give any detail about too.

So is the argument here to order the steps fastest to slowest, so that the workflow fa...