#dev-log

1 messages ยท Page 47 of 1

regal archBOT
ebon magnetBOT
#

Build 20200530.3 failed

Requested by

GitHub

Duration

00:00:51

Build pipeline

Bot

ebon magnetBOT
#

Build 20200530.5 succeeded

Requested by

GitHub

Duration

00:02:09

Build pipeline

Bot

#

Build 20200530.6 succeeded

Requested by

GitHub

Duration

00:02:17

Build pipeline

Bot

ebon magnetBOT
#

Build 20200530.7 succeeded

Requested by

GitHub

Duration

00:02:28

Build pipeline

Bot

ebon magnetBOT
#

Build 20200530.8 succeeded

Requested by

GitHub

Duration

00:02:07

Build pipeline

Bot

ebon magnetBOT
#

Build 20200530.9 succeeded

Requested by

GitHub

Duration

00:02:29

Build pipeline

Bot

regal archBOT
#

I don't understand how this change makes it more precise. Under what circumstances would a channel hidden from @everyone not have at least one staff role with read permissions?

This was mostly in reference to what @SebastiaanZ said about us potentially cherry picking which channels are visible in lurk mode. If we did that, we would make them read deny to @everyone and read allow to Developers, I imagine. There'd be no reason to have a staff role with read permissions.

This also re...

#

@MarkKoz

I don't understand how this change makes it more precise. Under what circumstances would a channel hidden from @everyone not have at least one staff role with read permissions?

This was mostly in reference to what @SebastiaanZ said about us potentially cherry picking which channels are visible in lurk mode. If we did that, we would make them read deny to @everyone and read allow to Developers, I imagine. There'd be no reason to have a staff role with read permis...

ebon magnetBOT
#

Build 20200530.10 failed

Requested by

GitHub

Duration

00:02:16

Build pipeline

Bot

regal archBOT
#

I know we had a discussion in the mods team about allowing moderators to see the code jam channels around the time the previous jam kicked off, but I don't quite recall the conclusion to that discussion

Pretty sure we decided against this. It's been fine to handle this in admins only. And yes, this is a silly bit of complexity for such an absolutely inessential feature, but I do think the code has been improved by this, overall.

ebon magnetBOT
#

Build 20200530.11 succeeded

Requested by

GitHub

Duration

00:02:07

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200530.12 succeeded

Requested by

GitHub

Duration

00:02:27

Build pipeline

Bot

regal archBOT
regal archBOT
#

I had a chat with @SebastiaanZ about my comment and I should clarify:

It can and should be assigned in the cog's __init__ method.

The lock must bind to the correct event loop, and so we can create it in the cog's __init__ because discord.py will initialise the event loop before the cog is instantiated. It is therefore safe (and convenient) for us to do so, but that doesn't mean that locks can always be instantiated as soon as possible.

ebon magnetBOT
#

Build 20200530.13 succeeded

Requested by

GitHub

Duration

00:02:26

Build pipeline

Bot

regal archBOT
#

601ff03 AntiMalware Tests - Added unittest for message ... - MrGrote
9889f0f AntiMalware Tests - Added unittests for deletio... - MrGrote
90d2ce0 AntiMalware Tests - Added unittest for messages... - MrGrote
3913a8e AntiMalware Tests - Added unittest for the embe... - MrGrote
19c15d9 AntiMalware Tests - Added unittest for messages... - MrGrote

ebon magnetBOT
#

Build 20200530.14 succeeded

Requested by

GitHub

Duration

00:01:59

Build pipeline

Bot

north knotBOT
ebon magnetBOT
#

Build 20200530.15 succeeded

Requested by

GitHub

Duration

00:03:59

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
#

Relevant Issues

Closes #377

Description

xkcd comics has an API that can be called and JSON response is returned.
JSON has the metadata like image URL, post date, title, etc.
Image URL is embedded into the Discord Embed.

Reasoning

Fetching metadata from the API implementation is suitable for the task.

Did you:

ebon magnetBOT
#

Build 20200530.1 succeeded

Requested by

GitHub

Duration

00:00:52

Build pipeline

Seasonal Bot

ebon magnetBOT
#

Build 20200530.16 succeeded

Requested by

GitHub

Duration

00:02:30

Build pipeline

Bot

regal archBOT
#

ce5fcda (Banning): Added logging and truncating to corr... - ks129
6ad86ac (Kick Command): Added logging and truncating to... - ks129
80e483a (Ban and Kick): Replaced force reason truncatin... - ks129
ec8cc8b (Ban and Kick): Applied simplification to reaso... - ks129
aad6737 (Mod Scheduler): Added reason truncations to Sc... - ks129

north knotBOT
ebon magnetBOT
#

Build 20200530.17 succeeded

Requested by

GitHub

Duration

00:04:34

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: kwzrd/improve\-free
#

Previously, the tag was referencing the Available category. We now have a dedicated read-only channel with instructions, and it makes more sense to link the channel directly.

There is a considerable benefit in the fact that this link is now clickable.

image

I considered leaving an extra sentence also referencing the category as before, but I felt like it only led to unnecessary ...

ebon magnetBOT
#

Build 20200530.18 succeeded

Requested by

GitHub

Duration

00:02:27

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200530.19 succeeded

Requested by

GitHub

Duration

00:02:11

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200530.20 succeeded

Requested by

GitHub

Duration

00:02:21

Build pipeline

Bot

regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: multichannel\_purge
ebon magnetBOT
#

Build 20200530.22 succeeded

Requested by

GitHub

Duration

00:02:01

Build pipeline

Bot

#

Build 20200530.23 succeeded

Requested by

GitHub

Duration

00:01:56

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200530.24 succeeded

Requested by

GitHub

Duration

00:02:29

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200530.25 succeeded

Requested by

GitHub

Duration

00:02:28

Build pipeline

Bot

regal archBOT
#

b258f77 Removing the periodic ping from verification. - lemonsaurus
650e1b9 Merge branch 'master' into remove_periodic_ping - lemonsaurus
1cc1b38 Oops, add the return back. - lemonsaurus
3186188 Merge branch 'master' into remove_periodic_ping - kwzrd
32ce7a6 Merge pull request #971 from python-discord/rem... - kwzrd

#
[python-discord/bot] branch deleted: remove\_periodic\_ping
north knotBOT
ebon magnetBOT
#

Build 20200530.26 succeeded

Requested by

GitHub

Duration

00:03:58

Build pipeline

Bot

oak estuaryBOT
regal archBOT
ebon magnetBOT
#

Build 20200530.27 succeeded

Requested by

GitHub

Duration

00:02:15

Build pipeline

Bot

regal archBOT
#
[python-discord/bot] branch deleted: kwzrd/improve\-free
ebon magnetBOT
#

Build 20200530.28 succeeded

Requested by

GitHub

Duration

00:04:47

Build pipeline

Bot

north knotBOT
oak estuaryBOT
regal archBOT
regal archBOT
#
  • !source accept doesn't work - it triggers an InWhitelistCheckFailure. The source command should avoid triggering any checks.
  • Could you make aliases defined in alias.py resolve to their actual commands when used with !source?
  • Is it possible to make this work for the tag aliases? It could link to the markdown files.
ebon magnetBOT
#

Build 20200531.1 succeeded

Requested by

GitHub

Duration

00:01:51

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
ebon magnetBOT
#

Build 20200531.2 succeeded

Requested by

GitHub

Duration

00:02:29

Build pipeline

Bot

ebon magnetBOT
#

Build 20200531.3 succeeded

Requested by

GitHub

Duration

00:02:19

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200531.5 succeeded

Requested by

GitHub

Duration

00:02:06

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200531.6 succeeded

Requested by

GitHub

Duration

00:02:27

Build pipeline

Bot

#

Build 20200531.7 succeeded

Requested by

GitHub

Duration

00:02:24

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200531.9 succeeded

Requested by

GitHub

Duration

00:02:12

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200531.10 succeeded

Requested by

GitHub

Duration

00:02:21

Build pipeline

Bot

regal archBOT
#

If you're up for it, this could use some tests.

I hate to say this but I'm not really up for this, at least not in the very near future.

If someone else wants to commit some tests for this, you're welcome to. Otherwise, since it's not at all a critical feature and it seems to work, we could probably merge this without tests.

If you insist on tests, I can probably write some in like a week or two when I've freed up some time. Sorry!

ebon magnetBOT
#

Build 20200531.11 succeeded

Requested by

GitHub

Duration

00:02:25

Build pipeline

Bot

regal archBOT
#
[python-discord/bot] New branch created: help\_channel\_rediscache
regal archBOT
ebon magnetBOT
#

Build 20200531.12 succeeded

Requested by

GitHub

Duration

00:02:29

Build pipeline

Bot

ebon magnetBOT
#

Build 20200531.13 failed

Requested by

GitHub

Duration

00:02:09

Build pipeline

Bot

ebon magnetBOT
#

Build 20200531.14 succeeded

Requested by

GitHub

Duration

00:02:08

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200531.15 succeeded

Requested by

GitHub

Duration

00:02:11

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200531.16 succeeded

Requested by

GitHub

Duration

00:02:29

Build pipeline

Bot

regal archBOT
#

Since the switch to the purge() function, which is much faster, cancelling a clean operation has been broken. There is still a for loop that searches for messages. This is needed to get message IDs and ignore mod log events. All cancel does now is break out of this for loop; it does not stop purge().

self.cleaning is set to False after the loop ends. This causes any other ongoing clean operations to also break out of their loops. Since purge() still gets called, this results in o...

regal archBOT
#
[python-discord/bot] branch deleted: multichannel\_purge
north knotBOT
ebon magnetBOT
#

Build 20200531.17 succeeded

Requested by

GitHub

Duration

00:04:10

Build pipeline

Bot

oak estuaryBOT
regal archBOT
ebon magnetBOT
#

Build 20200601.1 succeeded

Requested by

GitHub

Duration

00:02:05

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200601.2 succeeded

Requested by

GitHub

Duration

00:03:03

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
#

I do like this feature and want to see it added. If the regex module handles catastrophic expressions well, but re doesn't, then re support needs to be dropped. I am not too concerned about people being mislead by the extended features of regex. However, if possible, using re to check for successful compilation is a good idea. On the other hand, if re can also handle catastrophic expression, then the regex module is redundant.

Regarding execution time, let's keep also keep in...

regal archBOT
ebon magnetBOT
#

Build 20200601.3 succeeded

Requested by

GitHub

Duration

00:02:22

Build pipeline

Bot

regal archBOT
#

This updates the lesbian logo in the animated directory, to address the concerns of a user in #meta.

I don't have the tools or knowledge to create the GIF - there are tons of free tools out there, but most of them seem limited in resolution, frame rate, or watermarking.

If anyone has any idea what to use for that, though, I'm happy to give it a stab.

regal archBOT
#

It bothers me that the formatting of the svg file is a bit messy now. A simple way would have been to copy another icon that has 5 stripes, open the svg in a text editor, and change the fill colour of the stripes. That's how I made most of the icons once I had the "template" for each number of stripes.

For the GIF, I used photoshop. That's what the PSD is for. However, I understand Photoshop is not free.

#

Closes #977

As described in #977 using asyncio.sleep isn't a good way to check if the silence duration has passed, since in some cases, it can cause channels to get prematurely unsilenced.

This solves that issue by using Scheduler from bot.utils.scheduling which has the ability to cancel on-going scheduled tasks. This also means that there can be a message on !unsilence saying that the channel is currently not silenced, which provides much better feedback than not sending anyth...

ebon magnetBOT
#

Build 20200601.4 failed

Requested by

GitHub

Duration

00:00:52

Build pipeline

Bot

regal archBOT
#
[python-discord/branding] New branch created: pride\-banner\-png
#
[python-discord/branding] branch deleted: pride\-banner\-png
regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200601.5 failed

Requested by

GitHub

Duration

00:00:50

Build pipeline

Bot

#

Build 20200601.6 succeeded

Requested by

GitHub

Duration

00:02:14

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
ebon magnetBOT
#

Build 20200602.1 succeeded

Requested by

GitHub

Duration

00:02:26

Build pipeline

Bot

regal archBOT
#
[python-discord/site] branch deleted: remove\_avatar\_hash
#

7230449 Remove all sending of avatar_hash. - lemonsaurus
8e0cdb2 Fix failing tests related to avatar_hash - lemonsaurus
b7620e7 Merge branch 'master' into stop_sending_avatar_... - lemonsaurus
d0c0836 Merge branch 'master' into stop_sending_avatar_... - SebastiaanZ
a30917b Merge pull request #962 from python-discord/sto... - SebastiaanZ

#
[python-discord/bot] branch deleted: stop\_sending\_avatar\_hash
north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200602.1 succeeded

Requested by

GitHub

Duration

00:04:08

Build pipeline

Site

#

Build 20200602.2 succeeded

Requested by

GitHub

Duration

00:04:05

Build pipeline

Bot

oak estuaryBOT
north knotBOT
regal archBOT
#

I'm going to take a stab at this. It led to some serious issues last week, and I think we should tackle this relatively soon-ish.

I'm not quite sure about what the best implementation for this would be, yet. If we go with a global lock and making sure the "deletion context"-specific infractions only happen once, the infractions from other contexts will still go through after the lock is released. Granted, this should already reduce to a single fail/success message per context, but I don't ...

regal archBOT
ebon magnetBOT
#

Build 20200602.3 failed

Requested by

GitHub

Duration

00:00:45

Build pipeline

Bot

#

Build 20200602.4 succeeded

Requested by

GitHub

Duration

00:02:26

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200602.5 succeeded

Requested by

GitHub

Duration

00:02:30

Build pipeline

Bot

regal archBOT
#

Issuing an help command like !help ' (a single single quote character as the help query) results in the following warning:

2020-06-02 21:52:38 | root | WARNING | Applied processor reduces input query to empty string, all comparisons will have score 0. [Query: ''']

The same goes for at least the queries:

[Query: 'ยด']
[Query: '"']
[Query: '`']

The warning message hints at that such a "query" will be reduces to an empty string and, in turn, to a comparison score of 0. ...

regal archBOT
#
[python-discord/site] New branch created: joseph/change\-roles\-field\-to\-postgres\-array
#

After observing incredibly high response times for the GET /bot/users we investigated how Django was querying the Postgres tables relevant and found that for every sync we make 59k queries to the database across tables with over 100,000 rows. We experienced errors since uWSGI was killing workers after 30 seconds and the bot was unable to sync until we removed user data in a similar fashion to our monthly data reviews.

This PR removes the api_user_roles table and converts the roles fiel...

ebon magnetBOT
#

Build 20200602.2 succeeded

Requested by

GitHub

Duration

00:02:00

Build pipeline

Site

ebon magnetBOT
#

Build 20200603.1 succeeded

Requested by

GitHub

Duration

00:04:01

Build pipeline

Bot

north knotBOT
oak estuaryBOT
regal archBOT
#

Thanks for taking the time to do this after it was supposed to be a simple fix. Code looks and works great now.

I feel like we can also add a timestamp check to is_valid_user_id to be consistent with the is_valid_user_id method. This should be straight forward with the util function discord.py provides, but then again this form of validation is not very important

#

I think this could just be used directly where its single use is with the two straight forward expressions; in my opinion it abstracts a bit too much unnecessarily.
As for the issue with this if it stays like it is, take_action's docstring nor the name of this function suggest that a message is sent so it may be confusing if the docstring or the code here is not read.

#

I feel like we can also add a timestamp check to is_valid_user_id to be consistent with the is_valid_user_id method.

This is impossible/redundant, depending on how you look at it. The snowflake format treats a timestamp of 0 as the discord epoch (i.e. timestamps are relative to the epoch). Since it's being parsed as an unsigned integer, the timestamp will always be at least 0.

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200603.2 succeeded

Requested by

GitHub

Duration

00:02:14

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
#

I've been investigating regex a bit more and have found it is still very much susceptible to DoS attacks and should not be used with arbitrary user input.

I'll attach an example:

>>> import regex
>>> regex.match("^(([a-z])+.)+[A-Z]([a-z])+$", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!")
... hang ...
>>> regex.match("^(([a-z])+.)+[A-Z]([a-z])+$", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
regal archBOT
ebon magnetBOT
#

Build 20200603.3 succeeded

Requested by

GitHub

Duration

00:02:21

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200603.4 succeeded

Requested by

GitHub

Duration

00:02:26

Build pipeline

Bot

regal archBOT
#

Description

Right now the .prideavatar command works with all avatar image formats, but only produces PNG images. The proposed change would modify this command to produce GIFs if the avatar format is a GIF. This change could potentially be implemented for other commands that modify the avatar, however I haven't tried any others.

Reasoning

It would be nice if commands that formatted your avatar worked completely with all avatar formats (especially ones which you need to pay ext...

regal archBOT
regal archBOT
regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
ebon magnetBOT
#

Build 20200604.1 failed

Requested by

GitHub

Duration

00:01:02

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200604.2 failed

Requested by

GitHub

Duration

00:00:57

Build pipeline

Bot

#

Build 20200604.4 succeeded

Requested by

GitHub

Duration

00:02:33

Build pipeline

Bot

regal archBOT
oak estuaryBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
#

In a recent PR, we merged a commit that changed the order in which our members are notified of their infraction and we actually the infraction: Instead of sending the DM first and applying the infraction after, we now apply the infraction first and try to DM the member after.

However, in the case of ban/kick infractions, this means that we try to send a DM to a member that has just been kicked off the server. That will obviously not work, as the bot can only send DMs to users it shares a s...

ebon magnetBOT
#

Build 20200604.5 succeeded

Requested by

GitHub

Duration

00:02:50

Build pipeline

Bot

regal archBOT
#

From testing with the infraction search command, I found some blank pages. The first page was blank and so was a page between the start of an infraction and its continuation page.

Hmm, that's odd. I didn't pick it up in my initial local server tests of the implementation but after clearing out the infraction history and adding a few pages worth of infraction notes, I did see the missing blank page at the start. I'll have to look further into the cause and see if I can add some additional...

regal archBOT
regal archBOT
north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200605.1 succeeded

Requested by

GitHub

Duration

00:03:56

Build pipeline

Site

north knotBOT
#

Postgres backup completed!

regal archBOT
#
[python-discord/bot] New branch created: bug/backend/stats\-category\-check
ebon magnetBOT
#

Build 20200605.1 succeeded

Requested by

GitHub

Duration

00:02:14

Build pipeline

Bot

regal archBOT
#

Apart from the stuff the two of you have commented on, I don't see anything particularly offensive here. I haven't done a feature test of this yet.

One thing I'd like to mention though @aeros is that the git stuff here seems a little hasty. I'd like to see a fuller PR description (embedding images is great when it's a bot feature), I'd like to see commit messages that describe the commits, and I think your first commit here is much bigger than it probably should be.

I don't think you s...

ebon magnetBOT
#

Build 20200605.3 succeeded

Requested by

GitHub

Duration

00:02:17

Build pipeline

Site

regal archBOT
#

0571baa Convert the roles field on the user model from ... - j03b
fac0d15 Add migrations to switch user field to array - j03b
044fb26 Add validator to ensure roles passed to user mo... - j03b
967ac5c Remove primary key from user serializer - j03b
9c439d6 Alter signals to handle OAuth2 with groups and ... - j03b

#
[python-discord/site] branch deleted: joseph/change\-roles\-field\-to\-postgres\-array
north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200605.4 succeeded

Requested by

Joseph Banks

Duration

00:04:17

Build pipeline

Site

regal archBOT
#

I'll work on this. As discussed with Mark yesterday, I'll revert back to old behavior of sending a DM first and trying to apply the infraction later. This means that we may send a DM and have the infraction fail, but that's impossible to avoid for kicks/bans and we'd need a considerable refactor to specialize the order based on the infraction type.

The latter may still be something we'd like to do, but I think we should fix this first and look at refactoring the infraction flow later. Ther...

regal archBOT
#
[python-discord/bot] New branch created: sebastiaan/issues/982\-infraction\-dm\-order
#

I've "reverted" the change that reversed the order of DM'ing a user about their infraction and applying the actual infraction. A recent PR reversed the order to stop us from sending DMs when applying the
infraction failed.

However, in order to DM a user, the bot has to share a guild with the recipient and kicking them off of our server first does not help with that. That's why I reverted the change and reverted some other minor changes made in relation to this change.

This PR closes #9...

ebon magnetBOT
#

Build 20200605.2 succeeded

Requested by

GitHub

Duration

00:02:31

Build pipeline

Bot

ebon magnetBOT
#

Build 20200605.3 succeeded

Requested by

GitHub

Duration

00:02:19

Build pipeline

Bot

regal archBOT
#
[python-discord/bot] branch deleted: sebastiaan/issues/982\-infraction\-dm\-order
#

This looks good and I'm happy to approve. The new information will be nice to have. I agree that tests aren't critical for this feature, and we can add them later on, if we want to.

I've done a code review & tested but I haven't yet had the time to go through all the conversation here to make sure everything has been resolved, and I don't feel comfortable merging it without doing that first. Feel free to merge though - I'll get around to it later tonight if no one does by then.

north knotBOT
ebon magnetBOT
#

Build 20200605.4 succeeded

Requested by

Joseph Banks

Duration

00:04:24

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
#

Currently, the flow with which we register infractions may take up to four requests to our API. I'd like to propose some changes that should bring this number of API requests down to one in most situations. This is especially handy in situations where a lot of infractions are issued in a really short time frame, such as during a raid, to not overload our API.

Note: The changes proposed in this issue also require changes to our API endpoints

Background

Let's take a "mute" infract...

regal archBOT
ebon magnetBOT
#

Build 20200605.5 succeeded

Requested by

GitHub

Duration

00:02:09

Build pipeline

Bot

regal archBOT
#

aa46d01 Clean up channel counts and add staff channels. - lemonsaurus
171c1e2 Adding staff member count to !server. - lemonsaurus
73e07df Merge branch 'master' into staff_count_server - lemonsaurus
89752c5 More precise staff-channel check. - lemonsaurus
f59e634 Fix busted test_information test. - lemonsaurus

#
[python-discord/bot] branch deleted: staff\_count\_server
north knotBOT
ebon magnetBOT
#

Build 20200605.6 succeeded

Requested by

GitHub

Duration

00:03:56

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
#

This PR should ensure that help channel-related data is persisted across bot restarts.

To achieve this, we make two changes.

RedisCache now supports Booleans as values

For the unanswered cache, we need to know whether or not a channel has been answered, and so it was relevant to store a boolean in the RedisCache. There was no support for this, so I added some. It seems like a feature we might want in the future for other things anyway.

Refactoring help_channels.py

The rest is...

ebon magnetBOT
#

Build 20200605.7 succeeded

Requested by

GitHub

Duration

00:02:30

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200605.8 succeeded

Requested by

GitHub

Duration

00:02:23

Build pipeline

Bot

regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200606.1 succeeded

Requested by

GitHub

Duration

00:04:01

Build pipeline

Bot

oak estuaryBOT
regal archBOT
#

Thanks for the reviews Mark and Leon. I should have time to address the feedback in the next few days.

I'd like to see a fuller PR description (embedding images is great when it's a bot feature)

I'm usually in the habit of keeping the PR description minimal and taking the time to explain features in something like a "What's New" document (since that's more visible, typically). But since we just have the PR descriptions here, I'll try to put more effort into that in the future.

I...

regal archBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: snekbox\-compose
ebon magnetBOT
#

Build 20200606.2 succeeded

Requested by

GitHub

Duration

00:02:09

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200606.3 failed

Requested by

GitHub

Duration

00:00:59

Build pipeline

Bot

#

Build 20200606.4 failed

Requested by

GitHub

Duration

00:02:00

Build pipeline

Bot

#

Build 20200606.5 failed

Requested by

GitHub

Duration

00:02:09

Build pipeline

Bot

#

Build 20200606.6 succeeded

Requested by

GitHub

Duration

00:02:07

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200606.8 succeeded

Requested by

GitHub

Duration

00:02:13

Build pipeline

Bot

regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200606.9 succeeded

Requested by

Leon Sandรธy

Duration

00:03:38

Build pipeline

Bot

oak estuaryBOT
regal archBOT
#

Bumps django from 2.2.11 to 2.2.13.

Commits

8093aaa [2.2.x] Bumped version for 2.2.13 release.
07e59ca [2.2.x] Fixed CVE-2020-13254 -- Enforced cache key validation in memcached ba...
6d61860 [2.0.x] Fixed CVE-2020-13596 -- Fixed potential XSS in admin ForeignKeyRawIdW...
7e1084e [2.2.x] Added release date for 2.2.13.
2b69680 [2.2.x] Refs #31485 -- Backported jQuery upgrade to 3.5.1.
8301bc9 [2.2.x] Fixed E128, E741 flake8 warnings.
c7bab8d [2.2.x] Fixed ...

#
[python-discord/site] New branch created: dependabot/pip/django\-2\.2\.13
ebon magnetBOT
#

Build 20200606.1 succeeded

Requested by

GitHub

Duration

00:02:14

Build pipeline

Site

regal archBOT
ebon magnetBOT
#

Build 20200606.10 succeeded

Requested by

GitHub

Duration

00:02:19

Build pipeline

Bot

regal archBOT
#
[python-discord/seasonalbot] New branch created: sentry\_aiohttp
#

This PR makes two small changes:

  • Adds the AioHttpIntegration to the sentry_sdk.init call
  • Bumps all versions in the lockfile.

We're bumping the versions because Sentry is complaining that we're not using the latest version of its sdk.

I've tested this commit, and the bot still runs fine, but I didn't test it very thoroughly. Feel free to do a quick feature review of this if you're reviewing.

Closes: #417

ebon magnetBOT
#

Build 20200606.1 failed

Requested by

GitHub

Duration

00:00:54

Build pipeline

Seasonal Bot

north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200606.2 succeeded

Requested by

Joseph Banks

Duration

00:03:35

Build pipeline

Site

regal archBOT
ebon magnetBOT
#

Build 20200606.11 succeeded

Requested by

GitHub

Duration

00:02:14

Build pipeline

Bot

regal archBOT
#
[python-discord/public-stats] branch deleted: dependabot/npm\_and\_yarn/websocket\-extensions\-0\.1\.4
#
[python-discord/public-stats] New branch created: add\-linting
#
[python-discord/public-stats] branch deleted: add\-linting
ebon magnetBOT
#

Build 20200606.12 succeeded

Requested by

GitHub

Duration

00:02:10

Build pipeline

Bot

north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200606.3 succeeded

Requested by

Leon Sandรธy

Duration

00:03:31

Build pipeline

Site

regal archBOT
regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200607.1 failed

Requested by

GitHub

Duration

00:00:53

Build pipeline

Bot

ebon magnetBOT
#

Build 20200607.2 succeeded

Requested by

GitHub

Duration

00:02:13

Build pipeline

Bot

ebon magnetBOT
#

Build 20200607.3 succeeded

Requested by

GitHub

Duration

00:02:14

Build pipeline

Bot

regal archBOT
#

In some cases, a website will want to have two themes, e.g. a dark theme and a light theme. To do this while using this plugin is tricky because all the scss variables are compiled at startup. But here's what we can do:

  • If an alt_variables dict is present in BULMA_SETTINGS, we compile two css files, bulma.css and bulma_alt.css
  • We create a template tag for adding this other css file as well, something like {% bulma_alt %}

Now the client can simply add this second dict of v...

#

There's been some requests for a dark theme, and we came up with a feasible way this could be implemented.

First, let's solve the actual theming on django-simple-bulma instead of here. I've created an issue for this, and until this issue is solved, this issue will be blocked.
https://github.com/python-discord/django-simple-bulma/issues/46

Second, we just create an alternative theme by altering the variables passed into BULMA_SETTINGS, and then ensuring we have the right bulma class...

#
[python-discord/public-stats] New branch created: summarize\-to\-nice\-time\-frames
#

This summarises over time frames leading to nicer consistent interval instead of like "1 hour and 50 minutes".

There are a other few UX changes like expanding the bars on in use help channel to fit the interval so they have a more hoverable radius. As well as this the point hover radius has increased so the cursor does not have to touch a line as closely to get a tooltip trigger.

On the Python side of things a huge removal of duplicated code has been done, docstrings have been rewritten...

#
[python-discord/public-stats] branch deleted: summarize\-to\-nice\-time\-frames
regal archBOT
#
[python-discord/branding] New branch created: pride\-black
regal archBOT
#
[python-discord/public-stats] New branch created: caching
#

This PR achieves two forms of caching:

  • Assign correct cache control headers to force downstream cache systems to retain response data
  • Add an internal cache for graphite queries to ensure that data is cached for a maximum of 300 seconds until a new query is run, both improving speed and resource utilisation.
regal archBOT
#
[python-discord/branding] branch deleted: pride\-black
ebon magnetBOT
#

Build 20200607.4 succeeded

Requested by

GitHub

Duration

00:02:18

Build pipeline

Bot

regal archBOT
#
[python-discord/bot] branch deleted: bug/backend/stats\-category\-check
north knotBOT
ebon magnetBOT
#

Build 20200607.5 succeeded

Requested by

GitHub

Duration

00:03:53

Build pipeline

Bot

oak estuaryBOT
regal archBOT
ebon magnetBOT
#

Build 20200607.1 failed

Requested by

Leon Sandรธy

Duration

00:01:56

Build pipeline

Site

regal archBOT
north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200607.2 succeeded

Requested by

Leon Sandรธy

Duration

00:03:51

Build pipeline

Site

regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
#
[python-discord/bot] New branch created: kwzrd/incidents
regal archBOT
#

This is a draft PR to action #992.

Incidents automation

I'm opening a draft super early because I want to keep a checklist here to track my progress. Please do not pay extensive attention to the diff until taken out of draft status (but feel free to talk to me if you see me do something stupid).

Progress

  • [x] Add incident signaling emojis to the emoji server
  • [x] Register new emojis in the config & load them into constants at runtime
  • [x] Create an #incidents channel in...
ebon magnetBOT
#

Build 20200608.1 succeeded

Requested by

GitHub

Duration

00:02:08

Build pipeline

Bot

regal archBOT
#

We've discussed some minor updates to the interface in the dev-core channel.

When a report is created the investigating icon <img src="https://cdn.discordapp.com/emojis/714224190928191551.png?v=1" height="15" style="vertical-align: middle;"/> is added as a reaction to the report.

<img width="921" alt="Screenshot 2020-06-09 at 00 12 26" src="https://user-images.githubusercontent.com/20439493/84089052-e7d01480-a9e5-11ea-943e-933df44c4c81.png">

Once a moderator clicks this reaction to m...

regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200609.1 succeeded

Requested by

Joseph Banks

Duration

00:03:53

Build pipeline

Bot

oak estuaryBOT
regal archBOT
ebon magnetBOT
#

Build 20200609.2 succeeded

Requested by

GitHub

Duration

00:02:11

Build pipeline

Bot

regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
#

I get the sense that few members appropriately make use of the ability to claim multiple channels. This feature made more sense when the system was first designed because members couldn't close their own channel. Now, it just adds complexity to the code that isn't worth keeping around if no one is relying on this feature. It would be simpler to remove the cooldown when the channel goes dormant rather than having a separate task scheduled for a different time.

Should this ability be removed...

regal archBOT
ebon magnetBOT
#

Build 20200610.1 succeeded

Requested by

GitHub

Duration

00:02:19

Build pipeline

Bot

regal archBOT
#
[python-discord/bot] branch deleted: bug/mod/932/modlog\-ignore\-dms
north knotBOT
ebon magnetBOT
#

Build 20200610.2 succeeded

Requested by

Joseph Banks

Duration

00:03:59

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
#

67702dc ModLog: ignore DMs in the message delete listener - MarkKoz
758edf0 Fix AttributeError for category check - MarkKoz
93be87c Enable the 'redis' / 'aiohttp' Sentry integrations - lemonsaurus
c88b5d1 Merge branch 'master' into bug/backend/stats-ca... - Den4200
f9df6e2 Merge pull request #983 from python-discord/bug... - Den4200

ebon magnetBOT
#

Build 20200610.3 succeeded

Requested by

GitHub

Duration

00:02:13

Build pipeline

Bot

regal archBOT
#
[python-discord/bot] branch deleted: snekbox\-compose
north knotBOT
ebon magnetBOT
#

Build 20200610.4 succeeded

Requested by

Joseph Banks

Duration

00:05:02

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
#

The tests are good for the most part. I pointed out some weaknesses which I think are a result of the code not being in small enough units. I suggest you separate the code out into functions like this (in addition to the command function):

def create_category(...):
    ...

def get_overwrites(...):
    ...

def create_channels(...):
    ...

def add_roles(...):
    ...
regal archBOT
ebon magnetBOT
#

Build 20200610.6 succeeded

Requested by

GitHub

Duration

00:02:03

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200610.7 succeeded

Requested by

GitHub

Duration

00:02:26

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200610.8 succeeded

Requested by

GitHub

Duration

00:02:03

Build pipeline

Bot

ebon magnetBOT
#

Build 20200610.9 succeeded

Requested by

GitHub

Duration

00:02:08

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200610.10 succeeded

Requested by

GitHub

Duration

00:02:16

Build pipeline

Bot

regal archBOT
#

3527b58 Converters: handle ValueError when year for dur... - MarkKoz
9692093 Test for out of range datetime in the Duration ... - MarkKoz
298389f Remove redundant parenthesis from test values - MarkKoz
837bc23 Use await instead of asyncio.run in converter t... - MarkKoz
1e4766d Fix exception message assertions in converter t... - MarkKoz

#
[python-discord/bot] branch deleted: bug/backend/906/converter\-year\-range
north knotBOT
ebon magnetBOT
#

Build 20200610.11 succeeded

Requested by

Joseph Banks

Duration

00:03:53

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200611.1 failed

Requested by

GitHub

Duration

00:00:52

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200611.2 succeeded

Requested by

GitHub

Duration

00:02:27

Build pipeline

Bot

#

Build 20200611.6 succeeded

Requested by

GitHub

Duration

00:02:02

Build pipeline

Bot

#

Build 20200611.5 succeeded

Requested by

GitHub

Duration

00:02:20

Build pipeline

Bot

ebon magnetBOT
#

Build 20200611.7 succeeded

Requested by

GitHub

Duration

00:02:22

Build pipeline

Bot

#

Build 20200611.8 succeeded

Requested by

GitHub

Duration

00:02:30

Build pipeline

Bot

ebon magnetBOT
#

Build 20200611.10 succeeded

Requested by

GitHub

Duration

00:02:24

Build pipeline

Bot

#

Build 20200611.9 succeeded

Requested by

GitHub

Duration

00:02:36

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

ebon magnetBOT
#

Build 20200611.11 succeeded

Requested by

GitHub

Duration

00:03:13

Build pipeline

Bot

#

Build 20200611.13 succeeded

Requested by

GitHub

Duration

00:02:37

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200611.14 failed

Requested by

Joseph Banks

Duration

00:00:46

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200611.1 failed

Requested by

Joseph Banks

Duration

00:01:29

Build pipeline

Site

regal archBOT
ebon magnetBOT
#

Build 20200611.15 succeeded

Requested by

Joseph Banks

Duration

00:04:17

Build pipeline

Bot

regal archBOT
north knotBOT
oak estuaryBOT
ebon magnetBOT
#

Build 20200611.2 succeeded

Requested by

Joseph Banks

Duration

00:04:11

Build pipeline

Site

regal archBOT
#
[python-discord/bot] New branch created: add\-cooldown\-channel
ebon magnetBOT
#

Build 20200611.17 succeeded

Requested by

GitHub

Duration

00:02:17

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200611.18 succeeded

Requested by

GitHub

Duration

00:02:16

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200611.19 failed

Requested by

GitHub

Duration

00:01:19

Build pipeline

Bot

#

Build 20200611.20 failed

Requested by

GitHub

Duration

00:02:19

Build pipeline

Bot

regal archBOT
#
[python-discord/bot] branch deleted: add\-cooldown\-channel
north knotBOT
ebon magnetBOT
#

Build 20200611.21 succeeded

Requested by

GitHub

Duration

00:04:29

Build pipeline

Bot

oak estuaryBOT
regal archBOT
#

3527b58 Converters: handle ValueError when year for dur... - MarkKoz
9692093 Test for out of range datetime in the Duration ... - MarkKoz
298389f Remove redundant parenthesis from test values - MarkKoz
837bc23 Use await instead of asyncio.run in converter t... - MarkKoz
1e4766d Fix exception message assertions in converter t... - MarkKoz

ebon magnetBOT
#

Build 20200611.22 succeeded

Requested by

GitHub

Duration

00:02:07

Build pipeline

Bot

regal archBOT
regal archBOT
#

I like the idea proposed, but we need to take a new issue into account that we observed twice in the last two days: Trolls opening and closing channels at a rapid rate. This may have happened before as well, as it was more or less "luck" that we observed the last event; the observation made us look into the logs, which revealed another event from another members just 1.5 day earlier. Both times, a user opened and closed about 20 channels within a few minutes.

This is obviously not only di...

regal archBOT
#

I did raise this issue in https://github.com/python-discord/bot/issues/867#issuecomment-609511788, I think the cooldown should remain after going dormant with the new additional api calls involved and a higher influx of new users that potentially may want to do something distruptive.
I think it'd be better to decrease the cooldown to 5 minutes when a channel goes dormant to cover the cases where someone gets an issue solved quickly but then gets a new one after their channel is closed. If th...

ebon magnetBOT
#

Build 20200611.23 succeeded

Requested by

GitHub

Duration

00:02:01

Build pipeline

Bot

regal archBOT
#

2d36b0a Filtering: Implement bad words detection in nic... - ks129
9ee9554 Filtering: Refactor bad names checking - ks129
0e12ff1 Filtering: Create lock in __init__ - ks129
4bee4f5 Filtering: Use POSIX instead ISO format to stor... - ks129
33a0306 Filtering: Rename bad_words_in_name to `check... - ks129

north knotBOT
ebon magnetBOT
#

Build 20200611.24 succeeded

Requested by

Joseph Banks

Duration

00:03:58

Build pipeline

Bot

oak estuaryBOT
night lilyBOT
#
SeasonalBot

Connected!

regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200612.1 succeeded

Requested by

GitHub

Duration

00:04:06

Build pipeline

Bot

oak estuaryBOT
north knotBOT
#

Postgres backup completed!

ebon magnetBOT
#

Build 20200612.2 succeeded

Requested by

GitHub

Duration

00:02:25

Build pipeline

Bot

ebon magnetBOT
#

Build 20200612.3 succeeded

Requested by

GitHub

Duration

00:02:39

Build pipeline

Bot

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200612.4 succeeded

Requested by

GitHub

Duration

00:02:17

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200612.5 succeeded

Requested by

GitHub

Duration

00:01:55

Build pipeline

Bot

ebon magnetBOT
#

Build 20200612.7 succeeded

Requested by

GitHub

Duration

00:02:11

Build pipeline

Bot

#

Build 20200612.6 succeeded

Requested by

GitHub

Duration

00:02:19

Build pipeline

Bot

#

Build 20200612.9 succeeded

Requested by

GitHub

Duration

00:02:18

Build pipeline

Bot

#

Build 20200612.10 failed

Requested by

GitHub

Duration

00:01:42

Build pipeline

Bot

#

Build 20200612.11 succeeded

Requested by

GitHub

Duration

00:02:19

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200612.12 succeeded

Requested by

GitHub

Duration

00:02:19

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200612.13 succeeded

Requested by

GitHub

Duration

00:02:26

Build pipeline

Bot

ebon magnetBOT
#

Build 20200612.14 succeeded

Requested by

GitHub

Duration

00:02:23

Build pipeline

Bot

ebon magnetBOT
#

Build 20200612.15 succeeded

Requested by

GitHub

Duration

00:02:16

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200612.16 succeeded

Requested by

GitHub

Duration

00:02:16

Build pipeline

Bot

regal archBOT
regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200612.17 succeeded

Requested by

GitHub

Duration

00:02:17

Build pipeline

Bot

regal archBOT
#
[python-discord/bot] New branch created: bug/frontend/996/charinfo\-md\-escape
ebon magnetBOT
#

Build 20200612.18 succeeded

Requested by

GitHub

Duration

00:02:09

Build pipeline

Bot

regal archBOT
#

After resolving the urls the end up looking like this on mobile
<img src="https://cdn.discordapp.com/attachments/635950537262759947/716777420241502248/Screenshot_20200601-001300_Discord.jpg" height=500>
On desktop it's a normal codeblock with a link.
Is this behaviour fine?
Stripping of the backticks would have to be done after they were added in because of how docs are structured if we went with links without codeblock, or the urls can just return text with no linking involved

#
[python-discord/bot] branch deleted: bug/frontend/996/charinfo\-md\-escape
north knotBOT
ebon magnetBOT
#

Build 20200612.19 succeeded

Requested by

Joseph Banks

Duration

00:04:08

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200613.1 succeeded

Requested by

GitHub

Duration

00:04:04

Build pipeline

Bot

oak estuaryBOT
regal archBOT
#
[python-discord/bot] branch deleted: bug/filters/928/non\-ascii\-token
#

b366d65 Token remover: catch ValueError when non-ASCII ... - MarkKoz
f03ae8e Token remover: reduce duplicated code in on_me... - MarkKoz [d193a93](https://github.com/python-discord/bot/commit/d193a93828582965eb361dc6f3185291fff649a7) Test on_message_edit of token remover uses on_m... - MarkKoz [0bfd003](https://github.com/python-discord/bot/commit/0bfd003dbfc5919220129f984dc043421e535f8c) Add a test helper function to patch multiple at... - MarkKoz [e8bd69a`](https://github.com/python-discord/bot/commit/e8bd69a6c556d78eca1a1eb2adfa26248273a1cd) Test token remover takes action if a token is f... - MarkKoz

north knotBOT
ebon magnetBOT
#

Build 20200613.2 succeeded

Requested by

GitHub

Duration

00:04:00

Build pipeline

Bot

oak estuaryBOT
ebon magnetBOT
#

Build 20200613.3 succeeded

Requested by

GitHub

Duration

00:02:26

Build pipeline

Bot

#

Build 20200613.4 failed

Requested by

GitHub

Duration

00:02:21

Build pipeline

Bot

#

Build 20200613.5 succeeded

Requested by

GitHub

Duration

00:02:12

Build pipeline

Bot

#

Build 20200613.6 succeeded

Requested by

GitHub

Duration

00:02:25

Build pipeline

Bot

#

Build 20200613.7 failed

Requested by

GitHub

Duration

00:02:04

Build pipeline

Bot

#

Build 20200613.8 failed

Requested by

GitHub

Duration

00:02:02

Build pipeline

Bot

#

Build 20200613.9 succeeded

Requested by

GitHub

Duration

00:02:09

Build pipeline

Bot

regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200613.1 succeeded

Requested by

GitHub

Duration

00:01:01

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200613.10 succeeded

Requested by

GitHub

Duration

00:02:16

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200613.11 succeeded

Requested by

GitHub

Duration

00:02:37

Build pipeline

Bot

regal archBOT
regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200613.12 succeeded

Requested by

GitHub

Duration

00:02:19

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200613.13 succeeded

Requested by

GitHub

Duration

00:02:35

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200613.14 succeeded

Requested by

GitHub

Duration

00:02:08

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200613.15 succeeded

Requested by

GitHub

Duration

00:02:24

Build pipeline

Bot

regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200614.1 succeeded

Requested by

GitHub

Duration

00:02:27

Build pipeline

Bot

regal archBOT
#

Here's what I currently have:

exts
โ”œโ”€โ”€ backend
โ”‚ย ย  โ”œโ”€โ”€ sync
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ __init__.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ cog.py
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ syncers.py
โ”‚ย ย  โ”œโ”€โ”€ __init__.py
โ”‚ย ย  โ”œโ”€โ”€ config_verifier.py
โ”‚ย ย  โ”œโ”€โ”€ error_handler.py
โ”‚ย ย  โ””โ”€โ”€ logging.py
โ”œโ”€โ”€ filters
โ”‚ย ย  โ”œโ”€โ”€ __init__.py
โ”‚ย ย  โ”œโ”€โ”€ antimalware.py
โ”‚ย ย  โ”œโ”€โ”€ antispam.py
โ”‚ย ย  โ”œโ”€โ”€ filtering.py
โ”‚ย ย  โ”œโ”€โ”€ security.py
โ”‚ย ย  โ”œโ”€โ”€ token_remover.py
โ”‚ย ย  โ””โ”€โ”€ webhook_remover.py
โ”œโ”€โ”€ info
โ”‚ย ย  โ”œโ”€โ”€ __init__.py
โ”‚ย ย  โ”œโ”€โ”€ doc.py
โ”‚ย ย  โ”œโ”€โ”€ help.py
โ”‚ย ย  โ”œโ”€โ”€ information.py...
regal archBOT
#

This is annoying. It uses the root logger, so it's not possible to suppress the warning. The error comes from fuzzywuzzy. Its default processor replaces all non-letters and non-numbers with whitespace using this regex for the substition (?ui)\W. strip() is called later, which makes it an empty string.

Three solutions I can think of:

  1. Specify a custom processor (or None) to avoid removal of symbols.
  2. Redundantly invoke the default processor before the fuzzy match to be able ...
regal archBOT
#

Sentry Issue: BOT-3A

There are over 500 events of this in Sentry. The events tend to be clumped within a relatively small time range of several hours, and these clumps occur weeks or months apart.

My theory is that a user was unwatched but there was a consumption ongoing for them. So despite being popped from the watched_users dictionary, by other methods (like send_header) attempting to ret...

regal archBOT
#
[python-discord/bot] New branch created: bug/mod/bot\-4r/modlog\-member\-update
north knotBOT
ebon magnetBOT
#

Build 20200615.1 succeeded

Requested by

GitHub

Duration

00:04:07

Build pipeline

Bot

oak estuaryBOT
regal archBOT
ebon magnetBOT
#

Build 20200615.2 succeeded

Requested by

GitHub

Duration

00:02:11

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200615.3 succeeded

Requested by

GitHub

Duration

00:02:26

Build pipeline

Bot

regal archBOT
#
[python-discord/bot] New branch created: bug/mod/bot\-68/ban\-strips\-none
ebon magnetBOT
#

Build 20200615.5 succeeded

Requested by

GitHub

Duration

00:02:22

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
#
[python-discord/bot] New branch created: bug/backend/bot\-50/sync\-ignore\-guilds
ebon magnetBOT
#

Build 20200615.6 succeeded

Requested by

GitHub

Duration

00:02:31

Build pipeline

Bot

native joltBOT
#

Bumps flake8 from 3.7.9 to 3.8.3.

Commits

181bb46 Release 3.8.3
3d68da9 Merge branch 'doctests-flag-desc' into 'master'
e817c63 Help clarify the option behaviour
b6d3fca Merge branch 'issues/665' into 'master'
9b8f908 fix JobsArgument --help output
94304de Merge branch 'issue-662' into 'master'
a68d4d0 processor: Catch SyntaxError also when generating tokens for a file
4071645 Release 3.8.2
b9fe4d6 Merge branch 'extend_exclude_is_files' into 'master'
31c2f...

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200615.7 succeeded

Requested by

GitHub

Duration

00:02:13

Build pipeline

Bot

regal archBOT
#
[python-discord/bot] New branch created: bug/filters/bot\-58/removers\-ignore\-dms
ebon magnetBOT
#

Build 20200615.8 succeeded

Requested by

GitHub

Duration

00:02:16

Build pipeline

Bot

regal archBOT
#

Sentry Issue: BOT-53

ResponseCodeError: Status: 400 Response: {'deletedmessage_set': [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {'id': ['deleted message with this id already exists.']}, {'id': ['deleted message with this id already exists.']}, {'id': ['deleted message with this id already exists.']}, {'id': ['deleted message with this id alread...
regal archBOT
native joltBOT
regal archBOT
regal archBOT
regal archBOT
#

Sentry Issue: BOT-4F

InvalidStateError: Result is not set.
  File "discord/ext/commands/bot.py", line 726, in reload_extension
    self._remove_module_references(lib.__name__)
  File "discord/ext/commands/bot.py", line 554, in _remove_module_references
    self.remove_cog(cogname)
  File "discord/ext/commands/bot.py", line 540, in remove_cog
    cog._eject(self)
  File "discord/ext/commands/c...
regal archBOT
#

I generally agree with all of your proposals. However, I have some questions below. I also worry that the features I will quote also increase complexity of the API (more so its behaviour than its interface).

Alternatively, we could decide that a more severe infraction (longer duration/permanent) should replace a shorter infraction automatically.

Additionally, if the second infraction has a later expiry date, we could also make that one automatically "replace" the infraction with a c...