#dev-log

1 messages ยท Page 26 of 1

regal archBOT
#
[python-discord/site] branch deleted: jb3/resources/discord.py-masterclass
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/king-arthur] branch deleted: renovate/sentry-sdk-2.x
odd spireBOT
regal archBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#

Because the signature doesn't tell you anything about the function anymore, and the api loses meaning. The only way to find out is to read inside the wrapped method

But we don't implement the function ourselves, we just copy the
signature. So we cannot be an authorative source on what the meaning of
the API is supposed ot be, because as soon as upstream changes it, it's
going to break.

I would rather have a single function that loses meaning (and you can
document it as "same method as ...

regal archBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

#
Sir Lancebot

Connected!

regal archBOT
#
[python-discord/king-arthur] New branch created: add-email-variables
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#

Amendment type

Content Update

Content type

Other

Please provide the location of the content

https://github.com/python-discord/bot/blob/main/bot/constants.py#L766

What amendment do you think should be made to this content, and why?

Have seen people in the Discord try to use the bot, then get greeted with error messages such as:

Please don't do that.
You have to stop.
In the future, don't do that.
You blew it.
You're bad at computers.

They're pretty fu...

#

What feature are you proposing?

Send a DM to members when the bot detects a certain keyword in the incoming messages.

What is your justification for the proposed feature?

This was something that was suggested before, but I was against it previously for the following reasons:

  1. It is easy to abuse this system to stalk/follow people. It's not something we should enable.
  2. It is possible to create alerts which fire on way too many messages (for instance just watching the letter `e...
#
jb3

Transferred issue to bot pending implementation.

We likely don't need to worry about ratelimits, abandoned accounts get purged by Discord after a period of time and as mentioned our ratelimits are high enough for us not to worry.

We should not overengineer this and instead should add the ability to observe the feature and address ratelimits down the line should they become a problem (which is highly unlikely)

regal archBOT
regal archBOT
#

!raw [#mailing-lists message](/guild/267624335836053506/channel/704372456592506880/) returns something containing:

See the full release notes for all of the details:
https://python-
oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-4-1-august-2024

Note the backslash escape.
Discord interprets that as (backslash is turned into slash... for some reason), which is a broken link

regal archBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/snekbox] New branch created: bump-versions
regal archBOT
#
jb3
[python-discord/snekbox] branch deleted: bump-versions
regal archBOT
regal archBOT
regal archBOT
#

import spacy
import requests
from bs4 import BeautifulSoup

Load NLP model

nlp = spacy.load('en_core_web_sm')

Example job description URL

job_url = 'https://example.com/job-posting'

Scrape job description

response = requests.get(job_url)
soup = BeautifulSoup(response.text, 'html.parser')
job_description = soup.get_text()

Analyze job description

doc = nlp(job_description)
skills = [ent.text for ent in doc.ents if ent.label_ == 'SKILL']

Generate a cover letter based on the job des...

regal archBOT
#

Thanks for opening this issue.

However, the content doesn't seem to put things that need to be addressed under the spotlight.

If you think there are things that need improvement with our bot, then i invite you to open a new issue with more details.

You can refer to the currently open issues for inspiration.

odd spireBOT
oak estuaryBOT
#

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

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

Connected!

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

Connected!

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

Connected!

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

Connected!

regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: remove-discrim-from-bot-logs-view
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
ocean rock
#

i forgor ๐Ÿ’€

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

Connected!

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

Connected!

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

Connected!

regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
#
jb3

We don't, it appears as the default because it was the last used action and is
the one that's enabled. Nothing here is different to the infra repository.

There is a policy file for ff-bot on main so everything is already setup to be
able to /merge in the same way you would on infra.

PRs #243, #257, #261 and #264 were all merged using the fast-forward bot.

I've disabled all methods but squash merging now because:

  • Merge commits are evil and obviously we have a policy of not using them on...
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/king-arthur] New branch created: fix-bug
odd spireBOT
regal archBOT
#

There are a few small changes that I made thought these files.
For the log file:

Broken down the setup function to be more understandable and readable.
Improved name of the _set_trace_loggers function and it now uses a single underscore, which is more conventional for internal use.
Added an early return in the _set_trace_loggers function. Now a early return is called if level_filter is false, making it more readable.
This goes for all the files, added consistent spacing and ind...

regal archBOT
#

We appreciate your effort into this PR, but there are some issues with the changes you've proposed here:


Broken down the setup function to be more understandable and readable.

I don't see the benefit of this, especially considering the docstring of setup() already indicates that it's meant to "set up loggers". If you find readability to be an issue in the existing code (IMO it's fine as it is), labeling each section of the function with a comment would be more reasonable.

...

odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/king-arthur] branch deleted: fix-bug
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/king-arthur] branch deleted: renovate/pydantic-2.x
#
[python-discord/king-arthur] branch deleted: renovate/ruff-0.x
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/metricity] New branch created: jb3/features/content-hash
#
jb3

Storing an MD5 hash of content allows us to perform tasks related to the content of identical messages without compromising our promise of privacy and not storing actual user generated content.

With this field, we can:

  • Look for instances of same-channel spam
  • Look for instances of cross-channel spam
  • Factor these into when we make a voice verification decision (i.e. if there is reason to believe a user has spammed, hold off from verifying until a Moderator has reviewed the case)
    ...
regal archBOT
#
jb3
[metricity] Branch jb3/features/content-hash was force-pushed to `bfa0ae3`
odd spireBOT
regal archBOT
#
jb3
[metricity] Branch jb3/features/content-hash was force-pushed to `e433585`
#
[python-discord/king-arthur] branch deleted: renovate/pydantic-settings-2.x
#
jb3
[python-discord/metricity] branch deleted: jb3/features/content-hash
odd spireBOT
regal archBOT
#
[python-discord/metricity] New branch created: chris/2.8.0
#
[python-discord/metricity] branch deleted: chris/2.8.0
ocean rock
#

pin this issue and flag p1

odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot-core] New branch created: chris/11.4.0
regal archBOT
#
[python-discord/bot-core] branch deleted: chris/11.4.0
oak estuaryBOT
odd spireBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
ocean rock
#

is that embed really big

#

@devoops

#

@mint goblet @rigid python

mint goblet
#

which is odd, since we have the same phone

ocean rock
#

it's fine now

#

I hallucinated

rigid python
odd spireBOT
regal archBOT
#

According to the markdown spec, lines separated by a single newline should be joined with a space.

Discord embeds doesn't seem to respect this, as demonstrated by the !traceback tag:

https://github.com/python-discord/bot/blob/13927ec4791a3f87193724ea3d1ac24143a8684c/bot/resources/tags/traceback.md?plain=1#L5-L8

image

We could resolve this by formatting paragraphs on a single line, but I think joi...

regal archBOT
#

Relevant Issues

https://discordapp.com/channels/267624335836053506/635950537262759947/1284217021634187341

Description

This is a small change, the cleaned content was not used in the uwu command.

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

Connected!

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

There are three ways a help channel can be closed:

  • A user closes it either via running !close or by using the discord right-click context menu
  • It gets closed by our bot after 1 hour of inactivity
  • A moderator closes it via !close

The Pitch

I think it would be helpful to have different closing messages based on the method of how it was closed. The two main messages I think would be useful are:

  • A user closes it: Send a short and sweet message that says the user (or a mode...
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/king-arthur] New branch created: limit-message-cache
odd spireBOT
regal archBOT
#
jb3
[python-discord/king-arthur] branch deleted: limit-message-cache
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
#

Doc item doc_item.symbol_id='grammar-token-python-grammar-starred_item' present in loaded documentation inventories not found on site, inventories may need to be refreshed.

odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
#

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

oak estuaryBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/snekbox] New branch created: py-3.13-rc
regal archBOT
#

Yea, the reason I added the default to the help directly is because it didn't get added automatically.

โฏ python3 -m snekbox --help
usage: snekbox [-h] code [nsjail_args ...] [--- py_args ...]

positional arguments:
  code         the Python code to evaluate
  nsjail_args  override configured NsJail options (default: [])
  py_args      arguments to pass to the Python process (default: ['-c'])

options:
  -h, --help   show this help message and exit
regal archBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: Snekbox-multi-version
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#

ed81df4 Allow specifying a binary path when calling NsJ... - ChrisLovering
6cc4dba Add tests for multi-version support - ChrisLovering
c24785d Allow setting a binary_path when calling /eval - ChrisLovering
0c9b234 Also split on hyphens in build python script - ChrisLovering
d9b8ab3 Add additional tests to ensure invalid binary p... - ChrisLovering

#
[python-discord/snekbox] branch deleted: multi-version-api
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: Snekbox-multi-version
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: support-python-3.13-no-gil
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#

Closes #2808

This PR aims to improve the resiliency of the Branding manager cog. It is a rework of #2869, which I've closed and re-implemented in this branch in adherence with the reviewer's request to use the tenacity lib.

Context

The Branding manager automatically discovers events once per day or when instructed to. During each such discovery, it makes multiple HTTP requests to the GitHub API. First, it fe...

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/snekbox] New branch created: 3.13-stable
regal archBOT
#

bc88836 Rename kwarg in eval button to be clearer - ChrisLovering
fbfb299 Dynamically build eval switcher buttons based o... - ChrisLovering
516c986 Add support for 3.13t in eval - ChrisLovering
29a1310 Special case Python versions ending in t for ev... - ChrisLovering
b29ef1e Ensure eval version buttons ascend in release date - ChrisLovering

#
[python-discord/bot] branch deleted: support-python-3.13-no-gil
oak estuaryBOT
odd spireBOT
regal archBOT
#
[python-discord/snekbox] branch deleted: 3.13-stable
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: remove-invite-filter-bypass
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot-core] New branch created: invite-regex
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#

Similar to how we can reply to a message to add a bookmark (Sir Lancebot's bookmark command) I'd like to be able to infraction append by replying to the bot's message that gets sent whenever we issue an infraction in mod channels.

This would help when appending to infractions issued by others (where infraction append last would not apply) so we can be less careful about typing the exact infraction ID.

odd spireBOT
regal archBOT
oak estuaryBOT
regal archBOT
regal archBOT
#
[python-discord/bot] branch deleted: tag-suggestion-template
#
[python-discord/bot] branch deleted: add-reminder-snoozing
#
[python-discord/bot] branch deleted: fix-dm-sent-feature
#
[python-discord/bot] branch deleted: mbaruh/persistent_scheduler
mint goblet
odd spireBOT
regal archBOT
#

Description

Add a .typst command, working similarly to .latex but for rendering Typst.

Reasoning

The bot's .latex command has been notoriously unstable in the past, but nowadays is mostly working. However, it's pretty hard to consistently write correct LaTeX snippets on the first try, and the error logs are not especially helpful because LaTeX logs rarely are. It would be nice to have a simpler alternative for quickly writing some simple math, and Typst would fill that niche...

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

#bot-commands message
Notice how the invoking message is !timeit but the response is one you would get from !eval

Cause:

  • Run !timeit command with an error (I don't remember the details, but I think it was something to do with codeblock fencing)
  • Fix the error by editing the message
  • Rerun with the bot reaction

This seems like an edge case because the re-run immediately after that worked perfectly fine

regal archBOT
#

Relevant Issues

Closes #1623.

Description

  • The overall structure is based on the Latex cog, with about the same features (caching, support for code blocks, etc)
  • Refactored some utility functions (such as the codeblock regex) out of the Latex cog to reuse them here.
  • Initially I was going to use the typst PyPI package, but while it works, it had a weird issue where (only in the bot's container and not on my computer) it needed ~1GB RAM to render the simplest things. I failed...
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#

One of the features new to Python 3.13 is the use of colored traceback output. These colors greatly aid in locating smaller bugs and are overall quite handy, but they are not always enabled, including for the bot's output message. This changes that.

Care was taken to achieve a significant degree of backwards compatibility. Long tracebacks, whose full forms are uploaded to pinnwand, go through a regular expression that removes ANSI escape codes. Pinnwand does not support ANSI, so if this ...

#

This PR is the snekbox side of changes made to allow bot's !eval to support colored output. The first of the two commits for bot's side allows ANSI codes to be rendered when given via print or such, but Python 3.13 does not produce these colors in tracebacks without an environment variable. Per documentation, there are two such envars - PYTHON_COLORS and FORCE_COLOR. Testing has shown FORCE_COLOR to have no effect ...

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

e0d6f92 Drop / from invite regex fragements - ChrisLovering
8528c7f Improve readability of invite regex by indentin... - ChrisLovering
9385e91 Add optional 'app' capture to invite regex OR g... - ChrisLovering
4df8e90 Move discord(app) capture to its own optional g... - ChrisLovering
5911e10 Remove repetition from the invite regex - ChrisLovering

#
[python-discord/bot-core] branch deleted: invite-regex
odd spireBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: feat/tag-list-iterate-and-remove-gotcha
odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

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

Connected!

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: remove-discrim-from-bot-logs-view
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot-core] New branch created: update-regex
oak estuaryBOT
regal archBOT
#
[python-discord/bot-core] branch deleted: update-regex
#
[python-discord/bot-core] New branch created: fix-invite-regex
odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
#
[python-discord/bot-core] branch deleted: fix-invite-regex
oak estuaryBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: fix/newlines-invites
odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: fix/newlines-invites
oak estuaryBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
thin oysterBOT
#
Sir Robin

Connected!

thin oysterBOT
#
Sir Robin

Connected!

odd spireBOT
regal archBOT
thin oysterBOT
#
Sir Robin

Connected!

odd spireBOT
regal archBOT
thin oysterBOT
#
Sir Robin

Connected!

odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
thin oysterBOT
#
Sir Robin

Connected!

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/branding] branch deleted: ducky-bober-emoji
odd spireBOT
thin oysterBOT
#
Sir Robin

Connected!

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

Often people join the leaderboard, link their account, and then use our leaderboard command. An issue pops up if the leaderboard refresh is still on cooldown. An error message pops up and prevents the user from viewing the current leaderboard until the leaderboard refreshes.

Instead, we should still show an error message indicated we cannot find their username, but still show the regular leaderboard embed so they can still view leaderboard information.

odd spireBOT
odd spireBOT