|  | Commit message (Collapse) | Author | Age | Lines | 
|---|
| ... |  | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | As help conversations now take place in their own, dedicated channels, there's no longer a pressing need to restrict the `!eval` command in help channels for regular members. As the command can be a valuable tool in explaining and teaching Python, we've therefore chosen to allow it in channels in `Help: Available` and `Help: Occupied` catagories. | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | I have added tests for the new `in_whitelisted_context` decorator. They work by calling the decorator with different kwargs to generate a specific predicate callable. That callable is then called to assess if it comes to the right conclusion. | 
| | | | | | | | | | | | |  | 
| | |/ / / / / / / / /  
|/| | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | | | The `in_channel` decorator that served as a factory for `in_channel` checks was replaced by the broaded `in_whitelisted_context` decorator. This means that we can now whitelist commands using channel IDs, category IDs, and/or role IDs. The whitelists will be applied in an "OR" fashion, meaning that as soon as some part of the context happens to be whitelisted, the `predicate` check the decorator produces will return `True`.
To reflect that this is now a broader decorator that checks for a whitelisted *context* (as opposed to just whitelisted channels), the exception the predicate raises has been changed to `InWhitelistedContextCheckFailure` to reflect the broader scope of the decorator.
I've updated all the commands that used the previous version, `in_channel`, to use the replacement. | 
| |\ \ \ \ \ \ \ \ \ \  
| |_|/ / / / / / / /  
|/| | | | | | | | | | Free tag | 
| | |\ \ \ \ \ \ \ \ \  
| |/ / / / / / / / /  
|/| | | | | | | | | |  | 
| |\ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | 
| | | | | | | | | | | | Fix category cache issue | 
| |/ / / / / / / / / / |  | 
| |\ \ \ \ \ \ \ \ \ \  
| |_|_|_|_|_|_|_|_|/  
|/| | | | | | | | | | Answered help session statistics | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| |/ / / / / / / / /  
| | | | | | | | |   
| | | | | | | | |   
| | | | | | | | | | anyone but the claimant | 
| | | | | | | | | | |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Co-Authored-By: Shirayuki Nekomata <[email protected]> | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Co-Authored-By: Shirayuki Nekomata <[email protected]> | 
| | | | | | | | | | |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Co-authored-by: Joseph Banks <[email protected]> | 
| | | | |\ \ \ \ \ \ |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | Co-authored-by: Sebastiaan Zeeff <[email protected]> | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | Co-authored-by: Joseph Banks <[email protected]> | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | In `News` cog PEP news posting, define `utf-8` as encoding on response parsing to avoid the error.
Co-authored-by: Joseph Banks <[email protected]> | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | |/ / / / / /  
| | | | | | | | |   
| | | | | | | | |   
| | | | | | | | | | confusion | 
| | | | | | | | | | |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | - Removed (now) unnecessary helper function `News.check_new_exist`.
- Use thread IDs instead message IDs on maillists checking to avoid Discord API calls.
- Use PEP number instead message IDs on PEP news checking to avoid Discord API calls. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | - Replaced type checking with `TextChannel.is_news()` for simplification to check is possible to publish new
- Removed unnecessary `while` loop on `send_webhook` that check is webhook available. No need for this after starting ordering modification. | 
| | | | | | | | | | |  | 
| | | | |\ \ \ \ \ \ |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | Co-Authored-By: Joseph <[email protected]> | 
| | | | |/ / / / / / |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Added `features="lxml"` to `BeautifulSoup` class creating to avoid warning. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | - Added footer to webhook sent message
- Made `send_webhook` return `discord.Message` instead ID of message
- Added waiting for Webhook on `send_webhook`
- Added message publishing in new loops | 
| | | | | | | | | | |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | - Created new helper function `News.get_webhook_and_channel` to will be run in Cog loading and will fetch #python-news channel and webhook.
- Fixed `News.send_webhook` when you pass `None` as author, this will not add author.
- Replaced individual channel and webhook fetches with `News.webhook` and `News.channel`.
- Replaced positional arguments with kwargs in `send_webhook` uses.
- Moved maillists syncing from `News.__init__` to `News.post_maillist_news`.
- Simplified `News.post_pep_news` already exist checks. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | - Created helper function `News.get_thread_and_first_mail`
- Created helper function `News.send_webhook`
- Created helper function `News.check_new_exist`
- Task `post_maillist_news`, that send latest maillist threads to news, when they don't exist.
- Implemented helper functions to PEP news
- Added date check | 
| | | | | | | | | | |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Function fetch display names of these mail lists, that bot will post. These names will be used on Webhook author names. `News.webhook_names` storage these name and display name pairs. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | - Created task `post_pep_news` that pull existing news message IDs from API, do checks and send new PEP when it's not already sent.
- Removed `get_webhook`
- Removed `self.webhook` | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Replaced in-file mail lists with constants.py's, replaced webhook ID getting. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Removed Webhook and Channel from their listings, created new class `PythonNews` that hold them + mail lists. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | and webhook.
This use local dev environment IDs. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | `News.get_webhook` fetch discord.Webhook by ID provided in config. `self.webhook` use webhook that it got from this function. | 
| | | | | | | | | | |  | 
| | | | | | | | | | |  |