Compare commits

...

147 Commits
0.0.7 ... main

Author SHA1 Message Date
a87cb99240 Merge pull request '⬆️ Update dependency yarl to v1.17.1' (#66) from renovate/yarl-1.x into main
All checks were successful
ci / docker (push) Successful in 24s
Reviewed-on: #66
2024-11-07 09:41:19 +01:00
158002af0b Merge pull request '⬆️ Update dependency async-timeout to v5' (#67) from renovate/async-timeout-5.x into main
All checks were successful
ci / docker (push) Successful in 11s
Reviewed-on: #67
2024-11-07 09:40:41 +01:00
9c93508f4d ⬆️ Update dependency async-timeout to v5
All checks were successful
ci / docker (pull_request) Successful in 28s
2024-11-07 02:04:23 +00:00
2ea7baafa7 ⬆️ Update dependency yarl to v1.17.1
All checks were successful
ci / docker (pull_request) Successful in 27s
2024-10-31 02:03:50 +00:00
7684ac3bc3 Merge pull request '⬆️ Update dependency yarl to v1.17.0' (#65) from renovate/yarl-1.x into main
All checks were successful
ci / docker (push) Successful in 34s
Reviewed-on: #65
2024-10-29 14:32:34 +01:00
10f7d9dcb7 ⬆️ Update dependency yarl to v1.17.0
All checks were successful
ci / docker (pull_request) Successful in 27s
2024-10-29 02:09:47 +00:00
036603c622 Merge pull request '⬆️ Update dependency frozenlist to v1.5.0' (#64) from renovate/frozenlist-1.x into main
All checks were successful
ci / docker (push) Successful in 17s
Reviewed-on: #64
2024-10-25 09:30:50 +02:00
25496e2db1 ⬆️ Update dependency frozenlist to v1.5.0
All checks were successful
ci / docker (pull_request) Successful in 28s
2024-10-24 01:04:15 +00:00
7e3bf3542e Merge pull request '⬆️ Update dependency yarl to v1.16.0' (#63) from renovate/yarl-1.x into main
All checks were successful
ci / docker (push) Successful in 19s
Reviewed-on: #63
2024-10-22 10:50:13 +02:00
1b0c7157d6 ⬆️ Update dependency yarl to v1.16.0
All checks were successful
ci / docker (pull_request) Successful in 44s
2024-10-22 01:03:51 +00:00
2570abf2ad Merge pull request '⬆️ Update python Docker tag to v3.13' (#60) from renovate/python-3.x into main
All checks were successful
ci / docker (push) Successful in 26s
Reviewed-on: #60
2024-10-15 11:07:36 +02:00
732cf9d484 Merge pull request '⬆️ Update dependency charset-normalizer to v3.4.0' (#61) from renovate/charset-normalizer-3.x into main
All checks were successful
ci / docker (push) Successful in 35s
Reviewed-on: #61
2024-10-15 11:05:54 +02:00
e585dbb839 Merge pull request '⬆️ Update dependency pyparsing to v3.2.0' (#62) from renovate/pyparsing-3.x into main
Some checks failed
ci / docker (push) Has been cancelled
Reviewed-on: #62
2024-10-15 11:05:45 +02:00
9356185264 Merge pull request '⬆️ Update dependency aiohttp to v3.10.10' (#59) from renovate/aiohttp-3.x into main
Some checks failed
ci / docker (push) Has been cancelled
Reviewed-on: #59
2024-10-15 11:05:37 +02:00
82844a3bc3 Merge pull request '⬆️ Update dependency yarl to v1.15.2' (#58) from renovate/yarl-1.x into main
Some checks failed
ci / docker (push) Has been cancelled
Reviewed-on: #58
2024-10-15 11:05:22 +02:00
8065511ca3 ⬆️ Update dependency yarl to v1.15.2
All checks were successful
ci / docker (pull_request) Successful in 23s
2024-10-14 01:04:26 +00:00
376e766ae9 ⬆️ Update dependency pyparsing to v3.2.0
All checks were successful
ci / docker (pull_request) Successful in 13s
2024-10-14 01:04:23 +00:00
43e5b78c6d ⬆️ Update dependency aiohttp to v3.10.10
All checks were successful
ci / docker (pull_request) Successful in 26s
2024-10-11 01:04:43 +00:00
8c994de46a ⬆️ Update dependency charset-normalizer to v3.4.0
All checks were successful
ci / docker (pull_request) Successful in 34s
2024-10-10 01:04:31 +00:00
116448cc95 ⬆️ Update python Docker tag to v3.13
All checks were successful
ci / docker (pull_request) Successful in 44s
2024-10-08 01:09:41 +00:00
284f5d9592 Merge pull request '⬆️ Update dependency aiohttp to v3.10.6' (#57) from renovate/aiohttp-3.x into main
All checks were successful
ci / docker (push) Successful in 15s
Reviewed-on: #57
2024-09-25 10:31:40 +02:00
4039d7c02e ⬆️ Update dependency aiohttp to v3.10.6
All checks were successful
ci / docker (pull_request) Successful in 30s
2024-09-25 01:04:32 +00:00
ea9c07a428 Merge pull request '⬆️ Update dependency yarl to v1.12.1' (#56) from renovate/yarl-1.x into main
All checks were successful
ci / docker (push) Successful in 16s
Reviewed-on: #56
2024-09-24 14:20:42 +02:00
a0379e2a62 ⬆️ Update dependency yarl to v1.12.1
All checks were successful
ci / docker (pull_request) Successful in 32s
2024-09-24 01:04:35 +00:00
4115240506 Merge pull request '⬆️ Update dependency urllib3 to v2.2.3' (#54) from renovate/urllib3-2.x into main
All checks were successful
ci / docker (push) Successful in 25s
Reviewed-on: #54
2024-09-19 15:20:07 +02:00
a6857407be Merge pull request '⬆️ Update dependency idna to v3.10' (#55) from renovate/idna-3.x into main
Some checks are pending
ci / docker (push) Waiting to run
Reviewed-on: #55
2024-09-19 15:20:00 +02:00
c30eab2945 ⬆️ Update dependency idna to v3.10
All checks were successful
ci / docker (pull_request) Successful in 59s
2024-09-16 01:04:13 +00:00
a43885f0ca ⬆️ Update dependency urllib3 to v2.2.3
All checks were successful
ci / docker (pull_request) Successful in 42s
2024-09-13 01:04:17 +00:00
2f31ca22c6 Merge pull request '⬆️ Update dependency multidict to v6.1.0' (#53) from renovate/multidict-6.x into main
All checks were successful
ci / docker (push) Successful in 27s
Reviewed-on: #53
2024-09-10 15:57:56 +02:00
19ae9d1b81 Merge pull request '⬆️ Update dependency yarl to v1.11.1' (#52) from renovate/yarl-1.x into main
Some checks are pending
ci / docker (push) Waiting to run
Reviewed-on: #52
2024-09-10 15:57:49 +02:00
c37d874d8c ⬆️ Update dependency yarl to v1.11.1
All checks were successful
ci / docker (pull_request) Successful in 26s
2024-09-10 01:09:27 +00:00
1ff508162f ⬆️ Update dependency multidict to v6.1.0
All checks were successful
ci / docker (pull_request) Successful in 36s
2024-09-10 01:09:20 +00:00
179d108e6a Merge pull request '⬆️ Update dependency yarl to v1.9.10' (#51) from renovate/yarl-1.x into main
All checks were successful
ci / docker (push) Successful in 15s
Reviewed-on: #51
2024-09-05 09:24:14 +02:00
ceaa96ac21 ⬆️ Update dependency yarl to v1.9.10
All checks were successful
ci / docker (pull_request) Successful in 39s
2024-09-05 01:04:28 +00:00
78e904bd10 Merge pull request '⬆️ Update dependency certifi to v2024.8.30' (#49) from renovate/certifi-2024.x into main
All checks were successful
ci / docker (push) Successful in 37s
Reviewed-on: #49
2024-09-03 09:46:31 +02:00
a7de73957a Merge pull request '⬆️ Update dependency yarl to v1.9.7' (#50) from renovate/yarl-1.x into main
Some checks failed
ci / docker (push) Has been cancelled
Reviewed-on: #50
2024-09-03 09:46:23 +02:00
951793bf7f ⬆️ Update dependency yarl to v1.9.7
All checks were successful
ci / docker (pull_request) Successful in 26s
2024-09-02 01:09:39 +00:00
00b157c21a ⬆️ Update dependency certifi to v2024.8.30
All checks were successful
ci / docker (pull_request) Successful in 13s
2024-08-31 01:04:19 +00:00
aca4f7306d Merge pull request '⬆️ Update dependency idna to v3.8' (#47) from renovate/idna-3.x into main
All checks were successful
ci / docker (push) Successful in 36s
Reviewed-on: #47
2024-08-28 18:07:48 +02:00
089c32ad6f Merge pull request '⬆️ Update dependency pyparsing to v3.1.4' (#48) from renovate/pyparsing-3.x into main
Some checks are pending
ci / docker (push) Waiting to run
Reviewed-on: #48
2024-08-28 18:07:41 +02:00
c291cd674d ⬆️ Update dependency pyparsing to v3.1.4
All checks were successful
ci / docker (pull_request) Successful in 13s
2024-08-26 01:04:06 +00:00
8cda1029d0 ⬆️ Update dependency idna to v3.8
All checks were successful
ci / docker (pull_request) Successful in 13s
2024-08-24 01:04:01 +00:00
b77b0cc50d Merge pull request '⬆️ Update dependency aiohttp to v3.10.5' (#46) from renovate/aiohttp-3.x into main
All checks were successful
ci / docker (push) Successful in 14s
Reviewed-on: #46
2024-08-20 11:10:58 +02:00
6b5daaf154 ⬆️ Update dependency aiohttp to v3.10.5
All checks were successful
ci / docker (pull_request) Successful in 29s
2024-08-20 01:04:04 +00:00
c74b9fae2d Merge pull request '⬆️ Update dependency aiohttp to v3.10.4' (#45) from renovate/aiohttp-3.x into main
All checks were successful
ci / docker (push) Successful in 15s
Reviewed-on: #45
2024-08-18 11:19:43 +02:00
ccab852e25 ⬆️ Update dependency aiohttp to v3.10.4
All checks were successful
ci / docker (pull_request) Successful in 34s
2024-08-18 01:03:40 +00:00
215d3187ad Merge pull request '⬆️ Update dependency aiohttp to v3.10.3' (#44) from renovate/aiohttp-3.x into main
All checks were successful
ci / docker (push) Successful in 17s
Reviewed-on: #44
2024-08-13 10:25:43 +02:00
aa8b6ac403 ⬆️ Update dependency aiohttp to v3.10.3
All checks were successful
ci / docker (pull_request) Successful in 13s
2024-08-11 01:03:26 +00:00
e4fbdf6986 Merge pull request '⬆️ Update dependency aiohttp to v3.10.2' (#43) from renovate/aiohttp-3.x into main
All checks were successful
ci / docker (push) Successful in 17s
Reviewed-on: #43
2024-08-09 09:19:29 +02:00
6dc7501f6f ⬆️ Update dependency aiohttp to v3.10.2
All checks were successful
ci / docker (pull_request) Successful in 39s
2024-08-09 01:05:30 +00:00
202ce8d7e5 Merge pull request '⬆️ Update dependency attrs to v24.2.0' (#42) from renovate/attrs-24.x into main
All checks were successful
ci / docker (push) Successful in 45s
Reviewed-on: #42
2024-08-08 15:04:14 +02:00
f2a9acb6ca ⬆️ Update dependency attrs to v24.2.0
All checks were successful
ci / docker (pull_request) Successful in 29s
2024-08-07 01:09:31 +00:00
f9e8ba50c5 Merge pull request '⬆️ Update dependency attrs to v24' (#40) from renovate/attrs-24.x into main
All checks were successful
ci / docker (push) Successful in 26s
Reviewed-on: #40
2024-08-05 10:09:59 +02:00
f48524443b Merge pull request '⬆️ Update dependency aiohttp to v3.10.1' (#41) from renovate/aiohttp-3.x into main
Some checks failed
ci / docker (push) Has been cancelled
Reviewed-on: #41
2024-08-05 10:09:52 +02:00
0d99704345 ⬆️ Update dependency aiohttp to v3.10.1
All checks were successful
ci / docker (pull_request) Successful in 28s
2024-08-05 01:04:25 +00:00
360e2c4308 ⬆️ Update dependency attrs to v24
All checks were successful
ci / docker (pull_request) Successful in 53s
2024-08-04 01:10:39 +00:00
39e98e45c4 Merge pull request '⬆️ Update dependency aiohttp to v3.10.0' (#39) from renovate/aiohttp-3.x into main
All checks were successful
ci / docker (push) Successful in 21s
Reviewed-on: #39
2024-07-31 14:35:48 +02:00
aaba8b2cae ⬆️ Update dependency aiohttp to v3.10.0
All checks were successful
ci / docker (pull_request) Successful in 40s
2024-07-31 01:04:18 +00:00
2dfcaeadba Merge pull request '⬆️ Update dependency discord.py to v2.4.0' (#37) from renovate/discord.py-2.x into main
All checks were successful
ci / docker (push) Successful in 32s
Reviewed-on: #37
2024-07-08 17:24:49 +02:00
c57d65b402 Merge pull request '⬆️ Update dependency certifi to v2024.7.4' (#38) from renovate/certifi-2024.x into main
Some checks are pending
ci / docker (push) Waiting to run
Reviewed-on: #38
2024-07-08 17:24:43 +02:00
a08938ca38 ⬆️ Update dependency certifi to v2024.7.4
All checks were successful
ci / docker (pull_request) Successful in 47s
2024-07-05 01:05:15 +00:00
3499ddfe68 ⬆️ Update dependency discord.py to v2.4.0
All checks were successful
ci / docker (pull_request) Successful in 12s
2024-06-23 01:06:04 +00:00
b084c2e643 Merge pull request '⬆️ Update dependency urllib3 to v2.2.2' (#35) from renovate/urllib3-2.x into main
All checks were successful
ci / docker (push) Successful in 14s
Reviewed-on: #35
2024-06-20 12:25:10 +02:00
342ed840bc Merge pull request '⬆️ Update docker/build-push-action action to v6' (#36) from renovate/docker-build-push-action-6.x into main
Some checks failed
ci / docker (push) Failing after 14m16s
Reviewed-on: #36
2024-06-20 12:07:14 +02:00
241d989600 ⬆️ Update docker/build-push-action action to v6
All checks were successful
ci / docker (pull_request) Successful in 12s
2024-06-18 01:11:12 +00:00
f5e1ec2a51 ⬆️ Update dependency urllib3 to v2.2.2
All checks were successful
ci / docker (pull_request) Successful in 35s
2024-06-18 01:11:07 +00:00
54a9eaae6c Merge pull request '⬆️ Update dependency typing_extensions to v4.12.2' (#34) from renovate/typing_extensions-4.x into main
All checks were successful
ci / docker (push) Successful in 13s
Reviewed-on: #34
2024-06-10 12:10:19 +02:00
86446f22e6 ⬆️ Update dependency typing_extensions to v4.12.2
All checks were successful
ci / docker (pull_request) Successful in 35s
2024-06-10 10:09:11 +00:00
5cd7621065 Merge pull request '⬆️ Update dependency typing_extensions to v4.12.1' (#32) from renovate/typing_extensions-4.x into main
All checks were successful
ci / docker (push) Successful in 28s
Reviewed-on: #32
2024-06-05 09:59:12 +02:00
f52b555f6c Merge pull request '⬆️ Update dependency certifi to v2024.6.2' (#33) from renovate/certifi-2024.x into main
Some checks failed
ci / docker (push) Has been cancelled
Reviewed-on: #33
2024-06-05 09:59:04 +02:00
9156129790 ⬆️ Update dependency certifi to v2024.6.2
All checks were successful
ci / docker (pull_request) Successful in 11s
2024-06-03 01:05:51 +00:00
27beb67f5b ⬆️ Update dependency typing_extensions to v4.12.1
All checks were successful
ci / docker (pull_request) Successful in 32s
2024-06-02 01:12:26 +00:00
9015c6c4fd Merge pull request '⬆️ Update dependency requests to v2.32.3' (#31) from renovate/requests-2.x into main
All checks were successful
ci / docker (push) Successful in 39s
Reviewed-on: #31
2024-05-30 10:53:46 +02:00
5f32eebd6b ⬆️ Update dependency requests to v2.32.3
All checks were successful
ci / docker (pull_request) Successful in 28s
2024-05-30 01:05:48 +00:00
e1969bcae9 Merge pull request '⬆️ Update dependency requests to v2.32.2' (#29) from renovate/requests-2.x into main
All checks were successful
ci / docker (push) Successful in 26s
Reviewed-on: #29
2024-05-24 14:29:42 +02:00
343ef81e5e Merge pull request '⬆️ Update dependency typing_extensions to v4.12.0' (#30) from renovate/typing_extensions-4.x into main
Some checks failed
ci / docker (push) Has been cancelled
Reviewed-on: #30
2024-05-24 14:29:35 +02:00
84c29fd4b6 ⬆️ Update dependency typing_extensions to v4.12.0
All checks were successful
ci / docker (pull_request) Successful in 1m7s
2024-05-24 01:05:29 +00:00
bbb97828e1 ⬆️ Update dependency requests to v2.32.2
All checks were successful
ci / docker (pull_request) Successful in 26s
2024-05-22 01:12:18 +00:00
e4beb8ae64 Merge pull request '⬆️ Update dependency aiohttp to v3.9.5' (#28) from renovate/aiohttp-3.x into main
All checks were successful
ci / docker (push) Successful in 35s
Reviewed-on: #28
2024-05-16 09:25:10 +02:00
a738435020 ⬆️ Update dependency aiohttp to v3.9.5
All checks were successful
ci / docker (pull_request) Successful in 48s
2024-04-17 01:09:28 +00:00
c7b312b41f Merge pull request '⬆️ Update dependency idna to v3.7' (#27) from renovate/idna-3.x into main
All checks were successful
ci / docker (push) Successful in 22s
Reviewed-on: #27
2024-04-16 13:20:33 +02:00
82e220d920 Merge pull request '⬆️ Update dependency aiohttp to v3.9.4' (#26) from renovate/aiohttp-3.x into main
Some checks failed
ci / docker (push) Has been cancelled
Reviewed-on: #26
2024-04-16 13:20:26 +02:00
0c08a8c0b2 ⬆️ Update dependency idna to v3.7
All checks were successful
ci / docker (pull_request) Successful in 26s
2024-04-12 01:05:09 +00:00
c99f631220 ⬆️ Update dependency aiohttp to v3.9.4
All checks were successful
ci / docker (pull_request) Successful in 22s
2024-04-12 01:05:02 +00:00
f2a56448f7 Add .gitea/workflows/docker.yml
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci / docker (push) Successful in 1m2s
2024-04-11 10:35:45 +02:00
67e232ff33 Merge pull request '⬆️ Update dependency typing_extensions to v4.11.0' (#25) from renovate/typing_extensions-4.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #25
2024-04-11 09:20:09 +02:00
Renovate
0b63bb9915 ⬆️ Update dependency typing_extensions to v4.11.0
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-04-11 01:05:33 +00:00
ca2ebe0fe3 Merge pull request '⬆️ Update dependency pixivpy3 to v3.7.5' (#22) from renovate/pixivpy3-3.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #22
2024-03-07 09:56:30 +01:00
fe6ecdfa05 Merge pull request '⬆️ Update dependency pyparsing to v3.1.2' (#23) from renovate/pyparsing-3.x into main
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Reviewed-on: #23
2024-03-07 09:56:13 +01:00
Renovate
250524a936 ⬆️ Update dependency pyparsing to v3.1.2
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-03-07 02:07:02 +00:00
Renovate
b1228b458d ⬆️ Update dependency pixivpy3 to v3.7.5
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-03-04 02:05:19 +00:00
adcd7e92d3 Merge pull request '⬆️ Update dependency typing_extensions to v4.10.0' (#21) from renovate/typing_extensions-4.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #21
2024-02-27 13:57:41 +01:00
Renovate
7742051c45 ⬆️ Update dependency typing_extensions to v4.10.0
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-02-26 02:04:34 +00:00
a06aa2e307 Merge pull request '⬆️ Update dependency multidict to v6.0.5' (#18) from renovate/multidict-6.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #18
2024-02-22 09:02:24 +01:00
481bb06b73 Merge pull request '⬆️ Update dependency certifi to v2024' (#19) from renovate/certifi-2024.x into main
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Reviewed-on: #19
2024-02-22 09:02:14 +01:00
4c00f4f620 Merge pull request '⬆️ Update dependency urllib3 to v2.2.1' (#20) from renovate/urllib3-2.x into main
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Reviewed-on: #20
2024-02-22 09:02:02 +01:00
Renovate
ade474e035 ⬆️ Update dependency urllib3 to v2.2.1
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-02-19 02:04:47 +00:00
Renovate
4cbb59f8aa ⬆️ Update dependency certifi to v2024
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-02-02 02:12:32 +00:00
Renovate
0e4d60c466 ⬆️ Update dependency multidict to v6.0.5
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-02-02 02:12:24 +00:00
776f46a30b Merge pull request '⬆️ Update dependency aiohttp to v3.9.3' (#16) from renovate/aiohttp-3.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #16
2024-01-31 09:08:42 +01:00
b16383e856 Merge pull request '⬆️ Update dependency urllib3 to v2.2.0' (#17) from renovate/urllib3-2.x into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: #17
2024-01-31 09:08:32 +01:00
Renovate
cfb770d553 ⬆️ Update dependency urllib3 to v2.2.0
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-31 02:06:01 +00:00
Renovate
dabd9c37dd ⬆️ Update dependency aiohttp to v3.9.3
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-30 02:14:06 +00:00
8dd8ab0996 Fix python 3.12
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2024-01-25 11:54:17 +01:00
d57751e1a1 Merge pull request '⬆️ Update dependency typing_extensions to v4.9.0' (#14) from renovate/typing_extensions-4.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #14
2024-01-25 11:34:02 +01:00
62155703ae Merge pull request '⬆️ Update dependency idna to v3.6' (#12) from renovate/idna-3.x into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: #12
2024-01-25 11:33:55 +01:00
d7ab55a64a Merge pull request '⬆️ Update dependency attrs to v23.2.0' (#10) from renovate/attrs-23.x into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: #10
2024-01-25 11:33:46 +01:00
d9a5e50685 Merge pull request '⬆️ Update dependency yarl to v1.9.4' (#8) from renovate/yarl-1.x into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: #8
2024-01-25 11:33:35 +01:00
Renovate
6a4aaf76f7 ⬆️ Update dependency typing_extensions to v4.9.0
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2024-01-25 10:33:27 +00:00
Renovate
bd7758fce2 ⬆️ Update dependency idna to v3.6
Some checks failed
ci/woodpecker/pr/woodpecker Pipeline failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-25 10:33:22 +00:00
Renovate
19f4e88a07 ⬆️ Update dependency attrs to v23.2.0
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-25 10:33:18 +00:00
Renovate
98ca76d285 ⬆️ Update dependency yarl to v1.9.4
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-25 10:33:15 +00:00
cc6a8bd47c Merge pull request '⬆️ Update dependency aiohttp to v3.9.1' (#9) from renovate/aiohttp-3.x into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: #9
2024-01-25 11:32:14 +01:00
246e846052 Merge pull request '⬆️ Update dependency certifi to v2023.11.17' (#11) from renovate/certifi-2023.x into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: #11
2024-01-25 11:32:03 +01:00
afaa6e42ee Merge pull request '⬆️ Update dependency isort to v5.13.2' (#13) from renovate/isort-5.x into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: #13
2024-01-25 11:31:50 +01:00
36b895cf22 Merge pull request '⬆️ Update dependency urllib3 to v2.1.0' (#15) from renovate/urllib3-2.x into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: #15
2024-01-25 11:28:22 +01:00
a5b690b4af Merge pull request '⬆️ Update dependency frozenlist to v1.4.1' (#7) from renovate/frozenlist-1.x into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: #7
2024-01-25 11:28:09 +01:00
Renovate
2b2190a32b ⬆️ Update dependency urllib3 to v2.1.0
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-25 10:27:50 +00:00
Renovate
0b614ba907 ⬆️ Update dependency isort to v5.13.2
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-25 10:27:34 +00:00
Renovate
759a63a7d6 ⬆️ Update dependency certifi to v2023.11.17
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-25 10:27:24 +00:00
Renovate
501c77af7b ⬆️ Update dependency aiohttp to v3.9.1
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-25 10:27:11 +00:00
Renovate
8c47ae8a07 ⬆️ Update dependency frozenlist to v1.4.1
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-25 10:27:01 +00:00
b305825bf6 Merge pull request '⬆️ Update dependency charset-normalizer to v3.3.2' (#6) from renovate/charset-normalizer-3.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #6
2024-01-25 11:26:46 +01:00
Renovate
11bdc75857 ⬆️ Update dependency charset-normalizer to v3.3.2
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-01-25 10:25:49 +00:00
a7883d8edd Freeze deps
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-01-25 11:24:38 +01:00
311baa21e0 Add posts info on reply
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-01-25 11:13:49 +01:00
1900355cf2 Merge pull request '⬆️ Update dependency pixivpy3 to v3.7.4' (#4) from renovate/pixivpy3-3.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #4
2023-11-08 10:29:40 +01:00
Renovate
b80613e3d1 ⬆️ Update dependency pixivpy3 to v3.7.4
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2023-11-08 02:04:28 +00:00
1aecdc2d9c Stay on python 3.11 for now
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-11-02 22:38:53 +01:00
1ea6f9f871 aiohttp beta for python 3.12
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2023-11-02 22:36:07 +01:00
ff4b530b26 Switch to full image
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2023-11-02 22:32:16 +01:00
e61325fc1e Pin deps
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2023-11-02 22:27:25 +01:00
69f55616e2 Merge pull request '⬆️ Update python Docker tag to v3.12' (#2) from renovate/python-3.x into main
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Reviewed-on: #2
2023-11-02 22:25:03 +01:00
Renovate
4d7a91801b ⬆️ Update python Docker tag to v3.12
Some checks failed
ci/woodpecker/pr/woodpecker Pipeline failed
ci/woodpecker/push/woodpecker Pipeline failed
2023-11-02 21:23:08 +00:00
30df41f5a5 Update renovate.json
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-11-02 22:22:40 +01:00
ee75a9dbc0 Merge pull request 'Configure Renovate' (#1) from renovate/configure into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
Reviewed-on: #1
2023-11-02 22:21:05 +01:00
9759eb7bf4 Fix submited by for context menue
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2023-11-02 22:20:33 +01:00
Renovate
840f8a58c5 Add renovate.json
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-11-02 21:12:17 +00:00
703feb8ca3 Fix max thread to 10 because au pool size
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2023-11-02 21:42:14 +01:00
bc5683cd72 Fix async blocking state 2023-11-02 21:41:53 +01:00
f4e4c5dda4 Message formating
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-11-02 21:11:32 +01:00
2cb1539517 Fix crash 2
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2023-11-02 20:57:29 +01:00
82b9ee4a39 Fix crash
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2023-11-02 20:49:26 +01:00
1fd60f9207 Add artist name
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2023-11-02 16:29:28 +01:00
36591fda85 handle file size
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-11-02 16:15:41 +01:00
f23f6cc55f Add logging
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2023-11-02 12:02:03 +01:00
5912a8527f Add thread for multiple image
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-11-02 11:43:33 +01:00
7 changed files with 264 additions and 64 deletions

View File

@ -0,0 +1,48 @@
name: ci
on:
push:
branches:
- "*"
tags:
- "*"
pull_request:
branches:
- "main"
jobs:
docker:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
git.sebclem.fr/${{ gitea.repository }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
if: github.ref_type == 'tag'
uses: docker/login-action@v3
with:
registry: git.sebclem.fr
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
push: ${{ github.ref_type == 'tag' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

View File

@ -1,5 +1,5 @@
# For more information, please refer to https://aka.ms/vscode-docker-python
FROM python:3.10-slim
FROM python:3.13-alpine
# Keeps Python from generating .pyc files in the container
ENV PYTHONDONTWRITEBYTECODE=1
@ -7,6 +7,8 @@ ENV PYTHONDONTWRITEBYTECODE=1
# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1
RUN apk add build-base
# Install pip requirements
COPY requirements.txt .
RUN python -m pip install -r requirements.txt

8
renovate.json Normal file
View File

@ -0,0 +1,8 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
],
"commitMessagePrefix": ":arrow_up:"
}

View File

@ -1,2 +1,21 @@
pixivpy3
discord.py
pixivpy3==3.7.5
discord.py==2.4.0
# Freeze
aiohttp==3.10.10
aiosignal==1.3.1
async-timeout==5.0.1
attrs==24.2.0
certifi==2024.8.30
charset-normalizer==3.4.0
cloudscraper==1.2.71
frozenlist==1.5.0
idna==3.10
isort==5.13.2
multidict==6.1.0
pyparsing==3.2.0
requests==2.32.3
requests-toolbelt==1.0.0
typing_extensions==4.12.2
urllib3==2.2.3
yarl==1.17.1

View File

@ -1,33 +1,50 @@
import math
import os
from typing import List
import discord
from idna import intranges_contain
TIPS_MESSAGE = ":bulb: TIPS: You can disable Discord's default preview for link by wrapping it around `<` `>`"
IMAGE_NBR_LIMIT = 10
DEFAULT_UPLOAD_SIZE_LIMIT = 209715200
async def send_message(message: discord.Message, files, tmp_dir: str, muted: bool):
async def send_message(
message: discord.Message,
files,
tmp_dir: str,
muted: bool,
title: str,
art_author: str,
):
to_send_files = []
for file in files:
joined = os.path.join(tmp_dir, file)
to_send_files.append(discord.File(joined, file))
if len(to_send_files) > 10:
first = True
while len(to_send_files) > 10:
splited_file = to_send_files[:10]
to_send_files = to_send_files[10:]
if first:
await message.reply(
files=splited_file, content=(TIPS_MESSAGE if not muted else None)
)
first = False
else:
await message.channel.send(files=splited_file)
await message.channel.send(files=to_send_files)
else:
await message.reply(
files=to_send_files, content=(TIPS_MESSAGE if not muted else None)
)
upload_size_limit = (
message.guild.filesize_limit
if message.guild is not None
else DEFAULT_UPLOAD_SIZE_LIMIT
)
first = True
while len(to_send_files) > 0:
nbr_file_to_send = get_max_files_number(to_send_files, upload_size_limit)
splited_file = to_send_files[:nbr_file_to_send]
to_send_files = to_send_files[nbr_file_to_send:]
if first and nbr_file_to_send <= 0:
return
elif nbr_file_to_send <= 0:
# Next file is to big to be sent, skip it
to_send_files = to_send_files[1:]
elif first:
await message.reply(
files=splited_file,
content=f"**{title}** by `{art_author}` {chr(10) + TIPS_MESSAGE if not muted else ''}",
)
first = False
else:
await message.channel.send(files=splited_file) # type: ignore
async def send_command_reply(
@ -36,6 +53,7 @@ async def send_command_reply(
tmp_dir: str,
muted: bool,
title: str,
art_author: str,
url: str,
author: discord.User | discord.Member,
):
@ -43,23 +61,48 @@ async def send_command_reply(
for file in files:
joined = os.path.join(tmp_dir, file)
to_send_files.append(discord.File(joined, file))
if len(to_send_files) > 10:
if interaction.channel is not None:
first = True
while len(to_send_files) > 10:
splited_file = to_send_files[:10]
to_send_files = to_send_files[10:]
if first:
await interaction.followup.send(
files=splited_file,
content=f"{title} - Submited by {author.mention} - <{url}> {chr(10) + TIPS_MESSAGE if not muted else ''}",
)
first = False
else:
await interaction.channel.send(files=splited_file) # type: ignore
await interaction.channel.send(files=to_send_files) # type: ignore
else:
await interaction.followup.send(
files=to_send_files,
content=f"{title} - Submited by {author.mention} - <{url}> {chr(10) + TIPS_MESSAGE if not muted else ''}",
)
upload_size_limit = (
interaction.guild.filesize_limit
if interaction.guild is not None
else DEFAULT_UPLOAD_SIZE_LIMIT
)
first = True
while len(to_send_files) > 0:
nbr_file_to_send = get_max_files_number(to_send_files, upload_size_limit)
splited_file = to_send_files[:nbr_file_to_send]
to_send_files = to_send_files[nbr_file_to_send:]
if first and nbr_file_to_send <= 0:
await interaction.followup.send(
content=f"This image exceeds upload file size limit", ephemeral=True
)
elif nbr_file_to_send <= 0:
# Next file is to big to be sent, skip it
to_send_files = to_send_files[1:]
elif first:
await interaction.followup.send(
files=splited_file,
content=f"**{title}** by `{art_author}` - <{url}> - Submited by {author.mention} {chr(10) + TIPS_MESSAGE if not muted else ''}",
)
first = False
else:
await interaction.channel.send(files=splited_file) # type: ignore
def get_max_files_number(files: List[discord.File], size_limit: int):
size = 0
nbr = 0
for file in files:
size = size + os.path.getsize(file.fp.name) # type: ignore
nbr = nbr + 1
if nbr >= IMAGE_NBR_LIMIT and size < size_limit:
return IMAGE_NBR_LIMIT
elif size > size_limit:
# We exceeds size limit, remove one image
if nbr >= IMAGE_NBR_LIMIT:
return IMAGE_NBR_LIMIT - 1
else:
return nbr - 1
# We didn't reach any limit
return nbr

View File

@ -1,3 +1,5 @@
import asyncio
import logging
import os
from shlex import join
from tempfile import TemporaryDirectory
@ -8,13 +10,18 @@ import discord_tools.message
import discord_tools.pixiv_link_extractor
import pixiv.pixiv_api as pixiv_api
logging.basicConfig(
format="[%(asctime)s] [%(levelname)8s] %(name)s: %(message)s", level=logging.INFO
)
REFRESH_TOKEN = os.getenv("PIXIV_REFRESH_TOKEN")
if REFRESH_TOKEN is None:
print("Pixiv refresh token is missing, please set PIXIV_REFRESH_TOKEN")
logging.fatal("Pixiv refresh token is missing, please set PIXIV_REFRESH_TOKEN")
exit(1)
DISCORD_TOKEN = os.getenv("DISCORD_TOKEN")
if DISCORD_TOKEN is None:
print("Discord token is missing, please set DISCORD_TOKEN")
logging.fatal("Discord token is missing, please set DISCORD_TOKEN")
exit(1)
@ -36,7 +43,7 @@ client = MyClient(intents=intents)
@client.event
async def on_ready():
print(f"We have logged in as {client.user}")
logging.info(f"We have logged in as {client.user}")
@client.tree.command()
@ -49,15 +56,20 @@ async def pixivprev(interaction: discord.Interaction, url: str):
if result and match is not None:
await interaction.response.defer()
with TemporaryDirectory() as tmp_dir:
title = pixiv_api.dowload_pixiv_images(
int(match.group("id")), tmp_dir, REFRESH_TOKEN
loop = asyncio.get_running_loop()
data = await loop.run_in_executor(
None,
pixiv_api.download_pixiv_images,
int(match.group("id")),
tmp_dir,
REFRESH_TOKEN,
)
if title is None:
if data is None:
await interaction.response.send_message(
"Fail to extract pixiv image", ephemeral=True
)
return
(title, author) = data
files = os.listdir(tmp_dir)
files.sort()
await discord_tools.message.send_command_reply(
@ -66,6 +78,7 @@ async def pixivprev(interaction: discord.Interaction, url: str):
tmp_dir,
True,
title=title,
art_author=author,
url=url,
author=interaction.user,
)
@ -79,24 +92,31 @@ async def pixiv_preview(interaction: discord.Interaction, message: discord.Messa
if result and match is not None:
await interaction.response.defer()
with TemporaryDirectory() as tmp_dir:
title = pixiv_api.dowload_pixiv_images(
int(match.group("id")), tmp_dir, REFRESH_TOKEN
loop = asyncio.get_running_loop()
data = await loop.run_in_executor(
None,
pixiv_api.download_pixiv_images,
int(match.group("id")),
tmp_dir,
REFRESH_TOKEN,
)
if title is None:
if data is None:
await interaction.response.send_message(
"Fail to extract pixiv image", ephemeral=True
)
return
files = os.listdir(tmp_dir)
files.sort()
(title, author) = data
await discord_tools.message.send_command_reply(
interaction=interaction,
files=files,
tmp_dir=tmp_dir,
muted=muted,
title=title,
art_author=author,
url=match.group("url"),
author=interaction.user,
author=message.author,
)
else:
await interaction.response.send_message(
@ -106,7 +126,7 @@ async def pixiv_preview(interaction: discord.Interaction, message: discord.Messa
@client.event
async def on_guild_join(guild: discord.Guild):
print(f"Joined new guild: {guild.name}")
logging.info(f"Joined new guild: {guild.name}")
@client.event
@ -117,17 +137,25 @@ async def on_message(message: discord.Message):
if result and match is not None:
with TemporaryDirectory() as tmp_dir:
async with message.channel.typing():
title = pixiv_api.dowload_pixiv_images(
int(match.group("id")), tmp_dir, REFRESH_TOKEN
loop = asyncio.get_running_loop()
data = await loop.run_in_executor(
None,
pixiv_api.download_pixiv_images,
int(match.group("id")),
tmp_dir,
REFRESH_TOKEN,
)
if title is None:
if data is None:
return
(title, author) = data
files = os.listdir(tmp_dir)
files.sort()
# await send_message.send_message_with_embed(
# message, files, title, tmp_dir, match.group("url")
# )
await discord_tools.message.send_message(message, files, tmp_dir, muted)
await discord_tools.message.send_message(
message, files, tmp_dir, muted, title, author
)
client.run(DISCORD_TOKEN)

View File

@ -1,7 +1,19 @@
import logging
import os
import threading
from queue import Queue
from threading import Thread
from typing import List, Tuple, Union
import pixivpy3
cpu_count = os.cpu_count()
max_thread_num = cpu_count * 2 if cpu_count is not None else 4
if max_thread_num > 10:
max_thread_num = 10
def dowload_pixiv_images(
def download_pixiv_images(
illust_id: int,
dest_folder: str,
refresh_token: str,
@ -12,17 +24,57 @@ def dowload_pixiv_images(
json_result = api.illust_detail(illust_id)
illust = json_result.illust
if not illust["visible"]:
logging.info("Can't be viewed, return None")
return None
pages = illust["meta_pages"]
if len(pages) > 0:
print(f"Dowloading mutiple images to {dest_folder} ({len(pages)})")
logging.info(f"Dowloading mutiple images to {dest_folder} ({len(pages)})")
if max_thread_num > len(pages):
num_threads = len(pages)
else:
num_threads = max_thread_num
logging.info(f"Starting {num_threads} thread(s)")
workers: List[Thread] = []
q: Queue[Union[Tuple[str, str, pixivpy3.AppPixivAPI], None]] = Queue()
for i in range(num_threads):
worker = Thread(target=download_thread, args=(q,))
worker.setDaemon(True)
worker.start()
workers.append(worker)
for page in pages:
url = page["image_urls"]["original"]
api.download(url=url, path=dest_folder)
q.put((url, dest_folder, api))
q.join()
# Send end signal to all threads
for i in range(num_threads):
q.put(None)
# Wait for them to finish
for worker in workers:
worker.join()
else:
print(f"Dowloading single image to {dest_folder}")
logging.info(f"Dowloading single image to {dest_folder}")
api.download(
url=illust["meta_single_page"]["original_image_url"], path=dest_folder
)
print("Down4load finished !")
return illust["title"]
logging.info("Download finished !")
return (illust["title"], f"{illust['user']['name']} ({illust['user']['account']})")
def download_thread(q: Queue[Union[Tuple[str, str, pixivpy3.AppPixivAPI], None]]):
thread_name = threading.currentThread().getName()
while True:
data = q.get()
if data is None:
logging.debug(f"[{thread_name}] - Bye bye")
q.task_done()
break
(url, dest_folder, api) = data
logging.debug(f"[{thread_name}] - Downloading {url}...")
api.download(url=url, path=dest_folder)
print(f"[{thread_name}] - ... Done")
q.task_done()