Compare commits
	
		
			44 Commits
		
	
	
		
			1.0.0
			...
			72d3ccded3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 72d3ccded3 | |||
| f30bd119df | |||
| 858fc062b3 | |||
| 6d622a70d3 | |||
| 4a0a6a4631 | |||
| 17c2acd77c | |||
| 27363522d3 | |||
| 1960b18058 | |||
| 91034cee09 | |||
| a4d3cffa93 | |||
| 809c6d4cb9 | |||
| 2fecbf2c31 | |||
| c439d5925f | |||
| 1777a32899 | |||
| 3e5301b2d8 | |||
| 653562b908 | |||
| 8025c31339 | |||
| ccf41bec79 | |||
| f75d8f2068 | |||
| da02aca7e4 | |||
| 3762f16c7e | |||
| b3099121ab | |||
| 6a750ee31b | |||
| 3c371ec074 | |||
| d818eafb9d | |||
| b4a5fdb258 | |||
| cf69436168 | |||
| ccf171e876 | |||
| 5a312bf660 | |||
| 0003255d7c | |||
| 27a4c140e4 | |||
| 3183461195 | |||
| cb4f8d870c | |||
| 7c447bb0f2 | |||
| 4debe4e2ba | |||
| 3cd3df3e5f | |||
| b4a631d4e4 | |||
| 7ba0247519 | |||
| 209e75fdcc | |||
| 3bca3f86eb | |||
| 657a8fa586 | |||
| 3c8a092f40 | |||
| 61bf508cea | |||
| 75ad07477a | 
@@ -15,7 +15,7 @@ __title__ = "bot"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -52,7 +52,7 @@ class Application(DiscordBotApplicationABC):
 | 
			
		||||
                self._api.join()
 | 
			
		||||
                return
 | 
			
		||||
 | 
			
		||||
            self._logger.trace(__name__, f"Try to start {DiscordBotService.__name__}")
 | 
			
		||||
            self._logger.info(__name__, f"Try to start {DiscordBotService.__name__}")
 | 
			
		||||
            await self._bot.start_async()
 | 
			
		||||
            await self._bot.stop_async()
 | 
			
		||||
        except Exception as e:
 | 
			
		||||
@@ -64,9 +64,9 @@ class Application(DiscordBotApplicationABC):
 | 
			
		||||
 | 
			
		||||
        self._is_stopping = True
 | 
			
		||||
        try:
 | 
			
		||||
            self._logger.trace(__name__, f"Try to stop {DiscordBotService.__name__}")
 | 
			
		||||
            self._logger.info(__name__, f"Try to stop {DiscordBotService.__name__}")
 | 
			
		||||
            await self._bot.close()
 | 
			
		||||
            self._logger.trace(__name__, f"Stopped {DiscordBotService.__name__}")
 | 
			
		||||
            self._logger.info(__name__, f"Stopped {DiscordBotService.__name__}")
 | 
			
		||||
        except Exception as e:
 | 
			
		||||
            self._logger.error(__name__, "stop failed", e)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "Sven Heidemann",
 | 
			
		||||
    "AuthorEmail": "sven.heidemann@sh-edraft.de",
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot.extension"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -39,6 +39,7 @@ class Program:
 | 
			
		||||
        )
 | 
			
		||||
        self.app: Application = await app_builder.build_async()
 | 
			
		||||
        await self.app.run_async()
 | 
			
		||||
        Console.write_line(f"[ INFO ] [ {__name__} ]: Finished app.run_async")
 | 
			
		||||
 | 
			
		||||
    async def stop(self):
 | 
			
		||||
        if self.app is None:
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.abc"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "",
 | 
			
		||||
    "AuthorEmail": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.configuration"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.controller"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.event"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.exception"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.filter"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.filter.discord"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.logging"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.model"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.model.discord"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.route"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.service"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_api.transformer"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_core"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_core.abc"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -2,9 +2,11 @@ from abc import ABC, abstractmethod
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from typing import Callable
 | 
			
		||||
 | 
			
		||||
import discord
 | 
			
		||||
from cpl_query.extension import List
 | 
			
		||||
from discord.ext.commands import Context
 | 
			
		||||
 | 
			
		||||
from bot_data.model.auto_role_rule import AutoRoleRule
 | 
			
		||||
from bot_data.model.user import User
 | 
			
		||||
from modules.base.configuration.base_server_settings import BaseServerSettings
 | 
			
		||||
 | 
			
		||||
@@ -59,3 +61,9 @@ class ClientUtilsABC(ABC):
 | 
			
		||||
    @abstractmethod
 | 
			
		||||
    def get_ontime_for_user(self, user: User) -> float:
 | 
			
		||||
        pass
 | 
			
		||||
 | 
			
		||||
    @abstractmethod
 | 
			
		||||
    async def react_to_message_by_auto_role_rule(
 | 
			
		||||
        self, discord_channel_id: int, discord_message_id: int, rule: AutoRoleRule, guild: discord.Guild
 | 
			
		||||
    ):
 | 
			
		||||
        pass
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,9 @@ class MessageServiceABC(ABC):
 | 
			
		||||
        self,
 | 
			
		||||
        channel: discord.TextChannel,
 | 
			
		||||
        message: Union[str, discord.Embed],
 | 
			
		||||
        without_tracking=True,
 | 
			
		||||
        is_persistent: bool = False,
 | 
			
		||||
        wait_before_delete: int = None,
 | 
			
		||||
        without_tracking=False,
 | 
			
		||||
    ):
 | 
			
		||||
        pass
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "Sven Heidemann",
 | 
			
		||||
    "AuthorEmail": "sven.heidemann@sh-edraft.de",
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_core.configuration"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_core.core_extension"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_core.events"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_core.exception"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_core.helper"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_core.logging"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_core.pipes"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_core.service"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ from cpl_core.time import TimeFormatSettings
 | 
			
		||||
from cpl_discord.service import DiscordBotServiceABC
 | 
			
		||||
from cpl_query.extension import List
 | 
			
		||||
from cpl_translation import TranslatePipe
 | 
			
		||||
from discord import Guild
 | 
			
		||||
from discord.ext.commands import Context
 | 
			
		||||
 | 
			
		||||
from bot_core.abc.client_utils_abc import ClientUtilsABC
 | 
			
		||||
@@ -23,6 +24,7 @@ from bot_data.abc.user_joined_voice_channel_repository_abc import (
 | 
			
		||||
from bot_data.abc.user_message_count_per_hour_repository_abc import (
 | 
			
		||||
    UserMessageCountPerHourRepositoryABC,
 | 
			
		||||
)
 | 
			
		||||
from bot_data.model.auto_role_rule import AutoRoleRule
 | 
			
		||||
from bot_data.model.user import User
 | 
			
		||||
from bot_data.model.user_message_count_per_hour import UserMessageCountPerHour
 | 
			
		||||
from modules.base.configuration.base_server_settings import BaseServerSettings
 | 
			
		||||
@@ -192,3 +194,27 @@ class ClientUtilsService(ClientUtilsABC):
 | 
			
		||||
            .sum(lambda join: (join.leaved_on - join.joined_on).total_seconds() / 3600),
 | 
			
		||||
            2,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    async def react_to_message_by_auto_role_rule(
 | 
			
		||||
        self, discord_channel_id: int, discord_message_id: int, rule: AutoRoleRule, guild: discord.Guild
 | 
			
		||||
    ):
 | 
			
		||||
        try:
 | 
			
		||||
            guild: Guild = self._bot.guilds.where(lambda g: g == guild).single()
 | 
			
		||||
            channel = guild.get_channel(discord_channel_id)
 | 
			
		||||
            message = await channel.fetch_message(discord_message_id)
 | 
			
		||||
            emoji = List(discord.Emoji, guild.emojis).where(lambda x: x.name == rule.emoji_name).single()
 | 
			
		||||
 | 
			
		||||
            if emoji is None:
 | 
			
		||||
                self._logger.debug(__name__, f"Emoji {rule.emoji_name} not found")
 | 
			
		||||
                return
 | 
			
		||||
            await message.add_reaction(emoji)
 | 
			
		||||
            self._logger.debug(
 | 
			
		||||
                __name__,
 | 
			
		||||
                f"Added reaction {rule.emoji_name} to message: {discord_message_id}",
 | 
			
		||||
            )
 | 
			
		||||
        except Exception as e:
 | 
			
		||||
            self._logger.error(
 | 
			
		||||
                __name__,
 | 
			
		||||
                f"Cannot add reaction {rule.emoji_name} to message: {discord_message_id}",
 | 
			
		||||
                e,
 | 
			
		||||
            )
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_data"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_data.abc"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "Sven Heidemann",
 | 
			
		||||
    "AuthorEmail": "sven.heidemann@sh-edraft.de",
 | 
			
		||||
 
 | 
			
		||||
@@ -27,6 +27,7 @@ from bot_data.abc.user_warnings_repository_abc import UserWarningsRepositoryABC
 | 
			
		||||
from bot_data.service.api_key_repository_service import ApiKeyRepositoryService
 | 
			
		||||
from bot_data.service.auth_user_repository_service import AuthUserRepositoryService
 | 
			
		||||
from bot_data.service.auto_role_repository_service import AutoRoleRepositoryService
 | 
			
		||||
from bot_data.service.cache_service import CacheService
 | 
			
		||||
from bot_data.service.client_repository_service import ClientRepositoryService
 | 
			
		||||
from bot_data.service.game_server_repository_service import GameServerRepositoryService
 | 
			
		||||
from bot_data.service.known_user_repository_service import KnownUserRepositoryService
 | 
			
		||||
@@ -56,6 +57,8 @@ class DataModule(ModuleABC):
 | 
			
		||||
        pass
 | 
			
		||||
 | 
			
		||||
    def configure_services(self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC):
 | 
			
		||||
        services.add_singleton(CacheService)
 | 
			
		||||
 | 
			
		||||
        services.add_transient(ApiKeyRepositoryABC, ApiKeyRepositoryService)
 | 
			
		||||
        services.add_transient(AuthUserRepositoryABC, AuthUserRepositoryService)
 | 
			
		||||
        services.add_transient(ServerRepositoryABC, ServerRepositoryService)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,5 @@
 | 
			
		||||
import time
 | 
			
		||||
 | 
			
		||||
from cpl_core.database import DatabaseSettings
 | 
			
		||||
from cpl_core.database.context import DatabaseContext
 | 
			
		||||
 | 
			
		||||
@@ -31,4 +33,9 @@ class DBContext(DatabaseContext):
 | 
			
		||||
            return super(DBContext, self).select(statement)
 | 
			
		||||
        except Exception as e:
 | 
			
		||||
            self._logger.error(__name__, f"Database error caused by {statement}", e)
 | 
			
		||||
            try:
 | 
			
		||||
                time.sleep(0.5)
 | 
			
		||||
                return self.select(statement)
 | 
			
		||||
            except Exception as e:
 | 
			
		||||
                pass
 | 
			
		||||
            return []
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_data.migration"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_data.model"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_data.service"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								kdb-bot/src/bot_data/service/cache_service.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								kdb-bot/src/bot_data/service/cache_service.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
from cpl_query.extension import List
 | 
			
		||||
 | 
			
		||||
from bot_data.model.server import Server
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CacheService:
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        self._cached_server = List(Server)
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def cached_server(self) -> List[Server]:
 | 
			
		||||
        return self._cached_server
 | 
			
		||||
 | 
			
		||||
    @cached_server.setter
 | 
			
		||||
    def cached_server(self, value: List[Server]):
 | 
			
		||||
        self._cached_server = value
 | 
			
		||||
@@ -8,12 +8,14 @@ from bot_core.logging.database_logger import DatabaseLogger
 | 
			
		||||
from bot_data.abc.server_repository_abc import ServerRepositoryABC
 | 
			
		||||
from bot_data.filtered_result import FilteredResult
 | 
			
		||||
from bot_data.model.server import Server
 | 
			
		||||
from bot_data.service.cache_service import CacheService
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ServerRepositoryService(ServerRepositoryABC):
 | 
			
		||||
    def __init__(self, logger: DatabaseLogger, db_context: DatabaseContextABC):
 | 
			
		||||
    def __init__(self, logger: DatabaseLogger, db_context: DatabaseContextABC, cache: CacheService):
 | 
			
		||||
        self._logger = logger
 | 
			
		||||
        self._context = db_context
 | 
			
		||||
        self._cache = cache
 | 
			
		||||
 | 
			
		||||
        ServerRepositoryABC.__init__(self)
 | 
			
		||||
 | 
			
		||||
@@ -24,6 +26,7 @@ class ServerRepositoryService(ServerRepositoryABC):
 | 
			
		||||
        for result in results:
 | 
			
		||||
            servers.append(Server(result[1], result[2], result[3], id=result[0]))
 | 
			
		||||
 | 
			
		||||
        self._cache.cached_server = List(Server, servers)
 | 
			
		||||
        return servers
 | 
			
		||||
 | 
			
		||||
    def get_filtered_servers(self, criteria: ServerSelectCriteria) -> FilteredResult:
 | 
			
		||||
@@ -52,11 +55,21 @@ class ServerRepositoryService(ServerRepositoryABC):
 | 
			
		||||
        return result
 | 
			
		||||
 | 
			
		||||
    def get_server_by_id(self, server_id: int) -> Server:
 | 
			
		||||
        cs = self._cache.cached_server.where(lambda x: x.id == server_id).single_or_default()
 | 
			
		||||
        if cs is not None:
 | 
			
		||||
            return cs
 | 
			
		||||
 | 
			
		||||
        self._logger.trace(__name__, f"Send SQL command: {Server.get_select_by_id_string(server_id)}")
 | 
			
		||||
        result = self._context.select(Server.get_select_by_id_string(server_id))[0]
 | 
			
		||||
        return Server(result[1], result[2], result[3], id=result[0])
 | 
			
		||||
        server = Server(result[1], result[2], result[3], id=result[0])
 | 
			
		||||
        self._cache.cached_server.add(server)
 | 
			
		||||
        return server
 | 
			
		||||
 | 
			
		||||
    def get_server_by_discord_id(self, discord_id: int) -> Server:
 | 
			
		||||
        cs = self._cache.cached_server.where(lambda x: x.discord_id == discord_id).single_or_default()
 | 
			
		||||
        if cs is not None:
 | 
			
		||||
            return cs
 | 
			
		||||
 | 
			
		||||
        self._logger.trace(
 | 
			
		||||
            __name__,
 | 
			
		||||
            f"Send SQL command: {Server.get_select_by_discord_id_string(discord_id)}",
 | 
			
		||||
@@ -65,6 +78,10 @@ class ServerRepositoryService(ServerRepositoryABC):
 | 
			
		||||
        return Server(result[1], result[2], result[3], id=result[0])
 | 
			
		||||
 | 
			
		||||
    def find_server_by_discord_id(self, discord_id: int) -> Optional[Server]:
 | 
			
		||||
        cs = self._cache.cached_server.where(lambda x: x.discord_id == discord_id).single_or_default()
 | 
			
		||||
        if cs is not None:
 | 
			
		||||
            return cs
 | 
			
		||||
 | 
			
		||||
        self._logger.trace(
 | 
			
		||||
            __name__,
 | 
			
		||||
            f"Send SQL command: {Server.get_select_by_discord_id_string(discord_id)}",
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_graphql"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_graphql.abc"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -135,7 +135,7 @@ class QueryABC(ObjectType):
 | 
			
		||||
                u: User = u
 | 
			
		||||
                guild = bot.get_guild(u.server.discord_id)
 | 
			
		||||
                member = guild.get_member(u.discord_id)
 | 
			
		||||
                if u.id == element.id or permissions.is_member_moderator(member):
 | 
			
		||||
                if u.id == element.user.id or permissions.is_member_moderator(member):
 | 
			
		||||
                    access = True
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
@@ -144,7 +144,7 @@ class QueryABC(ObjectType):
 | 
			
		||||
                u: User = u
 | 
			
		||||
                guild = bot.get_guild(u.server.discord_id)
 | 
			
		||||
                member = guild.get_member(u.discord_id)
 | 
			
		||||
                if u.id == element.id or permissions.is_member_moderator(member):
 | 
			
		||||
                if u.id == element.user.id or permissions.is_member_moderator(member):
 | 
			
		||||
                    access = True
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
@@ -153,7 +153,7 @@ class QueryABC(ObjectType):
 | 
			
		||||
                u: User = u
 | 
			
		||||
                guild = bot.get_guild(u.server.discord_id)
 | 
			
		||||
                member = guild.get_member(u.discord_id)
 | 
			
		||||
                if u.id == element.id or permissions.is_member_moderator(member):
 | 
			
		||||
                if u.id == element.user.id or permissions.is_member_moderator(member):
 | 
			
		||||
                    access = True
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "Sven Heidemann",
 | 
			
		||||
    "AuthorEmail": "sven.heidemann@sh-edraft.de",
 | 
			
		||||
@@ -16,10 +16,10 @@
 | 
			
		||||
    "LicenseName": "MIT",
 | 
			
		||||
    "LicenseDescription": "MIT, see LICENSE for more details.",
 | 
			
		||||
    "Dependencies": [
 | 
			
		||||
      "cpl-core>=1.0.0"
 | 
			
		||||
      "cpl-core>=1.0.3"
 | 
			
		||||
    ],
 | 
			
		||||
    "DevDependencies": [
 | 
			
		||||
      "cpl-cli>=1.0.0"
 | 
			
		||||
      "cpl-cli>=1.0.3"
 | 
			
		||||
    ],
 | 
			
		||||
    "PythonVersion": ">=3.10.4",
 | 
			
		||||
    "PythonPath": {},
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_graphql.filter"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_graphql.mutations"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
from cpl_core.database.context import DatabaseContextABC
 | 
			
		||||
from cpl_discord.service import DiscordBotServiceABC
 | 
			
		||||
 | 
			
		||||
from bot_core.abc.client_utils_abc import ClientUtilsABC
 | 
			
		||||
from bot_data.abc.auto_role_repository_abc import AutoRoleRepositoryABC
 | 
			
		||||
from bot_data.abc.server_repository_abc import ServerRepositoryABC
 | 
			
		||||
from bot_data.model.auto_role_rule import AutoRoleRule
 | 
			
		||||
@@ -10,15 +12,19 @@ from bot_graphql.abc.query_abc import QueryABC
 | 
			
		||||
class AutoRoleRuleMutation(QueryABC):
 | 
			
		||||
    def __init__(
 | 
			
		||||
        self,
 | 
			
		||||
        bot: DiscordBotServiceABC,
 | 
			
		||||
        servers: ServerRepositoryABC,
 | 
			
		||||
        auto_roles: AutoRoleRepositoryABC,
 | 
			
		||||
        db: DatabaseContextABC,
 | 
			
		||||
        client_utils: ClientUtilsABC,
 | 
			
		||||
    ):
 | 
			
		||||
        QueryABC.__init__(self, "AutoRoleRuleMutation")
 | 
			
		||||
 | 
			
		||||
        self._bot = bot
 | 
			
		||||
        self._servers = servers
 | 
			
		||||
        self._auto_roles = auto_roles
 | 
			
		||||
        self._db = db
 | 
			
		||||
        self._client_utils = client_utils
 | 
			
		||||
 | 
			
		||||
        self.set_field("createAutoRoleRule", self.resolve_create_auto_role_rule)
 | 
			
		||||
        self.set_field("updateAutoRoleRule", self.resolve_update_auto_role_rule)
 | 
			
		||||
@@ -40,6 +46,14 @@ class AutoRoleRuleMutation(QueryABC):
 | 
			
		||||
                and x.role_id == int(input["roleId"])
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
        self._bot.loop.create_task(
 | 
			
		||||
            self._client_utils.react_to_message_by_auto_role_rule(
 | 
			
		||||
                auto_role_rule.auto_role.discord_channel_id,
 | 
			
		||||
                auto_role_rule.auto_role.discord_message_id,
 | 
			
		||||
                auto_role_rule,
 | 
			
		||||
                self._bot.get_guild(auto_role_rule.auto_role.server.discord_id),
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
        return self._auto_roles.get_auto_role_rules_by_auto_role_id(auto_role_rule.auto_role.id).where(get_new).last()
 | 
			
		||||
 | 
			
		||||
    def resolve_update_auto_role_rule(self, *_, input: dict):
 | 
			
		||||
@@ -53,6 +67,14 @@ class AutoRoleRuleMutation(QueryABC):
 | 
			
		||||
        self._db.save_changes()
 | 
			
		||||
 | 
			
		||||
        auto_role_rule = self._auto_roles.get_auto_role_rule_by_id(input["id"])
 | 
			
		||||
        self._bot.loop.create_task(
 | 
			
		||||
            self._client_utils.react_to_message_by_auto_role_rule(
 | 
			
		||||
                auto_role_rule.auto_role.discord_channel_id,
 | 
			
		||||
                auto_role_rule.auto_role.discord_message_id,
 | 
			
		||||
                auto_role_rule,
 | 
			
		||||
                self._bot.get_guild(auto_role_rule.auto_role.server.discord_id),
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
        return auto_role_rule
 | 
			
		||||
 | 
			
		||||
    def resolve_delete_auto_role_rule(self, *_, id: int):
 | 
			
		||||
 
 | 
			
		||||
@@ -37,11 +37,13 @@ class UserMutation(QueryABC):
 | 
			
		||||
        user = self._users.get_user_by_id(input["id"])
 | 
			
		||||
        self._can_user_mutate_data(user.server, UserRoleEnum.moderator)
 | 
			
		||||
 | 
			
		||||
        new_xp = None
 | 
			
		||||
        if "levelId" in input:
 | 
			
		||||
            level = self._levels.get_level_by_id(input["levelId"])
 | 
			
		||||
            user.xp = level.min_xp
 | 
			
		||||
        else:
 | 
			
		||||
            user.xp = input["xp"] if "xp" in input else user.xp
 | 
			
		||||
            if user.level.id != level.id:
 | 
			
		||||
                new_xp = level.min_xp
 | 
			
		||||
 | 
			
		||||
        user.xp = new_xp if new_xp is not None else input["xp"] if "xp" in input else user.xp
 | 
			
		||||
 | 
			
		||||
        self._users.update_user(user)
 | 
			
		||||
        self._db.save_changes()
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_graphql.queries"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "bot_graphql.queries.discord"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.auto_role"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "",
 | 
			
		||||
    "AuthorEmail": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.auto_role.command"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ from cpl_discord.command import DiscordCommandABC
 | 
			
		||||
from cpl_discord.service import DiscordBotServiceABC
 | 
			
		||||
from cpl_query.extension import List
 | 
			
		||||
from cpl_translation import TranslatePipe
 | 
			
		||||
from discord import app_commands, Guild
 | 
			
		||||
from discord import app_commands
 | 
			
		||||
from discord.ext import commands
 | 
			
		||||
from discord.ext.commands import Context
 | 
			
		||||
 | 
			
		||||
@@ -312,26 +312,13 @@ class AutoRoleGroup(DiscordCommandABC):
 | 
			
		||||
            .where(lambda r: r.emoji_name == emoji.name and int(role_id) == role.id)
 | 
			
		||||
            .single()
 | 
			
		||||
        )
 | 
			
		||||
        try:
 | 
			
		||||
            guild: Guild = self._bot.guilds.where(lambda g: g == ctx.guild).single()
 | 
			
		||||
            channel = guild.get_channel(auto_role_from_db.discord_channel_id)
 | 
			
		||||
            message = await channel.fetch_message(auto_role_from_db.discord_message_id)
 | 
			
		||||
            emoji = List(discord.Emoji, guild.emojis).where(lambda x: x.name == rule.emoji_name).single()
 | 
			
		||||
 | 
			
		||||
            if emoji is None:
 | 
			
		||||
                self._logger.debug(__name__, f"Emoji {rule.emoji_name} not found")
 | 
			
		||||
                return
 | 
			
		||||
            await message.add_reaction(emoji)
 | 
			
		||||
            self._logger.debug(
 | 
			
		||||
                __name__,
 | 
			
		||||
                f"Added reaction {rule.emoji_name} to message: {auto_role_from_db.discord_message_id}",
 | 
			
		||||
            )
 | 
			
		||||
        except Exception as e:
 | 
			
		||||
            self._logger.error(
 | 
			
		||||
                __name__,
 | 
			
		||||
                f"Cannot add reaction {rule.emoji_name} to message: {auto_role_from_db.discord_message_id}",
 | 
			
		||||
                e,
 | 
			
		||||
        # as task to run in background
 | 
			
		||||
        self._bot.loop.create_task(
 | 
			
		||||
            await self._client_utils.react_to_message_by_auto_role_rule(
 | 
			
		||||
                auto_role_from_db.discord_channel_id, auto_role_from_db.discord_message_id, rule, ctx.guild
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        await self._message_service.send_ctx_msg(
 | 
			
		||||
            ctx,
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.auto_role.events"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.auto_role.helper"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.base"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.base.abc"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "",
 | 
			
		||||
    "AuthorEmail": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.base.command"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.base.configuration"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.base.events"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -102,6 +102,9 @@ class BaseOnVoiceStateUpdateEvent(OnVoiceStateUpdateABC):
 | 
			
		||||
        server = self._servers.get_server_by_discord_id(member.guild.id)
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            if before.channel == after.channel:
 | 
			
		||||
                return
 | 
			
		||||
 | 
			
		||||
            # join
 | 
			
		||||
            if (
 | 
			
		||||
                before.channel is None
 | 
			
		||||
 
 | 
			
		||||
@@ -52,12 +52,12 @@ class BaseOnVoiceStateUpdateEventScheduledEventBonus(OnVoiceStateUpdateABC):
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
        server = self._servers.get_server_by_discord_id(member.guild.id)
 | 
			
		||||
        user = self._users.get_user_by_discord_id_and_server_id(member.id, server.server_id)
 | 
			
		||||
        if active_event.participants.any(lambda x: x.user_id == user.user_id):
 | 
			
		||||
        user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id)
 | 
			
		||||
        if active_event.participants.any(lambda x: x.id == user.id):
 | 
			
		||||
            self._logger.debug(__name__, f"Module {type(self)} stopped")
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
        settings: BaseServerSettings = self._base_helper.get_config(server.discord_server_id)
 | 
			
		||||
        settings: BaseServerSettings = self._base_helper.get_config(server.discord_id)
 | 
			
		||||
        user.xp += settings.xp_per_event_participation
 | 
			
		||||
        self._users.update_user(user)
 | 
			
		||||
        self._db.save_changes()
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.base.helper"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.base.model"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.base.service"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -57,7 +57,9 @@ class UserWarningsService:
 | 
			
		||||
            else:
 | 
			
		||||
                translation = self._t.transform("modules.base.warnings.team_warned").format(member.mention, description)
 | 
			
		||||
 | 
			
		||||
            self._bot.loop.create_task(self._message_service.send_channel_message(channel, translation))
 | 
			
		||||
            self._bot.loop.create_task(
 | 
			
		||||
                self._message_service.send_channel_message(channel, translation, is_persistent=True)
 | 
			
		||||
            )
 | 
			
		||||
        except Exception as e:
 | 
			
		||||
            self._logger.error(__name__, f"Team notification for user warning failed!", e)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.base.thread"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.boot_log"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "",
 | 
			
		||||
    "AuthorEmail": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.boot_log.configuration"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.database"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "Sven Heidemann",
 | 
			
		||||
    "AuthorEmail": "sven.heidemann@sh-edraft.de",
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.level"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.level.command"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.level.configuration"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.level.events"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,4 +15,7 @@ class LevelOnMessageEvent(OnMessageABC):
 | 
			
		||||
    @EventChecks.check_is_ready()
 | 
			
		||||
    async def on_message(self, message: discord.Message):
 | 
			
		||||
        self._logger.debug(__name__, f"Module {type(self)} started")
 | 
			
		||||
        await self._level.check_level(message.author)
 | 
			
		||||
        try:
 | 
			
		||||
            await self._level.check_level(message.author)
 | 
			
		||||
        except Exception as e:
 | 
			
		||||
            self._logger.error(__name__, f"Level check by message failed", e)
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "",
 | 
			
		||||
    "AuthorEmail": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.level.service"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -58,10 +58,7 @@ class LevelService:
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
        notification_needed = False
 | 
			
		||||
        for role in member.roles:
 | 
			
		||||
            if role.name not in level_names.to_list():
 | 
			
		||||
                continue
 | 
			
		||||
 | 
			
		||||
        for role in member.roles.where(lambda r: r.name in level_names.to_list()):
 | 
			
		||||
            try:
 | 
			
		||||
                self._logger.debug(__name__, f"Try to remove role {role.name} from {member.name}")
 | 
			
		||||
                await member.remove_roles(role)
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.permission"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.permission.abc"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.permission.configuration"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.permission.events"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "",
 | 
			
		||||
    "AuthorEmail": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.permission.service"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.technician"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ __title__ = "modules.technician.command"
 | 
			
		||||
__author__ = "Sven Heidemann"
 | 
			
		||||
__license__ = "MIT"
 | 
			
		||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
 | 
			
		||||
__version__ = "1.0.0"
 | 
			
		||||
__version__ = "1.0.3"
 | 
			
		||||
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ from collections import namedtuple
 | 
			
		||||
# imports:
 | 
			
		||||
 | 
			
		||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="0")
 | 
			
		||||
version_info = VersionInfo(major="1", minor="0", micro="3")
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "",
 | 
			
		||||
    "AuthorEmail": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "Sven Heidemann",
 | 
			
		||||
    "AuthorEmail": "sven.heidemann@sh-edraft.de",
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "Sven Heidemann",
 | 
			
		||||
    "AuthorEmail": "sven.heidemann@sh-edraft.de",
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "Sven Heidemann",
 | 
			
		||||
    "AuthorEmail": "sven.heidemann@sh-edraft.de",
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    "Version": {
 | 
			
		||||
      "Major": "1",
 | 
			
		||||
      "Minor": "0",
 | 
			
		||||
      "Micro": "0"
 | 
			
		||||
      "Micro": "3"
 | 
			
		||||
    },
 | 
			
		||||
    "Author": "Sven Heidemann",
 | 
			
		||||
    "AuthorEmail": "sven.heidemann@sh-edraft.de",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "kdb-web",
 | 
			
		||||
    "version": "1.0.0",
 | 
			
		||||
    "version": "1.0.3",
 | 
			
		||||
    "scripts": {
 | 
			
		||||
        "ng": "ng",
 | 
			
		||||
        "update-version": "ts-node-esm update-version.ts",
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user