Commit Graph

194 Commits

Author SHA1 Message Date
3115fc6f7d Update dependency libbot to v1.7 2023-06-30 11:45:45 +03:00
11dbf3239d
Removed deprecated collection 2023-06-28 10:52:00 +02:00
3d87f035e7
Added /language for owner 2023-06-28 10:48:14 +02:00
d8245934e2
Fixed wrong db record 2023-06-28 10:45:23 +02:00
420a4cb7eb
Fixed locale strings and commands 2023-06-28 10:43:13 +02:00
b747dde664
Added missing requirement 2023-06-28 10:39:39 +02:00
10c60ae932
WIP: /language system 2023-06-28 10:37:18 +02:00
6f8b560acc
WIP: New User system 2023-06-28 10:15:45 +02:00
93f3439a11
Fixed response type check 2023-06-28 08:59:40 +02:00
9e0a815062
Fixed markup 2023-06-28 08:57:09 +02:00
51da210817
Small fix 2023-06-28 08:56:21 +02:00
e06cb4b377
/remove command fixed 2023-06-28 08:53:15 +02:00
97b3aa1505
Starting scripts and README were updated 2023-06-28 08:22:18 +02:00
5adb004a2a API usage overhaul (#27)
* `/report` command added
* Updated to libbot 1.5
* Moved to [PhotosAPI_Client](https://git.end-play.xyz/profitroll/PhotosAPI_Client) v0.5.0 from using self-made API client
* Video support (almost stable)
* Bug fixes and improvements

Co-authored-by: profitroll <vozhd.kk@gmail.com>
Reviewed-on: #27
2023-06-28 00:57:30 +03:00
f003638128 Update 'requirements.txt' 2023-06-28 00:57:13 +03:00
e9e68cb6b3 Update dependency pymongo to v4.4.0 (#25)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [pymongo](https://github.com/mongodb/mongo-python-driver) | minor | `==4.3.3` -> `==4.4.0` |

---

### Release Notes

<details>
<summary>mongodb/mongo-python-driver</summary>

### [`v4.4.0`](https://github.com/mongodb/mongo-python-driver/releases/tag/4.4.0): PyMongo 4.4.0

[Compare Source](https://github.com/mongodb/mongo-python-driver/compare/4.3.3...4.4.0)

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-4-released/232211

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS41NC4wIiwidXBkYXRlZEluVmVyIjoiMzUuNTQuMCJ9-->

Co-authored-by: Renovate <renovate@git.end-play.xyz>
Reviewed-on: #25
Co-authored-by: Renovate <renovate@noreply.localhost>
Co-committed-by: Renovate <renovate@noreply.localhost>
2023-06-21 22:45:23 +03:00
bd62149a2c Update dependency ujson to v5.8.0 (#24)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ujson](https://github.com/ultrajson/ultrajson) | minor | `==5.7.0` -> `==5.8.0` |

---

### Release Notes

<details>
<summary>ultrajson/ultrajson</summary>

### [`v5.8.0`](https://github.com/ultrajson/ultrajson/releases/tag/5.8.0)

[Compare Source](https://github.com/ultrajson/ultrajson/compare/5.7.0...5.8.0)

#### Added

-   Build wheel for Python 3.12 beta (built against 3.12.0b2) ([#&#8203;594](https://github.com/ultrajson/ultrajson/issues/594)) [@&#8203;hugovk](https://github.com/hugovk)

#### Changed

-   Drop support for Python 3.7 ([#&#8203;595](https://github.com/ultrajson/ultrajson/issues/595)) [@&#8203;hugovk](https://github.com/hugovk)

#### Fixed

-   Include BSD-3-Clause and TCL license text ([#&#8203;584](https://github.com/ultrajson/ultrajson/issues/584)) [@&#8203;musicinmybrain](https://github.com/musicinmybrain)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS41NC4wIiwidXBkYXRlZEluVmVyIjoiMzUuNTQuMCJ9-->

Co-authored-by: Renovate <renovate@git.end-play.xyz>
Reviewed-on: #24
Co-authored-by: Renovate <renovate@noreply.localhost>
Co-committed-by: Renovate <renovate@noreply.localhost>
2023-06-11 12:29:02 +03:00
76fc4981cc Merge branch 'master' into dev 2023-05-16 15:45:11 +03:00
337a7b28aa Fixed coroutines not being awaited 2023-05-16 12:30:56 +02:00
93804345df Update dependency pyrogram to v2.0.106 (#22)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [pyrogram](https://github.com/pyrogram) ([source](https://github.com/pyrogram/pyrogram)) | patch | `==2.0.104` -> `==2.0.106` |

---

### Release Notes

<details>
<summary>pyrogram/pyrogram</summary>

### [`v2.0.106`](https://github.com/pyrogram/pyrogram/compare/v2.0.105...v2.0.106)

[Compare Source](https://github.com/pyrogram/pyrogram/compare/v2.0.105...v2.0.106)

### [`v2.0.105`](https://github.com/pyrogram/pyrogram/compare/v2.0.104...v2.0.105)

[Compare Source](https://github.com/pyrogram/pyrogram/compare/v2.0.104...v2.0.105)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS41NC4wIiwidXBkYXRlZEluVmVyIjoiMzUuNTQuMCJ9-->

Reviewed-on: #22
Co-authored-by: Renovate <renovate@git.end-play.xyz>
Co-committed-by: Renovate <renovate@git.end-play.xyz>
2023-05-08 11:51:15 +03:00
f5b3335af0 master (#21)
Co-authored-by: Renovate <renovate@git.end-play.xyz>
Co-authored-by: profitroll <vozhd.kk@gmail.com>
Reviewed-on: #21
2023-04-24 14:38:03 +03:00
fc8f49b487 Commented random_pic_response output 2023-04-24 13:36:58 +02:00
c6cba6de2f Merge branch 'dev' 2023-04-24 13:33:33 +02:00
adef3b3afc Changed versioning prefix in code 2023-04-24 12:53:22 +02:00
853c3c7cea dev (#19)
* Config file changes
* Commands `/remove`, `/import` and `/export`

Co-authored-by: profitroll <vozhd.kk@gmail.com>
Co-authored-by: Profitroll <47523801+profitrollgame@users.noreply.github.com>
Co-authored-by: Renovate <renovate@git.end-play.xyz>
Reviewed-on: #19
2023-04-24 13:48:22 +03:00
fe60b3f8a5 Changed album config path 2023-04-24 12:44:10 +02:00
aa82a8f382 Fixed SyntaxError 2023-04-24 12:40:06 +02:00
826e031a39 Update dependency pyrogram to v2.0.104 (#18)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [pyrogram](https://github.com/pyrogram) ([source](https://github.com/pyrogram/pyrogram)) | patch | `==2.0.102` -> `==2.0.104` |

---

### Release Notes

<details>
<summary>pyrogram/pyrogram</summary>

### [`v2.0.104`](https://github.com/pyrogram/pyrogram/compare/v2.0.103...v2.0.104)

[Compare Source](https://github.com/pyrogram/pyrogram/compare/v2.0.103...v2.0.104)

### [`v2.0.103`](https://github.com/pyrogram/pyrogram/compare/v2.0.102...v2.0.103)

[Compare Source](https://github.com/pyrogram/pyrogram/compare/v2.0.102...v2.0.103)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS41NC4wIiwidXBkYXRlZEluVmVyIjoiMzUuNTQuMCJ9-->

Reviewed-on: #18
Co-authored-by: Renovate <renovate@git.end-play.xyz>
Co-committed-by: Renovate <renovate@git.end-play.xyz>
2023-04-24 13:36:39 +03:00
0681338970 Update dependency psutil to v5.9.5 (#17)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [psutil](https://github.com/giampaolo/psutil) | patch | `==5.9.4` -> `==5.9.5` |

---

### Release Notes

<details>
<summary>giampaolo/psutil</summary>

### [`v5.9.5`](https://github.com/giampaolo/psutil/blob/HEAD/HISTORY.rst#&#8203;595)

[Compare Source](https://github.com/giampaolo/psutil/compare/release-5.9.4...release-5.9.5)

\=====

2023-04-17

**Enhancements**

-   2196\_: in case of exception, display a cleaner error traceback by hiding the
    `KeyError` bit deriving from a missed cache hit.
-   2217\_: print the full traceback when a `DeprecationWarning` or `UserWarning`
    is raised.
-   2230\_, \[OpenBSD]: `psutil.net_connections`\_ implementation was rewritten from
    scratch:
    -   We're now able to retrieve the path of AF_UNIX sockets (before it was an
        empty string)
    -   The function is faster since it no longer iterates over all processes.
    -   No longer produces duplicate connection entries.
-   2238\_: there are cases where `Process.cwd()`\_ cannot be determined
    (e.g. directory no longer exists), in which case we returned either `None`
    or an empty string. This was consolidated and we now return `""` on all
    platforms.
-   2239\_, \[UNIX]: if process is a zombie, and we can only determine part of the
    its truncated `Process.name()`\_ (15 chars), don't fail with `ZombieProcess`\_
    when we try to guess the full name from the `Process.cmdline()`\_. Just
    return the truncated name.
-   2240\_, \[NetBSD], \[OpenBSD]: add CI testing on every commit for NetBSD and
    OpenBSD platforms (python 3 only).

**Bug fixes**

-   1043\_, \[OpenBSD] `psutil.net_connections`\_ returns duplicate entries.
-   1915\_, \[Linux]: on certain kernels, `"MemAvailable"` field from
    `/proc/meminfo` returns `0` (possibly a kernel bug), in which case we
    calculate an approximation for `available` memory which matches "free"
    CLI utility.
-   2164\_, \[Linux]: compilation fails on kernels < 2.6.27 (e.g. CentOS 5).
-   2186\_, \[FreeBSD]: compilation fails with Clang 15.  (patch by Po-Chuan Hsieh)
-   2191\_, \[Linux]: `disk_partitions()`*: do not unnecessarily read
    /proc/filesystems and raise `AccessDenied`* unless user specified `all=False`
    argument.
-   2216\_, \[Windows]: fix tests when running in a virtual environment (patch by
    Matthieu Darbois)
-   2225\_, \[POSIX]: `users()`\_ loses precision for `started` attribute (off by
    1 minute).
-   2229\_, \[OpenBSD]: unable to properly recognize zombie processes.
    `NoSuchProcess`\_ may be raised instead of `ZombieProcess`\_.
-   2231\_, \[NetBSD]: *available*  `virtual_memory()`\_ is higher than *total*.
-   2234\_, \[NetBSD]: `virtual_memory()`\_ metrics are wrong: *available* and
    *used* are too high. We now match values shown by *htop* CLI utility.
-   2236\_, \[NetBSD]: `Process.num_threads()`\_ and `Process.threads()`\_ return
    threads that are already terminated.
-   2237\_, \[OpenBSD], \[NetBSD]: `Process.cwd()`\_ may raise `FileNotFoundError`
    if cwd no longer exists. Return an empty string instead.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS41NC4wIiwidXBkYXRlZEluVmVyIjoiMzUuNTQuMCJ9-->

Reviewed-on: #17
Co-authored-by: Renovate <renovate@git.end-play.xyz>
Co-committed-by: Renovate <renovate@git.end-play.xyz>
2023-04-24 13:36:12 +03:00
7c8e07bbc9 Made some dependencies strict 2023-04-24 12:13:14 +02:00
ad653146e1 Update dependency pillow to ~=9.5.0 (#15)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [pillow](https://python-pillow.org) ([source](https://github.com/python-pillow/Pillow), [changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)) | minor | `~=9.4.0` -> `~=9.5.0` |

---

### Release Notes

<details>
<summary>python-pillow/Pillow</summary>

### [`v9.5.0`](https://github.com/python-pillow/Pillow/blob/HEAD/CHANGES.rst#&#8203;950-2023-04-01)

[Compare Source](https://github.com/python-pillow/Pillow/compare/9.4.0...9.5.0)

-   Added ImageSourceData to TAGS_V2 [#&#8203;7053](https://github.com/python-pillow/Pillow/issues/7053)
    \[radarhere]

-   Clear PPM half token after use [#&#8203;7052](https://github.com/python-pillow/Pillow/issues/7052)
    \[radarhere]

-   Removed absolute path to ldconfig [#&#8203;7044](https://github.com/python-pillow/Pillow/issues/7044)
    \[radarhere]

-   Support custom comments and PLT markers when saving JPEG2000 images [#&#8203;6903](https://github.com/python-pillow/Pillow/issues/6903)
    \[joshware, radarhere, hugovk]

-   Load before getting size in **array_interface** [#&#8203;7034](https://github.com/python-pillow/Pillow/issues/7034)
    \[radarhere]

-   Support creating BGR;15, BGR;16 and BGR;24 images, but drop support for BGR;32 [#&#8203;7010](https://github.com/python-pillow/Pillow/issues/7010)
    \[radarhere]

-   Consider transparency when applying APNG blend mask [#&#8203;7018](https://github.com/python-pillow/Pillow/issues/7018)
    \[radarhere]

-   Round duration when saving animated WebP images [#&#8203;6996](https://github.com/python-pillow/Pillow/issues/6996)
    \[radarhere]

-   Added reading of JPEG2000 comments [#&#8203;6909](https://github.com/python-pillow/Pillow/issues/6909)
    \[radarhere]

-   Decrement reference count [#&#8203;7003](https://github.com/python-pillow/Pillow/issues/7003)
    \[radarhere, nulano]

-   Allow libtiff_support_custom_tags to be missing [#&#8203;7020](https://github.com/python-pillow/Pillow/issues/7020)
    \[radarhere]

-   Improved I;16N support [#&#8203;6834](https://github.com/python-pillow/Pillow/issues/6834)
    \[radarhere]

-   Added QOI reading [#&#8203;6852](https://github.com/python-pillow/Pillow/issues/6852)
    \[radarhere, hugovk]

-   Added saving RGBA images as PDFs [#&#8203;6925](https://github.com/python-pillow/Pillow/issues/6925)
    \[radarhere]

-   Do not raise an error if os.environ does not contain PATH [#&#8203;6935](https://github.com/python-pillow/Pillow/issues/6935)
    \[radarhere, hugovk]

-   Close OleFileIO instance when closing or exiting FPX or MIC [#&#8203;7005](https://github.com/python-pillow/Pillow/issues/7005)
    \[radarhere]

-   Added **int** to IFDRational for Python >= 3.11 [#&#8203;6998](https://github.com/python-pillow/Pillow/issues/6998)
    \[radarhere]

-   Added memoryview support to Dib.frombytes() [#&#8203;6988](https://github.com/python-pillow/Pillow/issues/6988)
    \[radarhere, nulano]

-   Close file pointer copy in the libtiff encoder if still open [#&#8203;6986](https://github.com/python-pillow/Pillow/issues/6986)
    \[fcarron, radarhere]

-   Raise an error if ImageDraw co-ordinates are incorrectly ordered [#&#8203;6978](https://github.com/python-pillow/Pillow/issues/6978)
    \[radarhere]

-   Added "corners" argument to ImageDraw rounded_rectangle() [#&#8203;6954](https://github.com/python-pillow/Pillow/issues/6954)
    \[radarhere]

-   Added memoryview support to frombytes() [#&#8203;6974](https://github.com/python-pillow/Pillow/issues/6974)
    \[radarhere]

-   Allow comments in FITS images [#&#8203;6973](https://github.com/python-pillow/Pillow/issues/6973)
    \[radarhere]

-   Support saving PDF with different X and Y resolutions [#&#8203;6961](https://github.com/python-pillow/Pillow/issues/6961)
    \[jvanderneutstulen, radarhere, hugovk]

-   Fixed writing int as UNDEFINED tag [#&#8203;6950](https://github.com/python-pillow/Pillow/issues/6950)
    \[radarhere]

-   Raise an error if EXIF data is too long when saving JPEG [#&#8203;6939](https://github.com/python-pillow/Pillow/issues/6939)
    \[radarhere]

-   Handle more than one directory returned by pkg-config [#&#8203;6896](https://github.com/python-pillow/Pillow/issues/6896)
    \[sebastic, radarhere]

-   Do not retry past formats when loading all formats for the first time [#&#8203;6902](https://github.com/python-pillow/Pillow/issues/6902)
    \[radarhere]

-   Do not retry specified formats if they failed when opening [#&#8203;6893](https://github.com/python-pillow/Pillow/issues/6893)
    \[radarhere]

-   Do not unintentionally load TIFF format at first [#&#8203;6892](https://github.com/python-pillow/Pillow/issues/6892)
    \[radarhere]

-   Stop reading when EPS line becomes too long [#&#8203;6897](https://github.com/python-pillow/Pillow/issues/6897)
    \[radarhere]

-   Allow writing IFDRational to BYTE tag [#&#8203;6890](https://github.com/python-pillow/Pillow/issues/6890)
    \[radarhere]

-   Raise ValueError for BoxBlur filter with negative radius [#&#8203;6874](https://github.com/python-pillow/Pillow/issues/6874)
    \[hugovk, radarhere]

-   Support arbitrary number of loaded modules on Windows [#&#8203;6761](https://github.com/python-pillow/Pillow/issues/6761)
    \[javidcf, radarhere, nulano]

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS41NC4wIiwidXBkYXRlZEluVmVyIjoiMzUuNTQuMCJ9-->

Reviewed-on: #15
Co-authored-by: Renovate <renovate@git.end-play.xyz>
Co-committed-by: Renovate <renovate@git.end-play.xyz>
2023-04-20 16:04:39 +03:00
e5f80d9702 Updated Renovate config 2023-04-20 13:41:14 +02:00
6f03d5c18f Configure Renovate (#14)
Welcome to [Renovate](https://github.com/renovatebot/renovate)! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.

---
### Detected Package Files

 * `requirements.txt` (pip_requirements)

### Configuration Summary

Based on the default config's presets, Renovate will:

  - Start dependency updates only once this onboarding PR is merged
  - Enable Renovate Dependency Dashboard creation.
  - Use semantic commit type `fix` for dependencies and `chore` for all others if semantic commits are in use.
  - Ignore `node_modules`, `bower_components`, `vendor` and various test/tests directories.
  - Group known monorepo packages together.
  - Use curated list of recommended non-monorepo package groupings.
  - Apply crowd-sourced package replacement rules.
  - Apply crowd-sourced workarounds for known problems with packages.

🔡 Would you like to change the way Renovate is upgrading your dependencies? Simply edit the `.renovaterc` in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.

---

### What to Expect

It looks like your repository dependencies are already up-to-date and no Pull Requests will be necessary right away.

---

 Got questions? Check out Renovate's [Docs](https://docs.renovatebot.com/), particularly the Getting Started section.
If you need any further assistance then you can also [request help here](https://github.com/renovatebot/renovate/discussions).

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

Reviewed-on: #14
Co-authored-by: Renovate <renovate@git.end-play.xyz>
Co-committed-by: Renovate <renovate@git.end-play.xyz>
2023-04-20 14:40:36 +03:00
2b520760d3 Fixed branch name in Renovate config 2023-04-20 13:35:52 +02:00
9d340b32c1 Added Renovate config 2023-04-20 13:32:52 +02:00
4dd754055e Removed optional dependencies as a concept 2023-03-23 15:13:38 +01:00
ae654d686e TgCrypto is no longer optional dependency 2023-03-23 15:12:53 +01:00
af2bcd088f Album check returned 2023-03-22 15:52:34 +01:00
Profitroll
cc6523f604 Added updates checker 2023-03-22 11:03:03 +01:00
Profitroll
5ad52aa3f8 Changed aiohttp module location 2023-03-22 11:02:55 +01:00
Profitroll
45789ad013 Updates wiki init 2023-03-22 11:02:13 +01:00
Profitroll
4422a13ba9 Improved async context 2023-03-22 10:33:21 +01:00
f82c7b309f Added media removal 2023-03-21 14:34:25 +01:00
399fc5050d Updated user messages 2023-03-20 14:50:57 +01:00
56adb16a3e Replaced strings 2023-03-20 13:59:22 +01:00
1684c5177c Replaced /reboot with /shutdown 2023-03-20 13:56:18 +01:00
fba52bcfc4 Updated docs 2023-03-20 13:55:55 +01:00
20666fc0f8 Improved shutdown 2023-03-20 13:55:42 +01:00
03b6bbe039 Prototype: Files import 2023-03-20 12:03:03 +01:00
1749d49a52 Fixed enumerate error 2023-03-18 21:17:04 +01:00