aboutsummaryrefslogtreecommitdiffstats
path: root/tests/helpers.py (unfollow)
Commit message (Collapse)AuthorLines
2021-10-11Use raw message delete listenerGravatar Shivansh-8/+8
2021-10-11Use `on_raw_message_edit`Gravatar Shivansh-3/+12
Originally it was using `on_message_edit` which would have failed if the message was not in the bot' cache. Therefore we would have to use a raw listener.
2021-10-11Delete msg link embed if no link on editGravatar Shivansh-0/+4
Earlier, if we edited a message which contained message links originally but not now, then the webhook message wouldn't get deleted. This commits fixes that bug.
2021-10-11Make `extract_message_links` an instance methodGravatar Shivansh-31/+30
Since it was used cog's state (`self.bot`), it would be better to move it to the cog.
2021-10-11Use better variable namesGravatar Shivansh-2/+4
This commit also adds a line which was got removed by mistake earlier.
2021-10-11Apply requested changes to doc stringsGravatar Shivansh-4/+4
2021-10-11Only process the first 10 message linksGravatar Shivansh-3/+1
2021-10-11(incidents):Log with error if webhook not foundGravatar Shivansh-0/+3
2021-10-11(incidents): Use subtests for test_shorten_textGravatar Shivansh-4/+4
2021-10-11(incidents): Add test for text shortnerGravatar Shivansh-10/+18
Pass all 3 cases of text shortening to the test case and test them, the cases being: i. If the message is just one word, then shorten to 50 characters. ii. Maximum lines being 3. iii. Maximum characters being 300. This commit also removes a misc bug, of passing self, while asserting equal.
2021-10-11(incidents): Refactor text shortnerGravatar Shivansh-10/+16
2021-10-11Rework text shortner.Gravatar Shivansh-4/+19
Explanation: It is unnecessary to show 300 characters, when there is only one word which is so long, so if there is only one word in the text, it would be truncated to 50 words. Also in some cases, there are messages of many lines with 1 word on each line(say), this would again make the embed big and polluting, so it would limit the number of lines to a maximum of 3. Rest of the feature is the same as before. This implementation has been inspired from the `format_output` function of snekbox cog.
2021-10-11Write tests for this featureGravatar Shivansh-3/+66
In short, I have written two tests, one which tests the whether `extract_message_links` is called on message edits or not. And the second one to test the regex of `extract_message_links` and assert the message link embeds sent by it. Special thanks to kwzrd💜#1198 for helping me out with it.
2021-10-11Fix truncation bugGravatar Shivansh-3/+4
When you take a long message, just one word of 400 A's then the truncated wouldn't be able to handle it properly and just return the placeholder. This is a bug in the textwrap.shorten function. To solve this, I went the long way to use slicing on the list. This commit seems to have resolved the bug.
2021-10-11Handle discord.errors.NotFound while deleting msg link webhook embedsGravatar Shivansh-007-1/+4
2021-10-11Remove leading whitespace from msg link embed contentGravatar Shivansh-007-1/+1
2021-10-11Rename 'send_webhooks' to 'send_message_link_embed'Gravatar Shivansh-007-3/+3
Co-authored-by: Boris Muratov <[email protected]>
2021-10-11Appy requested grammar changes.Gravatar Shivansh-007-5/+5
Co-authored-by: Boris Muratov <[email protected]>
2021-10-11Remove redundant codeGravatar Shivansh-007-4/+2
2021-10-11Rework message link embed.Gravatar Shivansh-007-7/+9
- Instead of default black colour, use gold to give it some shine! - Mention the channel also in the channel field. - Add message ID in footer, so it is easy to figure out for which message link is that embed.
2021-10-11Bug fixesGravatar Shivansh-007-16/+14
- `await` message link embeds cache get - don't double send webhook embeds (edit, send) on message edits
2021-10-11Don't send errors, instead log them.Gravatar Shivansh-007-9/+9
Errors shouldn't be sent in #incidents. Instead, log them with log.exception and make the function return.
2021-10-11Do required flake8 changes in docstrings.Gravatar Shivansh-007-4/+8
2021-10-11Use tasks to fetch incidents channel webhook.Gravatar Shivansh-007-9/+13
2021-10-11On msg edits, edit the msg link embed rather than deleting itGravatar Shivansh-007-4/+9
2021-10-11Make incidents channel webhook a cog level attributeGravatar Shivansh-007-6/+6
This would not fetch it everytime.
2021-10-11Use str() rather than f string for single variable.Gravatar Shivansh-007-1/+1
Makes the intent much more clear.
2021-10-11Don't allow more than 10 embeds per report.Gravatar Shivansh-007-53/+32
If more than 10 embeds found, just get the first 10 and ignore the rest.
2021-10-11Revert changes done by black.Gravatar Shivansh-007-43/+13
2021-10-11Updates type hints for `message_link_embeds_cache`.Gravatar Shivansh-007-1/+7
2021-10-11Refactors code.Gravatar Shivansh-007-26/+94
Earlier on message edit the message wasn't run through extract message links to see if new message links are added or if some got deleted. Similarly the cache was updated when a message got deleted. Now it makes extract message links a helper function and runs it on message edits and deletes in case there are some changes in the message links. This commit also updates the doc strings for functions according to the new changes done.
2021-10-11Use `DiscordException` instead of broad exception clause.Gravatar Shivansh-007-2/+2
2021-10-11Apply grammar and style changes.Gravatar Shivansh-007-13/+20
2021-10-11Run black code formatter.Gravatar Shivansh-007-21/+53
2021-10-11Ignore N802 in 'asyncSetUp' and 'asyncTearDown' function in test_incidents.pyGravatar Shivansh-007-2/+2
2021-10-11Allign comments to maintain readabilityGravatar Shivansh-007-3/+3
2021-10-11Modify tests to support redis cache, done with the help @SebastiaanZGravatar Shivansh-007-16/+16
2021-10-11Run webhook message deletion if webhook_msg_id var is TrueGravatar Shivansh-007-5/+7
2021-10-11Update regex to support all message links i.e. support for 'app', 'canary', ↵Gravatar Shivansh-007-3/+4
'ptb'
2021-10-11Add a docstring to 'send_webhooks' functionGravatar Shivansh-007-0/+9
2021-10-11If message content more than 500 characters shorten it done to 300 charactersGravatar Shivansh-007-24/+34
2021-10-11Rollback to changes which aren't requiredGravatar Shivansh-007-6/+6
2021-10-11Fix tests according to the changes done to incidents.pyGravatar Shivansh-007-3/+19
2021-10-11Use str() when checking for message.contentGravatar Shivansh-007-1/+1
2021-10-11Use MessageConverter to find messagesGravatar Shivansh-007-25/+35
2021-10-11Send multiple webhook messages in case of more than 10 message linksGravatar Shivansh-007-9/+22
2021-10-11Add incidents webhook to default config templateGravatar Shivansh-007-0/+1
2021-10-11Send webhook embed containing information about the message if there is a ↵Gravatar Shivansh-007-4/+70
message link in the incident report
2021-10-10Fix typo in bot/exts/info/doc/_cog.py Gravatar Richard Si-1/+1
it only took 5 people looking through the diff ... Co-authored-by: Bluenix <[email protected]>
2021-10-10Handle 400 when setting pre-existing doc packageGravatar Richard Si-1/+9
If you run, for example: !doc setdoc black https://black.readthedocs/en/stable/objects.inv twice over. You'll get an unhelpful "According to the API, your request is malformed." error message back. This commit adds an error handler to catch the HTTP 400 and tell the user the package already exists.