31 Commits
v0.3.0 ... dev

Author SHA1 Message Date
db3fb9d32e Replaced ubuntu-latest with ubuntu-24.04
All checks were successful
build-docker / docker (push) Successful in 34s
2026-01-04 22:49:05 +01:00
9557d4ec8f Merge pull request 'Update dependency libbot to v4.4.1' (#44) from renovate/libbot-4.x into dev
All checks were successful
build-docker / docker (push) Successful in 51s
Reviewed-on: #44
2026-01-01 21:38:51 +02:00
b0611ff035 Added Docker CI actions
Some checks failed
build-docker / docker (push) Failing after 33s
2026-01-01 20:36:41 +01:00
8ad67d4dcc Update dependency libbot to v4.4.1 2026-01-01 21:13:26 +02:00
2d236dc9cd Merge pull request 'Update dependency redis to ~=7.1.0' (#43) from renovate/redis-7.x into dev
Reviewed-on: #43
2025-11-21 01:12:44 +02:00
0af2b07d09 Update dependency redis to ~=7.1.0 2025-11-19 18:11:29 +02:00
a60cc911d0 Merge pull request 'Update dependency redis to v7' (#42) from renovate/redis-7.x into dev
Reviewed-on: #42
2025-10-22 19:32:17 +03:00
e39dd51967 Update dependency redis to v7 2025-10-22 18:57:04 +03:00
4ca2e4cc79 Merge pull request 'Update dependency aiofiles to v25' (#41) from renovate/aiofiles-25.x into dev
Reviewed-on: #41
2025-10-11 00:41:22 +03:00
c8e2494b22 Update dependency aiofiles to v25 2025-10-10 00:24:50 +03:00
01a682635b Merge pull request 'Update dependency ujson to ~=5.11.0' (#40) from renovate/ujson-5.x into dev
Reviewed-on: #40
2025-08-22 16:44:03 +03:00
775445a02b Update dependency ujson to ~=5.11.0 2025-08-20 15:20:15 +03:00
71d620c163 Merge pull request 'Update dependency redis to ~=6.4.0' (#39) from renovate/redis-6.x into dev
Reviewed-on: #39
2025-08-07 12:10:29 +03:00
1497d959bf Update dependency redis to ~=6.4.0 2025-08-07 11:47:11 +03:00
8baec677fc Merge pull request 'Update dependency redis to ~=6.3.0' (#38) from renovate/redis-6.x into dev
Reviewed-on: #38
2025-08-05 11:50:51 +03:00
926f03a525 Update dependency redis to ~=6.3.0 2025-08-05 11:24:46 +03:00
79c1f5b147 Added support for cache prefixes and TTL 2025-07-09 16:49:01 +02:00
a468824d30 Merge pull request 'Update dependency libbot to v4.4.0' (#35) from renovate/libbot-4.x into dev
Reviewed-on: #35
2025-07-09 16:00:24 +03:00
efc17fba23 Update dependency libbot to v4.4.0 2025-07-09 16:00:14 +03:00
148f2901e4 Merge pull request 'Update dependency libbot to v4.3.0' (#34) from renovate/libbot-4.x into dev
Reviewed-on: #34
2025-07-08 15:45:33 +03:00
2853d0d66e Update dependency libbot to v4.3.0 2025-07-08 02:41:34 +03:00
cdae81a6ee Merge pull request 'Update dependency redis to ~=6.2.0' (#33) from renovate/redis-6.x into dev
Reviewed-on: #33
2025-05-28 11:09:11 +03:00
ad3eda601a Update dependency redis to ~=6.2.0 2025-05-28 08:53:49 +03:00
5efdee2752 Merge pull request 'Update dependency libbot to v4.2.0' (#32) from renovate/libbot-4.x into dev
Reviewed-on: #32
2025-05-18 20:26:43 +03:00
ab514cab11 Update dependency libbot to v4.2.0 2025-05-18 19:29:00 +03:00
6063452c64 Merge pull request 'Update dependency redis to ~=6.1.0' (#31) from renovate/redis-6.x into dev
Reviewed-on: #31
2025-05-13 16:06:16 +03:00
534c652bb5 Update dependency redis to ~=6.1.0 2025-05-13 16:05:25 +03:00
dda548b5fc Merge pull request 'Update dependency redis to v6' (#30) from renovate/redis-6.x into dev
Reviewed-on: #30
2025-04-30 23:21:04 +03:00
42cc6aa29e Update dependency redis to v6 2025-04-30 22:28:12 +03:00
c745405064 Update dependency redis to ~=5.3.0 (#29) 2025-04-30 18:53:55 +03:00
ecfde46f94 Update dependency redis to ~=5.3.0 2025-04-30 18:21:41 +03:00
7 changed files with 120 additions and 8 deletions

View File

@@ -0,0 +1,29 @@
name: build-docker-release
on:
release:
types: [ published ]
jobs:
docker:
runs-on: ubuntu-24.04
steps:
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.DOCKER_REGISTRY_FQDN }}
username: ${{ vars.DOCKER_REGISTRY_USERNAME }}
password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: ${{ vars.DOCKER_REGISTRY_FQDN }}/${{ vars.DOCKER_IMAGE_USERNAME }}/${{ vars.DOCKER_IMAGE_NAME }}:${{ gitea.REF_NAME }},${{ vars.DOCKER_REGISTRY_FQDN }}/${{ vars.DOCKER_IMAGE_USERNAME }}/${{ vars.DOCKER_IMAGE_NAME }}:latest
secrets: |
GIT_AUTH_TOKEN=${{ secrets.DOCKER_REGISTRY_TOKEN }}

View File

@@ -0,0 +1,31 @@
name: build-docker
on:
push:
branches:
- staging
- dev
jobs:
docker:
runs-on: ubuntu-24.04
steps:
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.DOCKER_REGISTRY_FQDN }}
username: ${{ vars.DOCKER_REGISTRY_USERNAME }}
password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: ${{ vars.DOCKER_REGISTRY_FQDN }}/${{ vars.DOCKER_IMAGE_USERNAME }}/${{ vars.DOCKER_IMAGE_NAME }}:${{ gitea.REF_NAME }}
secrets: |
GIT_AUTH_TOKEN=${{ secrets.DOCKER_REGISTRY_TOKEN }}

View File

@@ -105,6 +105,17 @@ contain data that shouldn't normally be logged.
As an experiment, Docker deployment option has been added.
### Starting the bot
1. Install MongoDB using the [official installation manual](https://www.mongodb.com/docs/manual/installation)
2. Download
the [configuration example file](https://git.end-play.xyz/HoloUA/Discord/src/branch/main/config_example.json) and
store it somewhere you would like your bot to access it
3. Complete the [configuration](#Configuration) step for this file
4. `docker run -d -v /path/to/config.json:/app/config.json --name holoua-discord git.end-play.xyz/holoua/holoua-discord`
## Building Docker images [Experimental]
### Building the image
1. `git clone https://git.end-play.xyz/HoloUA/Discord.git`

View File

@@ -1,5 +1,6 @@
import logging
from logging import Logger
from typing import Literal
from libbot.cache.classes import CacheMemcached, CacheRedis
from libbot.cache.manager import create_cache_client
@@ -16,5 +17,12 @@ class HoloBot(PycordBot):
self._set_cache_engine()
def _set_cache_engine(self) -> None:
if "cache" in self.config and self.config["cache"]["type"] is not None:
self.cache = create_cache_client(self.config, self.config["cache"]["type"])
cache_type: Literal["redis", "memcached"] | None = self.config["cache"]["type"]
if "cache" in self.config and cache_type is not None:
self.cache = create_cache_client(
self.config,
cache_type,
prefix=self.config["cache"][cache_type]["prefix"],
default_ttl_seconds=3600,
)

View File

@@ -25,10 +25,12 @@
"cache": {
"type": null,
"memcached": {
"uri": "127.0.0.1:11211"
"uri": "127.0.0.1:11211",
"prefix": null
},
"redis": {
"uri": "redis://127.0.0.1:6379/0"
"uri": "redis://127.0.0.1:6379/0",
"prefix": null
}
},
"logging": {

View File

@@ -0,0 +1,31 @@
import logging
from logging import Logger
from libbot.utils import config_set, config_delete
from mongodb_migrations.base import BaseMigration
logger: Logger = logging.getLogger(__name__)
class Migration(BaseMigration):
def upgrade(self):
try:
config_set("prefix", None, "cache", "memcached")
config_set("prefix", None, "cache", "redis")
except Exception as exc:
logger.error(
"Could not upgrade the config during migration '%s' due to: %s",
__name__,
exc,
)
def downgrade(self):
try:
config_delete("prefix", "cache", "redis")
config_delete("prefix", "cache", "memcached")
except Exception as exc:
logger.error(
"Could not downgrade the config during migration '%s' due to: %s",
__name__,
exc,
)

View File

@@ -2,12 +2,12 @@
aiohttp>=3.10.0
requests>=2.32.2
aiofiles~=24.1.0
aiofiles~=25.1.0
apscheduler>=3.10.0
async_pymongo==0.1.11
libbot[speed,pycord,cache]==4.1.0
libbot[speed,pycord,cache]==4.4.1
mongodb-migrations==1.3.1
pymemcache~=4.0.0
redis~=5.2.1
ujson~=5.10.0
redis~=7.1.0
ujson~=5.11.0
WaifuPicsPython==0.2.0