aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | * | | | Branding: implement internal utilityGravatar kwzrd2021-03-13-2/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the core logic of branding management. In comparison with the previous version, we now maintain all state in Redis, which allows the bot to seamlessly restart without losing any information. The 'send_info_embed' function is intentionally implemented with the consideration of allowing users to invoke it on-demand. It always reads information from the cache, even if the caller could pass a 'MetaFile' instance. So while this may look needlessly indirect right now, it should begin to make sense once the command API is implemented.
| | * | | | Branding: expose SHA on remote objectsGravatar kwzrd2021-03-13-0/+1
| | | | | |
| | * | | | Branding: implement asset application logicGravatar kwzrd2021-03-13-0/+51
| | | | | |
| | * | | | Branding: do not require 'RemoteObject' instance to fetch fileGravatar kwzrd2021-03-13-5/+5
| | | | | |
| | * | | | Branding: correctly annotate optional attributeGravatar kwzrd2021-03-13-1/+1
| | | | | |
| | * | | | Branding: make event instances aware of their locationGravatar kwzrd2021-03-13-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | This allows us to add a neat string representation.
| | * | | | Branding: add event gettersGravatar kwzrd2021-03-13-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | These methods form the API to the repository abstraction.
| | * | | | Branding: define event construction methodologyGravatar kwzrd2021-03-13-0/+90
| | | | | |
| | * | | | Branding: add HTTP fetch helper methodsGravatar kwzrd2021-03-13-0/+54
| | | | | |
| | * | | | Branding: migrate constantsGravatar kwzrd2021-03-13-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Constants will only be used in one place and there's not enough of them to warrant a separate module.
| | * | | | Branding: initiate repository abstractionGravatar kwzrd2021-03-13-0/+15
| | | | | |
| | * | | | Branding: remove current implementationGravatar kwzrd2021-03-13-812/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we're planning substantial changes, it will be easier to build from scratch.
| | * | | | Pipenv: add 'python-frontmatter' & re-lockGravatar kwzrd2021-03-07-48/+59
| | | | | |
| | | | * | Use deleted reason if help channel is closed due to being emptyGravatar Chris2021-03-30-1/+2
| | |_|/ / | |/| | |
| * | | | Merge pull request #1491 from python-discord/fix/dmrelayGravatar Joe Banks2021-03-30-13/+9
| |\ \ \ \
| | * \ \ \ Merge branch 'main' into fix/dmrelayGravatar Xithrius2021-03-30-345/+490
| | |\ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge pull request #1470 from python-discord/help-channel-closing-delay-changesGravatar Joe Banks2021-03-30-345/+490
| |\ \ \ \ \ | | | | | | | | | | | | | | Extend close time logic to differentiate between the claimant and other users
| | * | | | | Fix copy & paste error in closing reason enumGravatar Chris2021-03-30-1/+1
| | | | | | |
| | * | | | | Change to an Enum for possible closing reasonsGravatar Chris2021-03-30-20/+32
| | | | | | |
| | * | | | | Enumerate all possible values for closed_on in docstringGravatar Chris2021-03-30-1/+4
| | | | | | |
| | * | | | | HelpChannels: refactor get_closing_timeGravatar MarkKoz2021-03-30-43/+43
| | | | | | |
| | * | | | | HelpChannels: use aware datetimes everywhereGravatar MarkKoz2021-03-30-27/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix issues converting timestamps to datetimes and vice-versa. The main culprit id `datetime.timestamp()`, which always assumes naïve objects are in local time. That behaviour conflicts with discord.py, which returns naïve objects in UTC rather than local time. Switching from `utcfromtimestamp` to `fromtimestamp` was incorrect since the latter also assumes the timestamp is in local time.
| | * | | | | Update arrow to 1.0.3Gravatar MarkKoz2021-03-30-267/+336
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It has some API changes, so it's best to update now before the project starts using the library more.
| | * | | | | Switch to datetime.fromtimestamp() to avoid over-compensationGravatar Chris2021-03-26-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we were using `utcfromtimestamp()` which would compensate the timestamp when converting to UTC even though the timestamp itself was in UTC: >>> datetime.utcnow() datetime.datetime(2021, 3, 26, 22, 8, 47, 441603) >>> a = datetime.utcnow().timestamp() 1616821624.207364 >>> a = datetime.utcfromtimestamp(a) datetime.datetime(2021, 3, 27, 5, 7, 4, 207364) By switching to `fromtimestamp()` this avoids that behaviour.
| | * | | | | Use correct constant for each type of help session userGravatar Chris2021-03-26-5/+5
| | | | | | |
| | * | | | | Add 1 second due to POSIX timestamps being lower resolution than datetime ↵Gravatar Chris2021-03-26-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | objects.
| | * | | | | Fix error when converting non claimant messageGravatar Chris2021-03-26-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | datetime.min cannot be converted to a timestamp as it's pre-epoch. Instead wait until we actuall need it and then create the correct datetime object depending on teh cache contents.
| | * | | | | Convert to timestamp before posting to redisGravatar Chris2021-03-25-2/+2
| | | | | | |
| | * | | | | Reset a channel's non-claimant cache on claim, to indicate that the session ↵Gravatar Chris2021-03-25-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | has yet to be answered.
| | * | | | | Refactor if block within help channel system to be more readableGravatar Chris2021-03-25-6/+7
| | | | | | |
| | * | | | | Refactor help channel update message cache function for clearer flowGravatar Chris2021-03-25-9/+8
| | | | | | |
| | * | | | | Create utc datetime objects from timestampsGravatar Chris2021-03-25-4/+4
| | | | | | |
| | * | | | | Change help channel caching logic to use timezone naive stampsGravatar Chris2021-03-25-3/+3
| | | | | | |
| | * | | | | Only fetch claimant id onceGravatar Chris2021-03-25-2/+3
| | | | | | |
| | * | | | | update help channel on_message docstring to reflect unchanged responsibilityGravatar Chris2021-03-25-6/+1
| | | | | | |
| | * | | | | Schedule channels just opened using claimant configured idle timeGravatar Chris2021-03-25-1/+1
| | | | | | |
| | * | | | | Check for close on command explictly.Gravatar Chris2021-03-25-1/+1
| | | | | | |
| | * | | | | Remove unneeded cache clearingGravatar Chris2021-03-25-8/+0
| | | | | | |
| | * | | | | Change help channel logic to use timezone naive stampsGravatar Chris2021-03-25-8/+6
| | | | | | |
| | * | | | | Don't prepend command closes with autoGravatar Chris2021-03-25-2/+3
| | | | | | |
| | * | | | | Add back seperation whitespaceGravatar Chris2021-03-24-0/+1
| | | | | | |
| | * | | | | Use claiment idle time as default idle minutes.Gravatar Chris2021-03-24-1/+1
| | | | | | |
| | * | | | | Use fallback behaviour during cog initGravatar Chris2021-03-24-5/+8
| | | | | | |
| | * | | | | Merge pull request #1476 from laundmo/help-channel-closing-delay-changesGravatar ChrisJL2021-03-20-27/+45
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | reset cache on bot start, stats for different close reasons
| | | * | | | | run precommit with all depsGravatar laundmo2021-03-20-1/+1
| | | | | | | |
| | | * | | | | passing pre-commitGravatar laundmo2021-03-20-4/+11
| | | | | | | |
| | | * | | | | reset cache on bot start, stats for different close reasonsGravatar laundmo2021-03-19-28/+39
| | |/ / / / /
| | * | | | | More descriptive comment for when an if block is enteredGravatar Chris2021-03-18-1/+1
| | | | | | |
| | * | | | | Determine closing time from last message if either cache is empty, rather ↵Gravatar Chris2021-03-18-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | than if both are empty
| | * | | | | If the channel is empty, determine closing time based on last message.Gravatar Chris2021-03-18-4/+5
| | | | | | |