#dev-log

1 messages ยท Page 43 of 1

regal archBOT
#

The current matching strategy is a bit simplistic in more than one way, but the specific case eivl mentions is more difficult to tackle. We could prioritize matches that contain the word as-is (except for capitalization), which would solve the "explicit" versus "explicitly" problem when looking explicitly for "explicit".

The next bit is that the current fuzzy matching tactic will always return a match; there's no lower bound/threshold below which it simply doesn't return anything. I don't ...

regal archBOT
#
[python-discord/bot] New branch created: ytdl\-tag\-fix
ebon magnetBOT
#

Build 20200312.2 succeeded

Requested by

GitHub

Duration

00:01:51

Build pipeline

Bot

#

Build 20200312.3 succeeded

Requested by

GitHub

Duration

00:01:40

Build pipeline

Bot

regal archBOT
#

Not sure why the language regarding redistribution was removed from this tag:

  1. access, reproduce, download, distribute, transmit, broadcast, display, sell, license, alter, modify or otherwise use any part of the Service or any Content except: (a) as expressly authorized by the Service; or (b) with prior written permission from YouTube and, if applicable, the respective rights holders;
  2. use the Service to view or listen to Content other than for personal, non-commercial use (for ex...
ebon magnetBOT
#

Build 20200312.4 failed

Requested by

GitHub

Duration

00:01:25

Build pipeline

Bot

#

Build 20200312.5 failed

Requested by

GitHub

Duration

00:01:22

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200312.6 succeeded

Requested by

GitHub

Duration

00:01:46

Build pipeline

Bot

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200313.2 succeeded

Requested by

GitHub

Duration

00:01:31

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

ebon magnetBOT
#

Build 20200313.3 succeeded

Requested by

GitHub

Duration

00:02:18

Build pipeline

Bot

ebon magnetBOT
#

Build 20200313.1 succeeded

Requested by

GitHub

Duration

00:00:58

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200313.2 succeeded

Requested by

GitHub

Duration

00:01:01

Build pipeline

Seasonal Bot

regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200313.3 succeeded

Requested by

GitHub

Duration

00:02:21

Build pipeline

Seasonal Bot

#

Build 20200313.4 failed

Requested by

GitHub

Duration

00:01:12

Build pipeline

Bot

#

Build 20200313.5 succeeded

Requested by

GitHub

Duration

00:01:54

Build pipeline

Bot

regal archBOT
#

There are a few instances where multilining doesn't align with the prevailing codestyle in the repository, and also is inconsistent within the cog.

This, for example:

await ctx.send(embed=await self.create_nasa_embed(
    item["data"][0]["title"],
    item["data"][0]["description"],
    item["links"][0]["href"]
))

Should be something like this:

await ctx.send(
    embed=await self.create_nasa_embed(
        item["data"][0]["title"],
        item["data"][0...
regal archBOT
ebon magnetBOT
#

Build 20200313.6 succeeded

Requested by

GitHub

Duration

00:01:45

Build pipeline

Bot

regal archBOT
#

We'll likely have to evaluate any potential issues with partial cache hits as they happen in order to determine whether or not it represents a recurring issue. Just something to be vigilant for in our diagnosis of any potential failures.

It will either always happen when a package is removed from the lock file, or it will never happen. I think it will be the former but I have not tested. At the least, it means the cache will get bloated with packages which are no longer needed. They ...

regal archBOT
#

Reduced nesting, moved reason to a variable to avoid splitting args, and revised some of the logging to include the user's name.

        if infraction.get('expires_at') is not None:
            log.trace(f"Ban isn't permanent; user {user} won't be unwatched by Big Brother.")
            return

        bb_cog = self.bot.get_cog("Big Brother")
        if not bb_cog:
            log.trace(f"Big Brother cog not loaded; perma-banned user {user} won't be unwatched.")
     ...
regal archBOT
#

Resolves #765

Adds a test to ensure command and alias names are unique. This allows for any names or aliases which shadow other commands to be caught in CI when tests run. The test will report all conflicts. It will not stop at the first conflict encountered. For conflicts, the test will provide the following in the error message:

  1. The command's fully qualified name or alias
  2. The command's function's name qualified by its module's name
  3. The qualified (similar to โ„– 2) command ...
ebon magnetBOT
#

Build 20200314.1 failed

Requested by

GitHub

Duration

00:01:51

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200314.2 failed

Requested by

GitHub

Duration

00:01:26

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200314.3 succeeded

Requested by

GitHub

Duration

00:01:35

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200314.4 succeeded

Requested by

GitHub

Duration

00:01:42

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
#

At the moment, the code in bot/bot/cogs/bot.py that handles when people post code blocks without language tagging them--that says "It looks like you're trying to paste code into this channel." uses pythons AST module to determine whether a code block is valid python or not.

However, it doesn't make sure that a language has already been specified before doing this. The following discord message demonstrates incorrect behavior:

```ini
[test_block]
test_value=1
test_value_two=2
`...

ebon magnetBOT
#

Build 20200314.1 succeeded

Requested by

GitHub

Duration

00:01:06

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200314.5 succeeded

Requested by

GitHub

Duration

00:01:53

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200314.6 succeeded

Requested by

GitHub

Duration

00:01:47

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200314.7 succeeded

Requested by

GitHub

Duration

00:01:39

Build pipeline

Bot

regal archBOT
regal archBOT
#

e723dd2 Deseasonify: add convenience method to get curr... - kwzrd
2faffc4 Deseasonify: add convenience method to get seas... - kwzrd
0cee968 Deseasonify: add set_banner method to Seasona... - kwzrd
c67cbbb Deseasonify: improve documentation for icon_cy... - kwzrd [545f05f](https://github.com/python-discord/seasonalbot/commit/545f05faf35974e3ea80f4fabc77f5d3ae439bc7) Deseasonify: implement BrandingManager` cog - kwzrd

regal archBOT
regal archBOT
north knotBOT
#

Postgres backup completed!

ebon magnetBOT
#

Build 20200315.1 failed

Requested by

GitHub

Duration

00:01:07

Build pipeline

Seasonal Bot

#

Build 20200315.5 failed

Requested by

GitHub

Duration

00:00:48

Build pipeline

Seasonal Bot

#

Build 20200315.4 failed

Requested by

GitHub

Duration

00:01:06

Build pipeline

Seasonal Bot

ebon magnetBOT
#

Build 20200315.1 succeeded

Requested by

GitHub

Duration

00:01:38

Build pipeline

Bot

ebon magnetBOT
#

Build 20200315.2 succeeded

Requested by

GitHub

Duration

00:01:51

Build pipeline

Bot

regal archBOT
regal archBOT
regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200315.3 succeeded

Requested by

GitHub

Duration

00:01:31

Build pipeline

Bot

ebon magnetBOT
#

Build 20200315.4 succeeded

Requested by

GitHub

Duration

00:01:47

Build pipeline

Bot

regal archBOT
#

9fd7b08 Added all the tag files in resources and modifi... - RohanJnr
f256346 added white spaces on statements before bullet ... - RohanJnr
fe31808 Re-corrected the lines which I had changed by m... - RohanJnr
d583e9b Merge branch 'master' into tags_overhaul - RohanJnr
1b56868 Caching all the tags when the bot has loaded(ca... - RohanJnr

north knotBOT
ebon magnetBOT
#

Build 20200315.5 succeeded

Requested by

GitHub

Duration

00:03:07

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200315.6 succeeded

Requested by

GitHub

Duration

00:00:59

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200315.7 succeeded

Requested by

GitHub

Duration

00:01:02

Build pipeline

Seasonal Bot

regal archBOT
#

Status update

I was able to make some progress here and figured it'd be a good time for a status update. You can approach this as a summary of the things that I've done so far, but I may also pose a couple of open questions if anyone wants to give me a little bit of feedback or opinion - I will be more than happy to hear those. I am also keeping the PR description above up-to-date periodically so that the progress is more easy to track (I've added and changed a couple of the bullet poi...

north knotBOT
#

Postgres backup completed!

regal archBOT
ebon magnetBOT
#

Build 20200316.1 succeeded

Requested by

GitHub

Duration

00:01:52

Build pipeline

Bot

regal archBOT
regal archBOT
#

The allauth extension we use for the discord login and connection to a github account for any of our site accounts.

We have a monkeypatch to avoid saving in our database any email details that we may get from oauth authorisations. This does not avoid the request for emails showing in the auth request page though, as the scope is still requested.

Instead, we can define in settings.py the appropriate provider settings, particularly any required scopes to be requested. If we only provide `...

regal archBOT
ebon magnetBOT
#

Build 20200316.2 succeeded

Requested by

GitHub

Duration

00:01:48

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200316.3 succeeded

Requested by

GitHub

Duration

00:01:49

Build pipeline

Bot

regal archBOT
#

I think this is super well written code. I love the commit history and how it walks us through the gradual development - something that I should learn from.

One thing that confused me is that, as far as I can tell, discord.py does raise an exception if there is a name conflict, but the mechanism doesn't check cross-group which is a weakness that only manifests itself due to our bot.cogs.alias module. If this is correct then this should perhaps be documented in the test's docstring ...

#

No, not really. However, I think I stole this idea from some other code bases. Maybe it's a bad habit of mine. The benefit of this is reducing length of annotations and thus increasing readability. If annotations get too long, the function's arguments also have to be broken up, which makes it take up more space. Doing from typing import x, y, z, a, b, c, d can work if there are only a couple things but it eventually gets out of control.

ebon magnetBOT
#

Build 20200316.4 succeeded

Requested by

GitHub

Duration

00:01:52

Build pipeline

Bot

#

Build 20200316.5 succeeded

Requested by

GitHub

Duration

00:01:40

Build pipeline

Bot

regal archBOT
#

discord.py does raise an exception if there is a name conflict

Yes, but the bot would have to run for that to happen. This test does static checks.

but the mechanism doesn't check cross-group which is a weakness that only manifests itself due to our bot.cogs.alias module.

Don't understand what you mean by cross-group exactly nor how the alias cog plays a role.

If this is correct then this should perhaps be documented in the test's docstring

Document what exactly? I could ...

regal archBOT
ebon magnetBOT
#

Build 20200316.6 failed

Requested by

GitHub

Duration

00:01:15

Build pipeline

Bot

regal archBOT
#

@MarkKoz Ok, I understand now. I was looking for a way in which a name collision could exist such that one command shadows the other, but discord.py doesn't raise. So I managed to convince myself that the alias cog somehow circumvents the check.

The collision cannot be detected during tests if the command never gets registered.

Document what exactly?

Nothing, as I was wrong in my assumption.

ebon magnetBOT
#

Build 20200316.7 succeeded

Requested by

GitHub

Duration

00:01:49

Build pipeline

Bot

regal archBOT
#

60814ee Cog tests: create boilerplate for command name ... - MarkKoz
d31f7e3 Cog tests: add a function to get all commands - MarkKoz
d9ed249 Cog tests: add a function to get all extensions - MarkKoz
b923c0f Cog tests: add a function to get all cogs - MarkKoz
0358121 Cog tests: add a function to get all qualified ... - MarkKoz

#
[python-discord/bot] branch deleted: feat/test/765/command\-shadowing
north knotBOT
ebon magnetBOT
#

Build 20200316.8 succeeded

Requested by

GitHub

Duration

00:03:28

Build pipeline

Bot

oak estuaryBOT
ebon magnetBOT
#

Build 20200316.9 succeeded

Requested by

GitHub

Duration

00:01:32

Build pipeline

Bot

regal archBOT
#

590c263 (Mod Log): Fixed case when on_guild_channel_up... - ks129 [8e60f04](https://github.com/python-discord/bot/commit/8e60f04048cf9272daf2a2e08eab76a69af97bf4) (Mod Log): Added comment about channel update f... - ks129 [88d2d85](https://github.com/python-discord/bot/commit/88d2d85ec114eac2b9e3be9b18e075302f73509e) Update explanation comment so it explains what ... - sco1 [f70b40a](https://github.com/python-discord/bot/commit/f70b40afbf73ecf2ee525b216000654a910330da) Merge branch 'master' into bug-fixes - MarkKoz [7dfcd1a`](https://github.com/python-discord/bot/commit/7dfcd1a2d09918a7324f2be9d188a0486622bd02) Merge pull request #830 from ks129/bug-fixes - MarkKoz

north knotBOT
ebon magnetBOT
#

Build 20200316.10 succeeded

Requested by

GitHub

Duration

00:03:14

Build pipeline

Bot

oak estuaryBOT
regal archBOT
#
[python-discord/bot] New branch created: fix\-token\-strip\-log
#

While the token detection was successfully expanded by #825 to evaluate all potential token matches in the message, the logging method was not similarly updated & still utilized the re.search approach to get the matching substring for use in the log message.

Rather than searching for the token again, instead return the potential token substring from the detection method to be used later.

I'm opening this as a draft until Discord stops having issues & the changes can be tested.

ebon magnetBOT
#

Build 20200316.11 succeeded

Requested by

GitHub

Duration

00:01:48

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
ebon magnetBOT
#

Build 20200317.1 succeeded

Requested by

GitHub

Duration

00:01:57

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200317.2 succeeded

Requested by

GitHub

Duration

00:01:44

Build pipeline

Bot

ebon magnetBOT
#

Build 20200317.3 succeeded

Requested by

GitHub

Duration

00:01:52

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200317.4 succeeded

Requested by

GitHub

Duration

00:01:45

Build pipeline

Bot

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

Build 20200317.5 succeeded

Requested by

Leon Sandรธy

Duration

00:03:20

Build pipeline

Bot

oak estuaryBOT
ebon magnetBOT
#

Build 20200317.6 succeeded

Requested by

GitHub

Duration

00:01:35

Build pipeline

Bot

regal archBOT
#

@kwzrd thank you so much for the detailed update!

I think it sounds like you've solved this in a robust and elegant way. I have a few questions, and a few answers for you.

Another decorator to lock listeners to specific months

I wonder if this could be the same decorator? That is to say, keeping the functions separate to making some sort of superdecorator that worked for both commands and listeners (maybe even for tasks? but then again the tasks one has different args..) - that way...

regal archBOT
#

Thanks for the response, @lemonsaurus!

I wonder if this could be the same decorator? ...

Yeah, probably. I was thinking the same, but then forgot about it. I'll look into it, it's true that having the simplicity of just plopping an in_month there would be cool.

It may be relevant to be able to deactivate the time-restriction that these decorators enforce. Did you consider that? Something like, disabling them if DEBUG is true or even having a new env var that toggles the feature...

ebon magnetBOT
#

Build 20200317.7 succeeded

Requested by

GitHub

Duration

00:01:46

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200317.8 succeeded

Requested by

GitHub

Duration

00:01:58

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200317.1 succeeded

Requested by

GitHub

Duration

00:01:01

Build pipeline

Seasonal Bot

regal archBOT
#

There's two ways to approach this (or a mix of both I suppose):

  1. A generic search command which will support partial matches on user and actor names along with the reason. It will also support exact matches for IDs. This is easier to implement and easier to use (just a single command covers everything) but at the cost of less control over the search query. For example, if one wishes to search for an actor by name, if their name appeared in an unrelated infraction's reason, that would als...
north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
#
[python-discord/bot] branch deleted: ytdl\-tag\-fix
#

Relevant Issues

Closes #143

Description

Added the .nationday [param] Where [param] can be "today" or a country name.
Countries available are the ones scraped from Wikipedia's List of national independence days page, plus a few more countries added manually.

Reasoning

Added the command because it was an open and approved issue.

Screenshots

working1

![working...

ebon magnetBOT
#

Build 20200318.1 failed

Requested by

GitHub

Duration

00:01:06

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200318.2 failed

Requested by

GitHub

Duration

00:01:02

Build pipeline

Seasonal Bot

ebon magnetBOT
#

Build 20200318.5 failed

Requested by

GitHub

Duration

00:00:59

Build pipeline

Seasonal Bot

#

Build 20200318.3 failed

Requested by

GitHub

Duration

00:01:11

Build pipeline

Seasonal Bot

#

Build 20200318.6 failed

Requested by

GitHub

Duration

00:01:01

Build pipeline

Seasonal Bot

regal archBOT
#

After some discussions, here is some details about the implementation :
A backgorund task on the bot could be created, that will fetch every 5 minutes the pydis mailgun API, searching for stored events, with the sender field matching python-announce-list@python.org OR python-ideas@python.org. A special email address will have to be setup before. If a message is found, the bot could send an embed with the thread, author and...

regal archBOT
#

Abstract

It would be nice to have a channel tracking some of the official python mailing lists, such as python-dev@python.org.

Specification

A background task will make the bot fetch from an email API to check if a new email from one of the tracked mailing list have been received, if any email is found, it will post them as an embed to a specific channel inside the server. Some additional content can be put in the embed, such as some informations about the sender, or a jump link t...

regal archBOT
#

Abstract

It would be nice to have a channel tracking some of the official python mailing lists, such as python-dev@python.org.

Specification

A background task will make the bot fetch from an email API to check if a new email from one of the tracked mailing list have been received, if any email is found, it will post them as an embed to a specific channel inside the server. Some additional content can be put in the embed, such as some informations about the sender, or a jump link t...

#

I'm transferring this back to bot because the API driven solution is much more sustainable than the mailgun webhook driven approach.

While the mailman3 API does break when you request all threads we don't need to do that. There is an endpoint which returns the IDs and dates of all recent threads (albeit in a HTML format, but that's nothing that beautifulsoup or any other HTML parsing library can't handle). This document contains a load of <div> with an anchor in them with a href like `/a...

regal archBOT
regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200318.12 succeeded

Requested by

GitHub

Duration

00:00:56

Build pipeline

Seasonal Bot

regal archBOT
regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: bug/util/795/reminders\-dupe\-delete
ebon magnetBOT
#

Build 20200319.1 succeeded

Requested by

GitHub

Duration

00:01:54

Build pipeline

Bot

regal archBOT
#

Because edited reminders re-use the previous ID, this delete could lead to a race condition:

  1. Original reminder starts being sent
  2. User edits reminder and PATCH request goes through
  3. Original reminder is sent and DELETE request goes through
  4. Original reminder task is cancelled (well, too late - it's already finished and been deleted) and edited one is scheduled

Now the reminder is scheduled but doesn't actually exist in the database. I wanted to put this delete into a `finall...

north knotBOT
#

Postgres backup completed!

regal archBOT
ebon magnetBOT
#

Build 20200319.1 succeeded

Requested by

GitHub

Duration

00:01:36

Build pipeline

Seasonal Bot

regal archBOT
#
[python-discord/seasonalbot] branch deleted: python38
north knotBOT
ebon magnetBOT
#

Build 20200319.2 succeeded

Requested by

GitHub

Duration

00:02:30

Build pipeline

Seasonal Bot

night lilyBOT
#
SeasonalBot Loaded!

Active Season: Evergreen

regal archBOT
#

So should I just close this PR and start afresh? Also, sorry for redundant questions, I'm a first timer.

Yeah, that'd probably be best. You can run pipenv run lint locally before you push (or ideally before you even commit - read about precommit at the very bottom here) to execute the exact same tests that your code will be checked against in the pipeline, so there should be no reason for "fix lint" commit...

regal archBOT
ebon magnetBOT
#

Build 20200319.3 failed

Requested by

GitHub

Duration

00:01:02

Build pipeline

Seasonal Bot

#

Build 20200319.4 failed

Requested by

GitHub

Duration

00:01:14

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200319.5 failed

Requested by

GitHub

Duration

00:00:50

Build pipeline

Seasonal Bot

regal archBOT
regal archBOT
#
    * [Git Hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) are a powerful tool that can seem daunting to set up. Fortunately, `pre-commit` abstracts this process away from you and is provided as a dev dependency for this project. Run `pipenv run precommit` when setting up the project and you'll never have to worry about breaking the build for linting errors.

The can be a daunting to set up is totally wrong and at the least should be fixed, but here ar...

ebon magnetBOT
#

Build 20200320.1 failed

Requested by

GitHub

Duration

00:01:01

Build pipeline

Seasonal Bot

#

Build 20200320.2 succeeded

Requested by

GitHub

Duration

00:00:55

Build pipeline

Seasonal Bot

#

Build 20200320.3 succeeded

Requested by

GitHub

Duration

00:00:58

Build pipeline

Seasonal Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200320.4 succeeded

Requested by

GitHub

Duration

00:00:51

Build pipeline

Seasonal Bot

regal archBOT
#

That's a lot better, as it will no longer silence errors other than KeyError.

Since only the first line in the try block, the countries = self.by_day[today_date], may raise the KeyError, the line after (countries.split(...)), could be moved out - below the except block.

This will help you communicate the intent of the code a lot better. To generalize:

try:
    # A dangerous piece of code that may raise specifically KeyError
except KeyError as ke:
    # Handl...
regal archBOT
#

The idea is that you create your own discord server for testing purposes, set up these channels to "emulate" the live server, and then put their ids in the .env file so that your bot knows which channel is which.

Once you have your server ready, the easiest way to obtain the ids directly on discord is to right click each channel and click Copy ID. If you don't see this option in the menu, you will have to go to discord settings and enable developer mode, I think it's somewhere under th...

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200320.1 failed

Requested by

GitHub

Duration

00:01:24

Build pipeline

Bot

#

Build 20200320.2 failed

Requested by

GitHub

Duration

00:02:02

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200320.3 succeeded

Requested by

GitHub

Duration

00:01:52

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200320.4 succeeded

Requested by

GitHub

Duration

00:01:52

Build pipeline

Bot

ebon magnetBOT
#

Build 20200320.5 succeeded

Requested by

GitHub

Duration

00:01:53

Build pipeline

Bot

regal archBOT
#

Some comments from a quicklook, and one major point that should probably be addressed:

Right now these tests utilize the production tags repository and assume that its contents are never changed. This means that as soon as we add tags that could potentially also be part of the test cases for the fuzzy matching then the tests are going to start failing unless they are updated every time.

For example, in the test_get_suggestions test, we have this for fuzzy matching against "class":
...

regal archBOT
ebon magnetBOT
#

Build 20200320.6 succeeded

Requested by

GitHub

Duration

00:01:43

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200320.7 succeeded

Requested by

GitHub

Duration

00:01:40

Build pipeline

Bot

regal archBOT
#

76a9a03 Added BigBrother Helper Methods - LordHemlock
f1eb927 Added BigBrother Helper Methods - LordHemlock
229254d Merge remote-tracking branch 'origin/hemlock-pe... - LordHemlock
96639bc Corrected expiration check logic and cog loading - LordHemlock
9b18912 Verification Cog Kaizen Changes - LordHemlock

#
[python-discord/bot] branch deleted: hemlock\-perma\-ban\-watch\-removal
north knotBOT
ebon magnetBOT
#

Build 20200320.8 succeeded

Requested by

GitHub

Duration

00:03:11

Build pipeline

Bot

oak estuaryBOT
ebon magnetBOT
#

Build 20200320.5 succeeded

Requested by

GitHub

Duration

00:00:51

Build pipeline

Seasonal Bot

regal archBOT
#

Description

A command to retrieve xkcd comics (by number, most recent, or at random) and display them in an embed. Idea was first proposed by Discord user AG.

Reasoning

XKCD comics are funny, and they are often relevant to a conversation. I think a command to let people find comics such as the the Bobby Tables comic https://xkcd.com/327/ or to discover new comics would be a cool feature.

Proposed Implementation

XKCD have a JSON interface that can be used to retrieve comi...

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200320.6 succeeded

Requested by

GitHub

Duration

00:00:59

Build pipeline

Seasonal Bot

#

Build 20200320.7 succeeded

Requested by

GitHub

Duration

00:01:00

Build pipeline

Seasonal Bot

regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200320.8 succeeded

Requested by

GitHub

Duration

00:02:01

Build pipeline

Seasonal Bot

regal archBOT
#
[python-discord/seasonalbot] New branch created: update\-contrib
#
[python-discord/bot] New branch created: update\-contrib
#
[python-discord/site] New branch created: update\-contrib
native joltBOT
regal archBOT
#
[python-discord/snekbox] New branch created: update\-contrib
#
[python-discord/django-simple-bulma] branch deleted: precommit\-fix
#
[python-discord/django-simple-bulma] New branch created: update\-contrib
#
[python-discord/django-crispy-bulma] New branch created: update\-contrib
ebon magnetBOT
#

Build 20200320.1 succeeded

Requested by

GitHub

Duration

00:01:09

Build pipeline

Django Simple Bulma

#

Build 20200320.1 succeeded

Requested by

GitHub

Duration

00:01:13

Build pipeline

Django Crispy Bulma

#

Build 20200320.9 succeeded

Requested by

GitHub

Duration

00:00:57

Build pipeline

Seasonal Bot

#

Build 20200320.1 succeeded

Requested by

GitHub

Duration

00:01:11

Build pipeline

Snekbox

#

Build 20200320.9 succeeded

Requested by

GitHub

Duration

00:01:47

Build pipeline

Bot

#

Build 20200320.1 succeeded

Requested by

GitHub

Duration

00:02:28

Build pipeline

Site

regal archBOT
regal archBOT
#

In addition to testing our own code for Django 3.0 compatibility, some dependencies need to be updated. django-crispy-bulma in particular is currently blocking (and maybe django-environ - see notes below).

Dependencies

Name Version in Master 3.0 Compatible Version Notes
django-allauth 0.41.0 0.41.0
django-crispy-bulma 0.2.0 โŒ It requires django-crispy-forms 1.7 but 1.8 is the minimum vers...
regal archBOT
#

Current problems

The current design has some limitations. It cannot store a separate actor, timestamp, or reason for pardoning infractions. For the reason field, the current workaround used by Big Brother is to prepend the reason with 'Watched: ' or 'Unwatched: ' to distinguish them. Furthermore, the design cannot keep track of edits made to infractions.

New Design

Action table

Create a new table to store "action" records. Actions can include making an infraction act...

north knotBOT
#

Postgres backup completed!

ebon magnetBOT
#

Build 20200321.1 failed

Requested by

GitHub

Duration

00:01:38

Build pipeline

Bot

#

Build 20200321.2 succeeded

Requested by

GitHub

Duration

00:01:54

Build pipeline

Bot

regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200321.3 succeeded

Requested by

GitHub

Duration

00:03:34

Build pipeline

Bot

oak estuaryBOT
regal archBOT
#
[python-discord/seasonalbot] New branch created: gitignore\-data
ebon magnetBOT
#

Build 20200321.1 succeeded

Requested by

GitHub

Duration

00:01:01

Build pipeline

Seasonal Bot

north knotBOT
ebon magnetBOT
#

Build 20200321.2 succeeded

Requested by

GitHub

Duration

00:02:24

Build pipeline

Seasonal Bot

night lilyBOT
#
SeasonalBot Loaded!

Active Season: Evergreen

regal archBOT
ebon magnetBOT
#

Build 20200321.3 succeeded

Requested by

GitHub

Duration

00:00:57

Build pipeline

Seasonal Bot

regal archBOT
#

Relevant Issues

Closes #143

Description

Added the .nationday [param] Where [param] can be "today" or a country name.
Countries available are the ones scraped from Wikipedia's List of national independence days page, plus a few more countries added manually.

Reasoning

Added the command because it was an open and approved issue.

Screenshots

working1

![workin...

ebon magnetBOT
#

Build 20200321.4 succeeded

Requested by

GitHub

Duration

00:00:51

Build pipeline

Seasonal Bot

regal archBOT
#
[python-discord/django-crispy-bulma] New branch created: feat/deps/31/django\-3\.0
ebon magnetBOT
#

Build 20200321.1 succeeded

Requested by

GitHub

Duration

00:01:10

Build pipeline

Django Crispy Bulma

regal archBOT
#
[python-discord/site] New branch created: feat/deps/344/django\-3\.0
ebon magnetBOT
#

Build 20200321.1 succeeded

Requested by

GitHub

Duration

00:02:58

Build pipeline

Site

north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200321.1 succeeded

Requested by

GitHub

Duration

00:01:32

Build pipeline

Snekbox

regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
ebon magnetBOT
#

Build 20200322.1 succeeded

Requested by

GitHub

Duration

00:00:43

Build pipeline

Seasonal Bot

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200322.2 succeeded

Requested by

GitHub

Duration

00:00:54

Build pipeline

Seasonal Bot

ebon magnetBOT
#

Build 20200322.1 succeeded

Requested by

Leon Sandรธy

Duration

00:01:22

Build pipeline

Django Crispy Bulma

regal archBOT
ebon magnetBOT
#

Build 20200322.2 succeeded

Requested by

Leon Sandรธy

Duration

00:01:17

Build pipeline

Django Crispy Bulma

regal archBOT
#
[python-discord/django-crispy-bulma] New tag created: 0\.3
ebon magnetBOT
regal archBOT
ebon magnetBOT
#

Build 20200322.1 succeeded

Requested by

GitHub

Duration

00:01:56

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200322.2 succeeded

Requested by

GitHub

Duration

00:01:48

Build pipeline

Bot

regal archBOT
#

Copying from the main PR #786:

Are per-member overwrites scalable? Discord may have a limit. Furthermore, there is supposedly client performance degradation with a high amount of overwrites. If this becomes an issue, an overwrite for a role can be used instead. The role would be added/removed from users as needed.

Not 100% decided if it should be switched to a role. Given a total channel limit of 32, there's going to be at most a bit over 32 simultaneous overwrites. That should be fine ...

ebon magnetBOT
#

Build 20200323.1 succeeded

Requested by

GitHub

Duration

00:01:34

Build pipeline

Django Simple Bulma

regal archBOT
ebon magnetBOT
#

Build 20200323.1 succeeded

Requested by

GitHub

Duration

00:01:54

Build pipeline

Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
ebon magnetBOT
#

Build 20200323.1 succeeded

Requested by

GitHub

Duration

00:01:28

Build pipeline

Seasonal Bot

ebon magnetBOT
#

Build 20200323.2 succeeded

Requested by

GitHub

Duration

00:02:04

Build pipeline

Bot

regal archBOT
#
[python-discord/snekbox] New branch created: feat/doc/57/docker\-run\-cmd
ebon magnetBOT
#

Build 20200323.1 succeeded

Requested by

GitHub

Duration

00:01:12

Build pipeline

Snekbox

regal archBOT
ebon magnetBOT
#

Build 20200323.2 succeeded

Requested by

GitHub

Duration

00:01:11

Build pipeline

Snekbox

regal archBOT
#
[python-discord/snekbox] branch deleted: feat/doc/57/docker\-run\-cmd
north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200323.3 succeeded

Requested by

GitHub

Duration

00:01:23

Build pipeline

Snekbox

regal archBOT
#
[python-discord/snekbox] New branch created: bug/ci/66/pipenv\-run\-creates\-venv
ebon magnetBOT
#

Build 20200323.4 succeeded

Requested by

GitHub

Duration

00:01:49

Build pipeline

Snekbox

regal archBOT
#

This looks like a fun feature, but what is the proposed control scheme?

Given a 3x3 board, how will users select which field they would like to place their mark on? The issue mentions using reactions - the bot could populate the board with the 1, 2, ... emojis, and slowly replace them with Xs and Os as they are placed, but then I'm consufed about the :empty_square: emoji.

Adding an optional AI player for this would be pretty cool, too!

regal archBOT
ebon magnetBOT
#

Build 20200323.2 succeeded

Requested by

GitHub

Duration

00:00:53

Build pipeline

Seasonal Bot

regal archBOT
#
[python-discord/seasonalbot] branch deleted: update\-contrib
north knotBOT
ebon magnetBOT
#

Build 20200323.3 succeeded

Requested by

GitHub

Duration

00:02:15

Build pipeline

Seasonal Bot

regal archBOT
#
[python-discord/site] branch deleted: update\-contrib
ebon magnetBOT
#

Build 20200323.3 succeeded

Requested by

GitHub

Duration

00:01:43

Build pipeline

Bot

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

Build 20200323.1 succeeded

Requested by

GitHub

Duration

00:03:52

Build pipeline

Site

north knotBOT
ebon magnetBOT
#

Build 20200323.4 succeeded

Requested by

GitHub

Duration

00:03:11

Build pipeline

Bot

oak estuaryBOT
regal archBOT
ebon magnetBOT
#

Build 20200323.5 failed

Requested by

GitHub

Duration

00:01:58

Build pipeline

Snekbox

regal archBOT
#

@ks129: My idea was use messages for controlling, like 1 1 will use top left.

I prefer @NeKitDS 's approach, I cannot imagine this being very user-friendly. You'd have to explain whether indices begin at 0 or 1, and whether origin is bottom-left or top-left. With arrows, most will instantly understand what to do, so it'll lead to much better UX.

Discord provides the full set of arrows necessary, including diagonal (e.g. :arrow_lower_left:), so with NeKit's X's and O's we're almo...

regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
ebon magnetBOT
#

Build 20200324.1 succeeded

Requested by

GitHub

Duration

00:01:02

Build pipeline

Seasonal Bot

regal archBOT
#
[python-discord/snekbox] branch deleted: bug/ci/66/pipenv\-run\-creates\-venv
north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200324.1 succeeded

Requested by

GitHub

Duration

00:02:37

Build pipeline

Snekbox

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

Build 20200324.1 succeeded

Requested by

GitHub

Duration

00:02:00

Build pipeline

Bot

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

Build 20200324.2 succeeded

Requested by

GitHub

Duration

00:03:18

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200324.2 succeeded

Requested by

GitHub

Duration

00:01:01

Build pipeline

Seasonal Bot

regal archBOT
#

Taking this out of draft as I'm not planning any further changes here and https://github.com/python-discord/seasonalbot/pull/329 will be done soon. The two PRs should be merged at once (currently Seasonalbot is looking into this branch, but that should be switched to master).

The seasonal structure (i.e. everything under seasonal/...) proposed in PR desc is considered final as the new Seasonalbot depends on it. For all things unrelated to that, feel free to propose or just push your own ...

north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200325.1 succeeded

Requested by

GitHub

Duration

00:01:48

Build pipeline

Bot

regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200325.2 succeeded

Requested by

GitHub

Duration

00:03:07

Build pipeline

Bot

oak estuaryBOT
regal archBOT
ebon magnetBOT
#

Build 20200325.3 succeeded

Requested by

GitHub

Duration

00:02:26

Build pipeline

Bot

regal archBOT
#

@MarkKoz I've tried using symlinks for christmas branding and while locally it appeared as an excellent solution, resolving them into download urls would add some level of complexity on seasonalbot's side and @scragly pointed out that it may introduce problems for Windows users. So I'm not sure whether that's an approach we should take.

The black_history_month season seems to have not been done structured properly.

That and retro gaming do not actually have a corresponding season, so ...

regal archBOT
#
[python-discord/bot] New branch created: bug/util/831/snekbox\-reeval\-parsing
ebon magnetBOT
#

Build 20200325.5 succeeded

Requested by

GitHub

Duration

00:01:37

Build pipeline

Bot

regal archBOT
#
[python-discord/branding] branch deleted: voice\-state
regal archBOT
#
[python-discord/seasonalbot] New branch created: setup\-sentry
#

Relevant Issues

Finishes part of the organisation issue for Sentry setup: python-discord/organisation#209

Description

Sentry SDK has been installed. A special handler for command errors has been setup.

SEASONALBOT_SENTRY_DSN is present within the seasonalbot environment already.

Screenshots

image

ebon magnetBOT
#

Build 20200326.1 succeeded

Requested by

GitHub

Duration

00:00:57

Build pipeline

Seasonal Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
#
[python-discord/seasonalbot] branch deleted: setup\-sentry
north knotBOT
ebon magnetBOT
#

Build 20200326.2 succeeded

Requested by

GitHub

Duration

00:04:10

Build pipeline

Seasonal Bot

night lilyBOT
#
SeasonalBot Loaded!

Active Season: Evergreen

regal archBOT
#

Description

We currently have a system for aliases to be able to be output for informative reasons with the !aliases command. It'll show a full paginated list of all command aliases, including any commands that aren't able to be used by the invoker, meaning it's just providing unnecessary information for them that they can't really utilise.

Proposal

Just the same as when doing help output, check each command that has an alias if the author can run it, allowing only those they ca...

north knotBOT
ebon magnetBOT
#

Build 20200326.1 succeeded

Requested by

Leon Sandรธy

Duration

00:03:14

Build pipeline

Bot

oak estuaryBOT
regal archBOT
#
[python-discord/bot] New branch created: update\-logging\-levels
#

With the updated definition on logging levels (see: #837), there are a few events that are potentially issuing logs at too high of a level, alerting the DevOps team for things that aren't actionable, or at too low of a level.

While some instances are obvious adjustments, I've opened this as a draft for feedback on the changes being made & also to ask questions on non-obvious adjustments.

ebon magnetBOT
#

Build 20200326.2 succeeded

Requested by

GitHub

Duration

00:01:46

Build pipeline

Bot

regal archBOT
#

Some initial questions on downgrading from warning to info:

https://github.com/python-discord/bot/blob/ee7cfbfca1b23408d7cb3f603498347fcef00c86/bot/cogs/sync/cog.py#L37-L44

I'm assuming this is still something we want to be aware of, in case the race condition becomes a recurring issue?

https://github.com/python-discord/bot/blob/ee7cfbfca1b23408d7cb3f603498347fcef00c86/bot/cogs/sync/syncers.py#L133-L138

Since I believe this is being done as part of an interactive session with a st...

regal archBOT
ebon magnetBOT
#

Build 20200326.3 succeeded

Requested by

GitHub

Duration

00:01:41

Build pipeline

Bot

regal archBOT
#

With the updated definition on logging levels (see: #378), there are a few events that are potentially issuing logs at too high of a level, alerting the DevOps team for things that aren't actionable, or at too low of a level.

Since a lot of things are changing with #329, will defer this until that work is completed.

regal archBOT
#

I'm assuming this is still something we want to be aware of, in case the race condition becomes a recurring issue?

I don't quite get this warning. A 404 would mean the user is not found in the database. The only way I can see that happening is if a user is edited the moment they join the server, and the PATCH for the edit goes through before the user is POSTed to the database. If that's the case, then, if left as a warning, it would remind us to come up with a better solution. On the oth...

regal archBOT
#

I suppose it all has to be an info level to avoid sentry bugging us?

I'm not particularly concerned about Sentry being verbose as long as it's telling us about things that require action. In the case of the syncer reaction loop, staff has already been pinged in the same context that the warning would be issued, so unless I'm missing something this is essentially pinging twice.

This is also used by Big Brother.
I meant the else clause specifically. From what I can see, other than ...

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200326.4 succeeded

Requested by

GitHub

Duration

00:01:33

Build pipeline

Bot

regal archBOT
#

02e230e Snekbox: fix re-eval when '!eval' is removed fr... - MarkKoz
430c616 Snekbox tests: test get_code - MarkKoz
c3e9a29 Snekbox tests: use get_code in test_continue... - MarkKoz [d99175a](https://github.com/python-discord/bot/commit/d99175a1983c5f339724c7d4f12a3e75a110a0ce) Merge branch 'master' into bug/util/831/snekbox... - sco1 [19c5d2a`](https://github.com/python-discord/bot/commit/19c5d2aa82cc2af57de3de0dbda71b2a51290528) Merge pull request #842 from python-discord/bug... - sco1

#
[python-discord/bot] branch deleted: bug/util/831/snekbox\-reeval\-parsing
north knotBOT
ebon magnetBOT
#

Build 20200326.6 succeeded

Requested by

GitHub

Duration

00:01:44

Build pipeline

Bot

#

Build 20200326.5 succeeded

Requested by

GitHub

Duration

00:03:17

Build pipeline

Bot

oak estuaryBOT
regal archBOT
ebon magnetBOT
#

Build 20200326.3 succeeded

Requested by

GitHub

Duration

00:01:01

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200326.4 succeeded

Requested by

GitHub

Duration

00:00:49

Build pipeline

Seasonal Bot

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200326.5 succeeded

Requested by

GitHub

Duration

00:00:53

Build pipeline

Seasonal Bot

north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200327.1 succeeded

Requested by

GitHub

Duration

00:03:45

Build pipeline

Site

regal archBOT
north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200327.2 succeeded

Requested by

GitHub

Duration

00:03:54

Build pipeline

Site

regal archBOT
regal archBOT
#

This adds a command that searches for teammates

Relevant Issues

None

Description

I've added a little matchmaking pool and a command that searches for users.

Reasoning

The #game-gam channel is filled with people looking for teammates so i figured, this could be automated!

Did you:

  • [X ] Join the Python Discord Community?
  • [X ] If dependencies have been added or updated, run pipenv lock?
  • [X ] Lint your code (`pip...
ebon magnetBOT
#

Build 20200327.1 failed

Requested by

GitHub

Duration

00:01:06

Build pipeline

Seasonal Bot

regal archBOT
#
[python-discord/bot] New branch created: feat/filter/322/merge\-tokens\-words
ebon magnetBOT
#

Build 20200327.1 succeeded

Requested by

GitHub

Duration

00:01:47

Build pipeline

Bot

#

Build 20200327.2 failed

Requested by

GitHub

Duration

00:00:51

Build pipeline

Seasonal Bot

#

Build 20200327.3 succeeded

Requested by

GitHub

Duration

00:00:58

Build pipeline

Seasonal Bot

regal archBOT
regal archBOT
#

I'm not a fan of this idea - it seems like a nuisance to users. It's not a big enough issue to warrant automated notices. Furthermore, keep in mind some are stuck with Python 2. I think other users can be diligent enough to inform of the EOL with the added power of the human mind to assess the context of the situation.

#

Is this proposing fuzzymatching along with disambiguation by showing all available choices, or just disambiguation of all exact partial matches.

I think the latter is better.

I'm not sure if this is a good idea, but it could go as far as to look for exact matches for parts of the path delimited by the dot. For example, a query of text would not match discord.TextChannel, only TextChannel would. It'd have to be smart enough to know when to display a single page vs a bunch of res...

#

I'm a fan of the slimmer design you demonstrated for the role command. Including an image of the colour is a good call.

That being said, I believe all the mention stuff is irrelevant due to the new feature Discord rolled out. I'm not too familiar with it, but I think it allows server admins to configure who can mention a given role.

@scragly Any updates on this?

#

I'm not married to the term "picked" however, or the overall wording in general. So if someone has suggestions for a better way to word it, make a comment on this issue.

How about "this is the first time this name has been used".

Since we don't store logs, in order to get historic channel name changes, we need to poll the server audit logs.

At least from what I can see in the client, logs only go back a couple of months at most.

Getting creation times

There's no field for...

regal archBOT
regal archBOT
#

bot.dispatch is a low level bot method that's considered for internal usage

It allows you to have the bot retrieve all base handlers and listeners for a specified event name:

bot.dispatch("myeventname", *args, **kwargs)

If there's no base handlers or listeners, it silently fails in a manner that suits this type of non-essential logging, without breaking other usually more important function...

north knotBOT
#

Postgres backup completed!

ebon magnetBOT
#

Build 20200328.1 succeeded

Requested by

GitHub

Duration

00:01:55

Build pipeline

Bot

ebon magnetBOT
#

Build 20200328.2 succeeded

Requested by

GitHub

Duration

00:01:53

Build pipeline

Bot

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200328.1 succeeded

Requested by

GitHub

Duration

00:01:14

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200328.2 succeeded

Requested by

GitHub

Duration

00:00:56

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200328.3 succeeded

Requested by

GitHub

Duration

00:01:41

Build pipeline

Bot

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200328.4 succeeded

Requested by

GitHub

Duration

00:01:33

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200328.5 succeeded

Requested by

GitHub

Duration

00:01:44

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200328.6 succeeded

Requested by

GitHub

Duration

00:01:50

Build pipeline

Bot

#

Build 20200328.7 succeeded

Requested by

GitHub

Duration

00:01:44

Build pipeline

Bot

regal archBOT
regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200328.8 succeeded

Requested by

GitHub

Duration

00:01:41

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200328.9 succeeded

Requested by

GitHub

Duration

00:01:34

Build pipeline

Bot

#

Build 20200328.10 succeeded

Requested by

GitHub

Duration

00:01:45

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200328.11 succeeded

Requested by

GitHub

Duration

00:01:42

Build pipeline

Bot

regal archBOT
regal archBOT
regal archBOT
night lilyBOT
#
SeasonalBot Loaded!

Active Season: Evergreen

regal archBOT
north knotBOT
#

Postgres backup completed!

ebon magnetBOT
#

Build 20200329.1 succeeded

Requested by

GitHub

Duration

00:01:42

Build pipeline

Bot

regal archBOT
#

This PR is addition to #349
I had to destroy that PR because it got old and due to some reasons(me not knowing how to use github CLI tool) I couldn't update the branch and i can't fork until old fork is deleted so here we go.

Closes #341 , Closes #338

  • [x] Join the Python Discord Community?
  • [x] If dependencies have been added or updated, run pipenv lock?
  • [x] Lint your code (pipenv run lint)?
  • [x] Set the PR to **allow edits from cont...
ebon magnetBOT
#

Build 20200329.1 succeeded

Requested by

GitHub

Duration

00:01:00

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200329.2 succeeded

Requested by

GitHub

Duration

00:01:37

Build pipeline

Bot

regal archBOT
#

In the "development environment" section of the readme, it instructs to run pipenv sync to install dependencies and pipenv run precommit immediately after to install the pre-commit hooks. Since the pre-commit package (and related packages) is listed in the pipfile under [dev-packages], this command fails.

Solution: instruct the user to install all dependencies with the --dev flag.

ebon magnetBOT
#

Build 20200329.1 succeeded

Requested by

GitHub

Duration

00:01:25

Build pipeline

Snekbox

regal archBOT
#

As we've discovered, this approach does not work. After doing a bit of testing, I found out it's because Discord channels the position integers of channels that are already in the category: If you add a channel to a category, the position of all channels with a higher (or equal?) position integer than the one you're inserting will be increased by one:

Moving channel h to position 8
Before move: [('b', 2), ('e', 5), ('f', 7),           ('i', 10), ('g', 11), ('j', 13), ('m', 19)]
Afte...
regal archBOT
ebon magnetBOT
#

Build 20200329.2 succeeded

Requested by

GitHub

Duration

00:01:01

Build pipeline

Seasonal Bot

regal archBOT
north knotBOT
regal archBOT
ebon magnetBOT
#

Build 20200329.2 succeeded

Requested by

GitHub

Duration

00:01:26

Build pipeline

Snekbox

regal archBOT
#

aba5c32 (PEP Command): Hard-coded PEP 0 - ks129
e955b83 (PEP Command): Fixed comment of explanation of ... - ks129
317b5db (PEP Command): Moved icon URL to constant inste... - ks129
3e81904 (PEP Command): Moved PEP 0 information to hard-... - ks129
8bebc1e (PEP Command): Fixed comment about PEP 0 separa... - ks129

ebon magnetBOT
#

Build 20200329.4 succeeded

Requested by

GitHub

Duration

00:01:50

Build pipeline

Bot

north knotBOT
oak estuaryBOT
ebon magnetBOT
#

Build 20200329.3 succeeded

Requested by

GitHub

Duration

00:04:08

Build pipeline

Bot

regal archBOT
#

f086fb2 (Webhook Detection): Created cog. - ks129
f4b5718 (Webhook Detection): Added webhook match regex. - ks129
e5c41fa (Webhook Detection): Added cog loading to __mai... - ks129
7e34c5e (Webhook Detection): Added ModLog fetching pr... - ks129
3a9494d (Webhook Detection): Created `delete_and_respon... - ks129

north knotBOT
oak estuaryBOT
ebon magnetBOT
#

Build 20200329.5 succeeded

Requested by

GitHub

Duration

00:03:26

Build pipeline

Bot

regal archBOT
#

In order to assist staff being able to send bot-authored commands to avoid restricting the ability to edit it's contents to a single person, a command to edit a target message without resorting to int eval could make the experience a little friendlier.

There's a possibility that we have other message-related commands that could be appropriately grouped together, so a consideration might be to add a message|msg parent group for these utilities.

ebon magnetBOT
#

Build 20200329.6 succeeded

Requested by

GitHub

Duration

00:01:46

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200329.3 succeeded

Requested by

GitHub

Duration

00:01:21

Build pipeline

Seasonal Bot

regal archBOT
regal archBOT
ebon magnetBOT
#

Build 20200330.1 succeeded

Requested by

GitHub

Duration

00:01:52

Build pipeline

Bot

#

Build 20200330.2 succeeded

Requested by

GitHub

Duration

00:01:46

Build pipeline

Bot

regal archBOT
north knotBOT
#

Postgres backup completed!

ebon magnetBOT
#

Build 20200330.3 succeeded

Requested by

GitHub

Duration

00:01:55

Build pipeline

Bot

regal archBOT
#

Perhaps we should link the seasonalbot repo from this readme?

While the primary function is to organize the various assets we have, they are also used by **[Seasonalbot](https://github.com/python-discord/seasonalbot)'s branding manager**. The bot will automatically apply seasonal assets pulled directly from this repository to the server. In order for Seasonalbot to properly detect and apply assets, certain conventions must be followed.
regal archBOT
native joltBOT
#
[python-discord/flake8-annotations] New branch created: dependabot/pip/pep8\-naming\-0\.10\.0
#

Bumps pep8-naming from 0.9.1 to 0.10.0.

Changelog
Sourced from pep8-naming's changelog.

0.10.0 - 2020-03-20 ------------------

--ignore-names now supports globbing and applies to the N804 and N805 checks.
"acronym" imports are now treated as their own error code (N817).
Metaclass detection has been improved.
Annotated variable declarations (PEP 526) and := variable assignments are now supported.

Commits

666ab84 Prepare the version 0.10...

ebon magnetBOT
#

Build 20200330.4 succeeded

Requested by

GitHub

Duration

00:01:36

Build pipeline

Bot

regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200330.5 succeeded

Requested by

GitHub

Duration

00:03:29

Build pipeline

Bot

oak estuaryBOT
regal archBOT
north knotBOT
ebon magnetBOT
#

Build 20200330.6 succeeded

Requested by

GitHub

Duration

00:03:16

Build pipeline

Bot

oak estuaryBOT
regal archBOT
regal archBOT
native joltBOT
regal archBOT
regal archBOT
#

Description

This is a patchset to utilise snekbox to run Unix commands (namely GNU/Linux Debian stable).

Implementation

It implements a new API endpoint /unixcmd, the usage of which is analogue to the already existing /eval endpoint - but instead of evaluating the input parameter value as Python code, it is executed in a real Linux environment in a bash shell. As with /eval, it returns output with the combined output of stdout and stderr and whatever return code bas...

ebon magnetBOT
#

Build 20200330.1 failed

Requested by

GitHub

Duration

00:04:01

Build pipeline

Snekbox

regal archBOT
ebon magnetBOT
#

Build 20200330.2 succeeded

Requested by

GitHub

Duration

00:04:35

Build pipeline

Snekbox

ebon magnetBOT
#

Build 20200330.7 succeeded

Requested by

GitHub

Duration

00:01:45

Build pipeline

Bot

#

Build 20200330.8 succeeded

Requested by

GitHub

Duration

00:01:51

Build pipeline

Bot

regal archBOT
#

If the channel_names list is partially sorted and/or entirely out of order, we will slowly start building an order and it will get back into order at the latest when every channel has been cycled once. I'm not quite sure what sorting the list manually would do, except that it will guarantee that we then insert a channel before the one it's supposed to come for.

That could be preferable, but it won't be a magic "sorting fix". We could also try to detect if the thing is out of order and, i...

native joltBOT
ebon magnetBOT
#

Build 20200330.9 succeeded

Requested by

GitHub

Duration

00:01:58

Build pipeline

Bot

regal archBOT
#

@lemonsaurus: Is there any particular reason we're requiring banners and avatars to be png? Doesn't discord technically support other formats?

Technically, we could support them. However, I believe neither bot avatars nor banners can be animated at the moment. We do not currently have any static non-png assets, and I do not foresee us having them. The png format just appears to be the most fitting for this use case.

Therefore, I decided to make my life easier on Seasonalbot's side, an...

#

I think the name makes sense - the project is still a Python implementation :)

On a more serious note, if this were a separate project, it would have a lot of overlapping code with snekbox as it would technically be largely the same backend. Maintaining two different projects for what are essentially the same things doesn't seem advantageous to me, but I want to hear more thoughts on this.

regal archBOT
ebon magnetBOT
#

Build 20200330.10 succeeded

Requested by

GitHub

Duration

00:01:47

Build pipeline

Bot

regal archBOT
#

Note: This issue description is a brief and will be expanded in the near future with full details.

Current Setup

We use discord channels for providing logs of certain events, such as moderative actions, member updates, guild updates, message updates.

Log output is done through individual webhooks, to avoid contributing to the bot rate limits unnecessarily, and as it is an appropriate choice for a send-and-forget log system.

Sending messages to the logs requires hooking into the...

ebon magnetBOT
#

Build 20200330.11 succeeded

Requested by

GitHub

Duration

00:01:45

Build pipeline

Bot

regal archBOT
ebon magnetBOT
#

Build 20200330.1 succeeded

Requested by

GitHub

Duration

00:00:52

Build pipeline

Seasonal Bot

regal archBOT
ebon magnetBOT
#

Build 20200330.2 succeeded

Requested by

GitHub

Duration

00:01:02

Build pipeline

Seasonal Bot

regal archBOT
regal archBOT
#

I think the time has come for me to open this for review. The original tasks of the PR (and a couple more) have been accomplished, and although there remain parts of this repository that could use a little touch-up, I believe that's all out of the originally intended scope.

This project hasn't been entirely easy for me to work on. It's the largest PR that I've ever opened, and in its nature somewhat different to the typical "add a new cog" contribution. I've never really been able to defin...