#dev-log

1 messages ยท Page 73 of 1

regal archBOT
#
[python-discord/quackstack] branch deleted: vcokltfre/chore/enable\-docs
regal archBOT
#
[python-discord/sir-lancebot] branch deleted: fix\-reddit\-index\-error
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
regal archBOT
#
jb3

This is a pretty neat command. I've got some feedback added as code comments as well as the items below:

Command naming

I think the name splitify is a bit weird and hard to understand what it does. I'd recommend either switching all references to either puzzle, mosaic or something along those lines.

Maximum squares

Here are two images generated by the command:

193,000 squares 10,000 squares
![image](https://user-images.githu...
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: nomination\-archive\-automation
#

This Pull Request adds automation to the #nomination-archive channel.

It adds a reaction handler to the talentpool cog restricted to the #nomination-voting channel :

  • ๐ŸŽซ: unpin the message
  • incident actioned or un actioned emoji: send an embed to the #nomination-archive channel and delete the message

When formatting the embed, the code does the following assumptions:

  • The first user mention is the user nominated
  • The first (introduction and ping) and last (how to vote) paragraphs...
odd spireBOT
odd spireBOT
regal archBOT
#

When this was originally discussed, I raised some concerns about the numbering system not actually being functional. Tags move around, and I'd think you'd end up linking to incorrect pins a lot. There was discussion about it [here](#dev-contrib message).

In terms of the rationale of this issue, I don't remember if library-specific tags were a thing back then or not, but they 100% are now. We have a ton of discord.py tags (whi...

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

Connected!

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/branding] branch deleted: ci/143/status\-embed
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#

On macOS Catalina 10.15.7 using the following browsers "django" is aligned correctly but not "BULMA":

  • Google Chrome Version 90.0.4430.72 (Official Build) (x86_64)
  • Safari Version 14.0.2 (15610.3.7.1.10, 15610)
  • Firefox 80.0.1 (64-bit)

I'm guessing this is an OS specific issue.

<img width="348" alt="Screen Shot 2021-04-24 at 9 52 48 PM" src="https://user-images.githubusercontent.com/1612303/115969798-8c4c3e00-a547-11eb-9253-034fedb617fd.png">

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

0dd2e75 Add bot and verified bot badges to the user embed. - Akarys42
2ad0317 Merge branch 'master' into feat/1365/add-bot-ba... - jb3
b8fb422 Merge remote-tracking branch 'origin/main' into... - Akarys42
0e4fd3d Make YAMLGetter raise AttributeError instead of... - Akarys42
c910427 Move the verified developer badge to the embed ... - Akarys42

#
[python-discord/bot] branch deleted: feat/1365/add\-bot\-badges\-to\-user
odd spireBOT
oak estuaryBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

#
Sir Lancebot

Connected!

regal archBOT
#

Description

Implement selective trace logging from the python-discord/bot#1529 PR, enabling whitelisting or blacklisting certain loggers to emit trace logs instead of always emitting all trace logs with the debug mode.

Reasoning

Discussed in python-discord/bot#1502

Proposed Implementation

A new entry for the trace loggers will need to be added to the Client config, grabbing its value from the BOT_TRACE_LOGGERS
env var.
The _set_trace_loggers function can be copied...

regal archBOT
#
[python-discord/site] branch deleted: content\-migration
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] New branch created: filter\-rewrite
regal archBOT
regal archBOT
regal archBOT
#

Vintheruler1#9325* was thinking of a gratitude command which you could run once somebody had helped you with something. It would most likely have to have a cooldown of some sort however to prevent abuse.

  • They suggested this and I did point them to here but they were happy for me to suggest it and credit them for it.
#
[python-discord/site] New branch created: new\-filter\-schema
#

In detail:

User A has a problem.
User B helps them solve the problem.

User A thanks User B with the command.
There would be no points (for reasons you have stated above which I agree with entirely). So yes, it would essentially be stateless.

Sometimes, people (like the person who wanted this suggested) want to appreciate their gratitude, especially if it was a challenging issue. They may feel like a simple thank you is not enough, but they don't want to go out of their way and get ...

regal archBOT
regal archBOT
regal archBOT
regal archBOT
#

We could use a similar approach to the branding repo and put the tag metadata in the YAML frontmatter of the markdown documents.

For example:

---
title: How to get rich, fast.
---
1. Buy stonks
2. Watch stonks
3. ????
4. Profit

I was only planning to do it with a bold text at the start like in ToxicKidz' comment, but implementing this shouldn't be too hard and will give more flexibility around tags in general so I'll do that.
Should the ...

#
jb3

I was only planning to do it with a bold text at the start like in ToxicKidz' comment, but implementing this shouldn't be too hard and will give more flexibility around tags in general so I'll do that.

Thinking about it, that is likely out of scope for this specific PR. Maybe we group that in with #1545 so we can have richer tag data.

Should the URLs also be moved to the title?

Up to you, I know that the URL embeds don't look too great, and I think that the inline hyperlinks look...

regal archBOT
#

We could. I suppose we can also create a special _roles or a similarly named folder and to put restricted tags there, if we ever have any.

With the metadata described in https://github.com/python-discord/bot/pull/1539#issuecomment-827060796 we can do role restrictions through an attribute there, as having multiple folders would be a bit difficult to navigate if a tag was both role and group restricted.

I can start working on this if that sounds good.

Are there any group you curre...

#

A point that was made is that it might be simpler to just use hyphens (e.g !dpy-intents), and then no code changes are needed.

The reason this issue was raised is that we've been wary of adding new tags too liberally (for example, recently there was a suggestion for more ToS related tags), fearing too much clutter, and this approach seemed like a solution.

That said, simply using hyphenated names is completely valid as well.

Opinions are welcome.

#

There could be issues with fuzzy matching if we just use the prefixes so I think fully separating it with non fuzzy matched groups would be a bit easier in the code.
Using the group name to list all tags in that group would also be nice but apart from that I don't think there are UX differences between the two approaches.

odd spireBOT
regal archBOT
regal archBOT
regal archBOT
#

Implements the new filter related schema described in #479. The definition of each model can be found on this issue.

It adds a bunch of new routes under /bot/filters for each model, for example /bot/filter/filter_lists will provide GET, POST, PUT and DELETE for the FilterList model.

It also adds a migration (number 70) that will convert our current filters to the new schema and set some defaults that should mimic our current setup. Note that it will use a default value if the desc...

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
jb3

09820f5 Added better support for GitHub/GitLab - dolphingarlic
668d96e Tried to fix some of the flake8 style errors - dolphingarlic
2fe46fd Fixed all docstrings - dolphingarlic
ec3cc17 Minor style fixes - dolphingarlic
5fb1203 Removed repo widget prettification and added re... - dolphingarlic

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

Connected!

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: not\-in\-guild\-error\-message
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/bot] branch deleted: not\-in\-guild\-error\-message
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#

40d21cf Add afk voice channel to constants. - RohanJnr
fbbe1a8 Add method for suspending member's stream when ... - RohanJnr
9affdb9 Wait for cache to be loaded before accesing mem... - RohanJnr
2edba25 Use guild.afk_channel atr to retrieve afk Chann... - RohanJnr
cbbc680 Merge branch 'main' into suspend_stream - Akarys42

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

be9cb47 EH Tests: Created test cases set + already hand... - ks129
8229d21 EH Tests: Created test for CommandNotFound er... - ks129
28e8321 EH Tests: Remove class member cog + other sma... - ks129
3ea33bc Error Handler: Changed CommandNotFound error ... - ks129
28e962b Test Helpers: Added new attribute to MockContext - ks129

oak estuaryBOT
odd spireBOT
oak estuaryBOT
regal archBOT
#

Thank you, that was record speed.

I think it's a good start so that we have something to test with. Aside from the minor comments below, there are two things I think are important:

  • An endpoint to recursively fetch all data in the schema, so that we don't have to join tables manually on the bot side, and just make one API request on startup.
  • Very detailed docs, to the point of saying where exactly you need to go to remove a kind of setting.
regal archBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: bug/info/1553/snippet\-404
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

#
Sir Lancebot

Connected!

#
Sir Lancebot

Connected!

regal archBOT
#

Description

I think that it may be useful to add the normal workflow for features and bug fixes to the Contributing page of the site. This would include something that explain how you should first open an issue, wait to get it approved, and only then you should begin developing.

Reasoning

Many contributors often check the Contributing page and it's subpages to find out what to do when they wish to implement something. This might make...

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: mbaruh/persistent\_scheduler
regal archBOT
#
[python-discord/bot] New branch created: new\-filters
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
regal archBOT
#

Description

I'll preface this by saying that the command name is subject to change, I don't like the current one (avatarmod) a great deal, but I can't currently think of a better name. Essentially the command would do similar transformations to current commands like spookify, and other commands that play with the avatar image, but in a more convenient way.

Reasoning

It would mean that all avatar imagery stuff was in one place, which would make it easy to just add a new transform...

regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] branch deleted: Enforce\-image\-processing\-concurrency
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
regal archBOT
#

82d4dd2 Merge pull request #3 from python-discord/main - dolphingarlic
42caf7f Fixed the line limit and halved the char limit - dolphingarlic
9bf55fa Redirect to #bot-commands if the message's leng... - dolphingarlic
c01caf4 Wait for cache to fill before redirecting - dolphingarlic
d3d9e26 Merge branch 'main' into master - ChrisLovering

odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
#

Whilst I talk about the possible new tag that I suggest should be implemented please do not mistake it for the "!ask" tag, I support that tag being removed and am aware of its flaws. I am saying this due to the fact that during my discussion in the Python Server itself many members were under the impression I wanted to bring said tag back.

The command and the contents it should return.

Command: !help
Content:

Here are the best channels to get help:
If you want to as...
regal archBOT
#

Description

The .issue command should be moved to the .github group, so it would show in the Github cog, and the invocation could be .gh pr.

Reasoning

It makes more sense for it to be in the github group, since this command deals with github, just like .gh repo and .gh user. We could also use root aliases if there would be any confusion with the change.

Would you like to impleme...

regal archBOT
regal archBOT
#

Description

When running .savatar , there was unexpected issue explained below

The image shows the image outside the embed, which is abnormal It happens with Parzivel_1 #4463 can be seen [here](#sir-lancebot-playground message)

Steps to Reproduce

The image should be in the embed.

Expected Behaviour

Note : This is a example how it should be looking like but cannot be seen this when Parzivel is testing it.

...

#
[python-discord/sir-lancebot] New branch created: vcokltfre/fix/avatar\-filenames
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
oak estuaryBOT
regal archBOT
#

Description

Basically: remove the ability to have multiple issue/pr numbers and add additional info to the embed, such as the issue/pr author, since the automatic linking of issues everywhere (#642) means that it's not necessary anymore to have these commands separate, as they display the same info unless of course that is changed to display more info about it.

Proposed Implementation

I do not have any specific implementation details in mind.

Would you like to implement t...

#

Sentry Issue: SIR-LANCEBOT-4Y

ValueError: empty range for randrange() (10, 9, -1)
(4 additional frame(s) were not displayed)
...
  File "bot/exts/evergreen/avatar_modification/_effects.py", line 23, in apply_effect
    im = effect(im, *args)
  File "bot/utils/halloween/spookifications.py", line 58, in get_random_effect
    return effect(im)
  File "bot/utils/halloween/spookifications.py", lin...
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
#
[python-discord/bot] branch deleted: bug/info/1553/snippet\-404
#

197279d CodeSnippets: avoid returning None when request... - MarkKoz
742618f CodeSnippets: use a lower log level for 404 res... - MarkKoz
1d5a01b CodeSnippets: add more detail to the request er... - MarkKoz
41b5c24 CodeSnippets: fix type annotations - MarkKoz
712877f Merge branch 'main' into bug/info/1553/snippet-404 - Xithrius

odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#

It's not a bug with textwrap.shorten. shorten will truncate the "word" which causes the string to pass the set length. If the only word makes it pass the length, that word will be truncated, and an empty string will be left. So that works as expected.

If there's such a long "word", I feel like showing 300 characters of it is unnecessary. In that specific case ~50 should be enough. I also think your usage of and is a bit obscure here.

regal archBOT
odd spireBOT
regal archBOT
#

It's not a bug with textwrap.shorten. shorten will truncate the "word" which causes the string to pass the set length. If the only word makes it pass the length, that word will be truncated, and an empty string will be left. So that works as expected.

If there's such a long "word", I feel like showing 300 characters of it is unnecessary. In that specific case ~50 should be enough. I also think your usage of and is a bit obscure here.

At the same time, there should probab...

regal archBOT
#

So, if the sentence is three words (say) in the 300 shortened characters, then we reduce it to 50 characters. Otherwise, keep it to 300 characters (normal length).

I think just making sure it's not a single word is enough. So if shorten gives you an empty string, take 50 chars.

And on this shortened text, we check and make sure it is not more than 3 lines. (Counting the \n).
yes

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

Connected!

#
Sir Lancebot

Connected!

#
Sir Lancebot

Connected!

regal archBOT
odd spireBOT
regal archBOT
#

I'm only reviewing the schema for now.

A mistake you've made is conflating one-to-many relationships with one-to-one relationships. Recall that a foreign key describes the former, not the latter. However, the relationships between settings and filters is one-to-one, as well as the relationship between settings and actions/ranges.

One-to-one relationships are kind of strange to me in the world of database design, since they can be merged into a single table. There are some technical re...

regal archBOT
#

@MarkKoz the guiding principle in deciding where we should split settings, is that columns in the settings table represent entries that can act independently. Splitting the infraction fields and the user DM field will mean, as you mentioned in the bot issue, that we might try to DM a user who has been already banned.

Regarding the overrides, it is possible to handle null values on the bot side and just say it means we should skip this attribute, and then make sure we're not writing null va...

regal archBOT
#

Yes, I don't see why it wouldn't be acceptable. I don't believe it's possible for IDs to overlap either, if that was a concern.

As for your other point, keep in mind DRF lets you serialise the data in any way you want. It is not limited to being a 1:1 representation of the DB schema. Granted, it's easier when they do align, so the added work and any performance impacts should be weighed in along with the benefit I mentioned in the original comment.

#

@MarkKoz the guiding principle in deciding where we should split settings, is that columns in the settings table represent entries that can act independently. Splitting the infraction fields and the user DM field will mean, as you mentioned in the bot issue, that we might try to DM a user who has been already banned.

As I mentioned, the JSON schema doesn't have to match the DB schema. Making a split for the reason you mention feels like encoding implementation-specific semantics/detsils in...

regal archBOT
regal archBOT
regal archBOT
regal archBOT
#

We decided in a staff meeting today that there will be a new command that, for a given off-topic channel, picks a different name from the available pool and deletes the current name from the pool (rather than marking it used). This would be a moderator+ command that lives in the off-topic cog.

Other details of the spec have not been decided on, including:

  • The name of the command. reroll is a contender, though one might not infer that the command both rerolls and deletes.
  • The argum...
regal archBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
regal archBOT
#

@RohanJnr would like to implement this. I chatted with him earlier, and for now the specification is that !otn reroll n for n in {0, 1, 2}, though keep in mind that it will both reroll the name for that channel and delete the then-current name. The n argument will be optional when evoked in an off-topic channel.

Whoever is knowledgeable about rate limits as they apply to channel renames, I'd be interested to know if this command needs a cooldown.

regal archBOT
regal archBOT
#

Relevant Issues

Discussed here.

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

Description

This PR Cleans up sir-lancebot's code, with the help of @vcokltfre.

Changes made in this PR include:

  • Change all the type hints of commands.Bot to bot.Bot
  • Keep all the setup functions' docstrings consistent (Load the x Cog.)
  • Not s...
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/forms-frontend] New branch created: docker\-compose
regal archBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/olli] New branch created: prevent\-http\-errors
#
jb3
[python-discord/olli] branch deleted: prevent\-http\-errors
#
jb3
[python-discord/olli] New branch created: prevent\-loki\-cascade
#
jb3
[python-discord/olli] branch deleted: prevent\-loki\-cascade
#
jb3
[python-discord/olli] New branch created: version\-0\.1\.2
#
jb3
[python-discord/olli] branch deleted: version\-0\.1\.2
#
jb3
[python-discord/olli] New tag created: v0\.1\.2
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
#

This PR adds a new redirect app whose responsibility is ensuring that after Dewikification links still work. I had to create a custom redirect view to add functionality for our use case.

There is possible to define 2 types of redirects: exact redirects and prefix redirects.

There are survival tests for every redirect route that ensures:

  1. There is only 1 redirect.
  2. Redirects to the given URL.
  3. Final destination response code is 200.

Add resources and events app redirects, c...

regal archBOT
#
[python-discord/bot] branch deleted: str\-join\-tag
odd spireBOT
oak estuaryBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
#

Description

Since the .quiz command currently only has the "General" category which is pretty much only geography and history questions, we propose to add "Math" and "Science", 30 (or more) questions each which would be randomly picked.

Reasoning

Because it only has "General", and we NEED MORE!

Proposed Implementation

Additional Details

Would you like to implement this yourself?

  • [ x] I'd like to implement this feature with the cat dev team
  • [ ...
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#

Proposal

When a duration is specified for !ban like: !ban 3D You are now banned. It will become a temporary ban for the specified duration.
!ban with no provided duration: !ban You are now banned. should still result in a permanent ban.

Reasoning

Myself and other moderators will sometimes be typing out the ban when we realize we want it to be a tempban. We then need to backtrack and change it to tempban, which is a nuisance.

Additionally, the !mute command works with a ...

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

Hi! Thanks for your contribution.

  • Standard server icons should use our regular blurple colors, and the icon must match the relative size of all the existing animations (this one is much smaller). Only special events should use other colors.
  • Text is usually a bad idea for a server icon. It's not going to be possible to read any of this stuff at a small resolution.
  • The snakes are not aligned correctly in the final frame, and the final frame must always look the same as the first fram...
#

You must consider it in the context in which it will be displayed. It'd be too small to make out most of what's going on.

That being said, I do think the idea of an animation from the logo to some code and then back to the logo is promising. However, it may need some additional "twist" to make it more interesting than just rendering some lines of code.

There's lots of dead space in the current animation, which would have to be filled in. Since it'd be too small to make out details, the code...

regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/.github] New branch created: tag\-speedrun\-ignore\-update\-merged
#
[python-discord/bot] branch deleted: is\-vs\-==
oak estuaryBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
odd spireBOT
regal archBOT
#

Hi! This is a request for this PR. Totally 1000% is this request is out of scope for this PR though.
Could we have an option to essentially allow !clean user <id> 30M which would clean a users messages from all channels. It would only target messages that have been made during the specified duration. So in the example here, it would clean all the messages the user has posted in the past 30 minutes from all channels.

I can provide reasoning for this here or in the mod channels if you pre...

odd spireBOT
regal archBOT
#

Proposal

  • Currently !pban can be provided a duration to specify how many days of messages to purge (ranging from 1 to 7) with the default being 1 day. I don't think we have every actually used a duration other than 1 day, which is the default.
  • In the spirit of consistency, we would like the option to pass in a duration for allow tempbanning of the person in addition to purging messages.
  • So we want to remove the purge_days argument (always make it purge 1 days work of messages) and...
regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

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

Connected!

regal archBOT
#

a2059de chore: Redirect output to bot-commands channel ... - ToxicKidz
ded578e fix: Add a missing return statement - ToxicKidz
0fa28ac chore: Don't send a message when redirecting ev... - ToxicKidz
91cd758 Merge branch 'eval-redirect-output' of https://... - ToxicKidz
f1e2692 Merge branch 'main' into eval-redirect-output - ChrisLovering

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

Description

Since both the ping and uptime commands are a similar 'category' of command it would make sense to merge both into one file/cog, this should be a simple change and there is no additional context.

Reasoning

The reasoning is to make the code more concise and navigable.

Would you like to implement this yourself?

  • [x] I'd like to implement this feature myself
  • [ ] Anyone can implement this feature
#
[python-discord/sir-lancebot] New branch created: vcokltfre/feat/ping\-uptime\-merge
#

Relevant Issues

closes #721

Description

Both the ping and uptime commands have been merged into a cog called "ping" which I believe is the most fitting name for it, though if there is a better name I am open to changing it. This has been tested locally and is working correctly, though of course anyone reviewing should see for themselves.

Did you:

odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#

Plan 1 to handle rate limits.

Store the number of times an off-topic channel has been edited as times_edited and also the datetime instance for the last edit

data structure:

{
 channel_id: {
    "times_edited": int,
    "last_edit": datetime
 }
}

or the above can be done using a Class ( I have not decided which one I want to use yet).

Conditions before editing a channel via the reroll command or the daily channel name updater task,

  • if...
regal archBOT
#

If you go with plan one, can you store that information in an async redis cache? How will you handle the daily non-deleting rerolls (since those also count towards the rate limit)?

If you're worried that plan one would slow down development too much, you can go with plan 2 for now and we can plan to migrate to plan 1 later. The underlying logic for the actual deletion-reroll should be unaffected.

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

Noticed a few straggler 's in:

  • bot/__init__.py: L72
  • bot/exts/evergreen/snakes/_utils.py: Starting 20 lines

Noticed a few lines which don't follow our codestyle:

  • bot/exts/christmas/advent_of_code/_cog.py: L75, L78, L113
  • bot/exts/christmas/hanukkah_embed.py: L20, L67, L72, L95, L100
  • bot/exts/evergreen/cheatsheet.py: L64, L69
  • bot/exts/evergreen/connect_four.py: L280
  • bot/exts/evergreen/game.py: L339
  • bot/exts/evergreen/movie.py: L82
  • `bot/exts/eve...
regal archBOT
regal archBOT
#

Description

When giving argument python in subcommand get of command snakes, bot returns Wikipedia page of Python programming language instead of returning result related to python snake.

Steps to Reproduce

Type .snakes get python

Expected Behaviour

An embed which contains information about Python snake retrieved from Wikipedia.
(Not including link of most suitable Wikipedia page but can be found by using a search engine with keywords python genus Wikipedia)...

regal archBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: sebastiaan/prevent\-accidental\-addition\-talentpool\-cache
#

Bug Description

When asking for a review for a user that isn't currently nominated using the !talentpool get_review command, the user is added to the talentpool watched_users cache, causing their messages to be relayed to the talentpool watch channel.

Steps to reproduce

Use !talentpool get_review , where `` is the ID of a user with no active nomination. The command will correctly reply that the user does not have an active nomination, but their ID will nonetheless be added a...

odd spireBOT
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
odd spireBOT
odd spireBOT
odd spireBOT
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
#
[python-discord/sir-lancebot] New branch created: change\-to\-fetch\-user
#

Description

This is because discord.py would populate the user portion of the fetched member with cached information which would cause the avatar url not to be updated as we had intended with that function.

Did you:

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/forms-frontend] New branch created: codemirror
odd spireBOT
regal archBOT
#

It is gradually becoming a more common pattern to use a combination of the Scheduler class with an async redis cache to persistent scheduled tasks across restarts. Both a Scheduler and a redis cache are initialized in a cog, and there's a function to reschedule tasks on load. It is currently used in the ModPings and Stream cogs, and I foresee it being used in a couple more places in the near future as well.

I created a class that abstracts that combo away, to create the interface of a ...

#

Relevant Issues

Closes #719

Description

PART ONE:
After gathering a database of questions and answers, I incorporated them into the json file. Some questions requiring images are supplemented with an "img_url" entry, and some requiring dynamic generation (e.g. Math Q1, a random system of linear equations with two unknowns) have an "dynamic_id" entry, which will come into use later.

[PART TWO](https://github.com/Objectiviti...

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

Connected!

#
Sir Lancebot

Connected!

regal archBOT
regal archBOT
regal archBOT
regal archBOT
#

ea900a4 (infractions): Apply tempban if duration is spe... - Shivansh-007
9c3ef7c (infractions): Remove purge days & add duration... - Shivansh-007
3272605 (infractions): Apply temporary voice ban if dur... - Shivansh-007
ce1fd8e (infractions): Modify voice ban tests according... - Shivansh-007
d47dca4 Apply request grammar changes. - Shivansh-007

odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
oak estuaryBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
regal archBOT
regal archBOT
woeful girder
#

This channel will be like this for a while

regal archBOT
#
[python-discord/bot] New branch created: extract\-metabase\-data
#

Metabase generates report from site and metricity data. Quite often we export these reports to csv, transform them and the pipe into an int e.

This cog aims to reduce the time taken for that, by giving admins the ability to export data from a report directly into a hastebin.

The auth flow is cached, as the login endpoint is ratelimitted. We want to ensure that we use a valid session token until it expires to reduce the number of calls to this endpoint."

odd spireBOT
regal archBOT
#

I think overall the tests look ok. I probably wouldn't use dictionaries to define test cases (there's always the option of just using tuples and unpacking the items in the subtest loop). I think some of the docstrings could be improved both in terms of grammar and content. Keep in mind that the docstring summary is shown to the user if the test fails, so it's fairly important that it manages to explain what exactly is not working as expected. Having the test break and fail to explain why is f...

regal archBOT
regal archBOT
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/forms-frontend] New branch created: dependabot/npm\_and\_yarn/url\-parse\-1\.5\.0