aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| * | | | | | | | | | | Refactor DuckPond msg relay to separate methodGravatar Sebastiaan Zeeff2019-11-15-29/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To allow for separate testing of the code that relays messages to the duck pond, I have moved this part of the code from the event listener to a separate method. The overall logic has remained unchanged. In addition, I've kaizened to things: - Removed unnecessary f-string without interpolation; - Removed double negative (not item not in list)
| * | | | | | | | | | | Check only for bot's green checkmark in DuckPondGravatar Sebastiaan Zeeff2019-11-15-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the presence of any green checkmark as a reaction would prevent a message from being relayed to the duck pond, regardless of the actor of that reaction. Since we only want to check if the bot has already processed this message, we should check for a checkmark added by the bot. This commit adds such a user check.
| * | | | | | | | | | | Add MockAttachment type and attachments default for MockMessageGravatar Sebastiaan Zeeff2019-11-14-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As stated from the start, our intention is to add custom mock types as we need them for testing. While writing tests for DuckPond, I noticed that we did not have a mock type for Attachments, so I added one with this commit. In addition, I think it's a very sensible for MockMessage to have an empty list as a default value for the `attachements` attribute. This is equal to what `discord.Message` returns for a message without attachments and makes sure that if you don't explicitely add an attachment to a message, `MockMessage.attachments` tests as falsey.
| * | | | | | | | | | | Add bot=False default value to MockMemberGravatar Sebastiaan Zeeff2019-11-14-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, a mocked value is considered `truthy` in Python, like all non-empty/non-zero/non-None values in Python. This means that if an attribute is not explicitly set on a mock, it will evaluate at as truthy in a boolean context, since the mock will provide a truthy mocked value by default. This is not the best default value for the `bot` attribute of our MockMember type, since members are rarely bots. It makes much more intuitive sense to me to consider a member to not be a bot, unless we explicitly set `bot=True`. This commit sets that sensible default value that can be overwritten by passing `bot=False` to the constructor or setting the `object.bot` attribute to `False` after the creation of the mock.
| * | | | | | | | | | | Merging in masterGravatar Leon Sandøy2019-11-13-756/+1396
| |\ \ \ \ \ \ \ \ \ \ \ | | | |_|_|_|_|_|_|_|_|/ | | |/| | | | | | | | |
| * | | | | | | | | | | Add tests for on_raw_reaction_add.Gravatar Leon Sandøy2019-11-12-14/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Basically I suck at this and I can't get this return_value thing to work. I'll have Ves look at it to resolve it. As of right now, multiple tests are failing.
| * | | | | | | | | | | Implement a mixed duck test.Gravatar Leon Sandøy2019-11-11-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also gets started setting up for the final tests, which will require more mockwork.
| * | | | | | | | | | | Adding ducky count tests and a new AsyncIteratorMockGravatar Leon Sandøy2019-11-11-15/+93
| | | | | | | | | | | |
| * | | | | | | | | | | Test is_staff and has_green_checkmark.Gravatar Leon Sandøy2019-11-03-17/+35
| | | | | | | | | | | |
| * | | | | | | | | | | Resolving merge conflicts from masterGravatar Leon Sandøy2019-11-03-197/+277
| |\ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | Figure out which tests we need.Gravatar Leon Sandøy2019-10-31-2/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds empty tests for all the tests I'd like to add to this pull request. It also adds a few more duckies to the emoji constant list, and adds a single line of clarification to the testing readme.
| * | | | | | | | | | | | Merge branch 'duck_pond' of github.com:python-discord/bot into duck_pondGravatar Leon Sandøy2019-10-27-1/+1
| |\ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | Improve the setup() docstringGravatar Leon Sandøy2019-10-27-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Mark <[email protected]>
| * | | | | | | | | | | | | Adding kosas additional ducks to default-configGravatar Leon Sandøy2019-10-27-3/+8
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | Addressing review by Mark.Gravatar Leon Sandøy2019-10-27-89/+42
| |/ / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactors the duck pond cog to have fewer redundancies, removes some unused features (like supporting reaction_list in the count_duck and has_green_checkbox helpers), and makes other various minor (mostly cosmetic) improvements.
| * | | | | | | | | | | | Fix broken constant testsGravatar Leon Sandøy2019-10-27-5/+4
| | | | | | | | | | | | |
| * | | | | | | | | | | | Add correct values for constants from production server.Gravatar Leon Sandøy2019-10-27-2/+2
| | | | | | | | | | | | |
| * | | | | | | | | | | | Appease the linterGravatar Leon Sandøy2019-10-27-6/+13
| | | | | | | | | | | | |
| * | | | | | | | | | | | Add duck_pond cog.Gravatar Leon Sandøy2019-10-27-0/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cog will listen for duck reactions on any message, and then: - If the reaction was added by a staff member - and the reaction was a duck - and the message has not already been added to the #duck-pond It will add the message to the #duck-pond and then add a green checkbox to the original message to indicate that the message has been ponded. Messages are added to the #duck-pond via webhook, so that they can retain the appearance of having their original authors. Once this checkmark has been added, the message will not be processed in the future. If the checkmark is removed and there are more than ducks_required ducks on the message, the bot will automatically add the checkmark back. However, if all reactions are removed, the bot does not have a countermeasure for this. In order to implement a countermeasure, it would be necessary to involve the API and the database.
| * | | | | | | | | | | | Add duck-pond constants.Gravatar Leon Sandøy2019-10-27-29/+43
| | |_|_|_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the emojis, the channel, and the configuration needed for the duck-pond feature. This is added both to config-default.yml, and to the constants.py file.
| | | | | * | | | | | | Make requested tweaks: Use URL constant from constants.py, re-add try/except ↵Gravatar Deniz2019-11-25-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | block and implement the changes requested by Ava
| | | | | * | | | | | | Update PASTE_URL constant to be pydis instead of pythondiscordGravatar Deniz2019-11-25-1/+1
| | | | | | | | | | | |
| | | | | * | | | | | | Change order of importsGravatar Deniz2019-11-25-1/+1
| | | | | | | | | | | |
| | | | | * | | | | | | Forgot the word 'hey'Gravatar Deniz2019-11-25-1/+1
| | | | | | | | | | | |
| | | | | * | | | | | | Update antimalware.py to be more consistent with other information messages ↵Gravatar Deniz2019-11-25-24/+20
| |_|_|_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (like the codeblock reminder) & improve code a slight bit
* | | | | | | | | | | Relock to d.py 1.2.5 due to API breaking change for emoji.Gravatar scragly2019-11-19-80/+95
| | | | | | | | | | |
* | | | | | | | | | | Docs command improvements (#546)Gravatar scragly2019-11-15-37/+177
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Docs command improvements Co-authored-by: Sebastiaan Zeeff <[email protected]>
| * \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into doc-commandGravatar Sebastiaan Zeeff2019-11-15-2269/+4402
| |\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | |
* | | | | | | | | | | | Merge pull request #619 from python-discord/moderation-loggingGravatar Leon Sandøy2019-11-15-30/+102
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / / / |/| | | | | | | | | | | Moderation logging
| * | | | | | | | | | | Merge branch 'master' into moderation-loggingGravatar Leon Sandøy2019-11-15-193/+301
| |\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | |
* | | | | | | | | | | | Enhancements for `tests.helpers` and our test suite (#660)Gravatar scragly2019-11-14-157/+134
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enhancements for `tests.helpers` and our test suite Co-authored-by: null <[email protected]>
| * \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into unittest-helpers-improvementsGravatar scragly2019-11-14-36/+167
| |\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / |/| | | | | | | | | | | |
* | | | | | | | | | | | | Merge pull request #656 from python-discord/checkpoint-changesGravatar Mark2019-11-10-22/+53
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | Forward pings in checkpoint to mod-alerts and reword periodic checkpoint ping
| * | | | | | | | | | | | Merge branch 'master' into checkpoint-changesGravatar Mark2019-11-10-540/+677
| |\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / |/| | | | | | | | | | | |
* | | | | | | | | | | | | Merge pull request #641 from kwzrd/unittest-linksGravatar Mark2019-11-08-0/+101
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add unit test for links antispam rule
| * \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into unittest-linksGravatar Mark2019-11-08-608/+1193
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / |/| | | | | | | | | | | | |
* | | | | | | | | | | | | | Merge pull request #653 from python-discord/talent-poolingGravatar Sebastiaan Zeeff2019-11-08-14/+13
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow helpers to nominate people
| * | | | | | | | | | | | | | Refactor bigbrother to use constantsGravatar kosayoda2019-11-08-5/+5
| | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Allow helpers to nominate peopleGravatar kosayoda2019-11-08-9/+8
|/ / / / / / / / / / / / / /
| * | | | | | | | | | | | | Update docstring to use asterisks when referring to argument namesGravatar kwzrd2019-11-08-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Kyle Stanley <[email protected]>
| * | | | | | | | | | | | | Add whitespace for readability, consistency & allureGravatar kwzrd2019-11-08-0/+1
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | Adjust case to only test a single aspectGravatar kwzrd2019-11-02-1/+1
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | Annotate unclear test cases with inline commentsGravatar kwzrd2019-11-02-2/+2
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | Add two more test cases for links rule unit testGravatar kwzrd2019-11-01-0/+7
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | Add unit test for links antispam ruleGravatar kwzrd2019-11-01-0/+93
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | [kaizen] Remove now duplicate channel checkGravatar Derek2019-11-09-19/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unindent subsequent lines after check
| | * | | | | | | | | | | | Forward user/role pings in checkpoint to mod-alertsGravatar Derek2019-11-09-2/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [kaizen] limit on_message listener to verification channel
| | * | | | | | | | | | | | Reword periodic #checkpoint messageGravatar Derek2019-11-04-1/+1
| | | |_|_|_|_|_|_|/ / / / | | |/| | | | | | | | | |
| | | * | | | | | | | | | Prevent await warnings for MockBot's create_taskGravatar Sebastiaan Zeeff2019-11-13-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the coroutine object passed to `MockBot.loop.create_task` would trigger a `RuntimeWarning` for not being awaited as we do not actually create a task for it. To prevent these warnings, coroutine objects passed will now automatically be closed.
| | | * | | | | | | | | | Prevent setting unknown attributes on d.py mocksGravatar Sebastiaan Zeeff2019-11-13-158/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our custom `discord.py` now follow the specifications of the object they are mocking more strictly by using the `spec_set` instead of the `spec` kwarg to initialize the specifications. This means that trying to set an attribute that does not follow the specifications will now also result in an `AttributeError`. To make sure we are not trying to set illegal attributes during the default initialization of the mock objects, I've changed the way we handle default values of parameters. This does introduce a breaking change: Instead of passing a `suffix_id`, the `id` attribute should now be passed using the exact name. `id`. This commit also makes sure existing tests follow this change.