Compare commits
	
		
			3 Commits
		
	
	
		
			1.1.7
			...
			25137c6923
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 25137c6923 | |||
| 74f3ee2f08 | |||
| 2e0c1babe4 | 
| @@ -16,7 +16,6 @@ | |||||||
|       "level": "src/modules/level/level.json", |       "level": "src/modules/level/level.json", | ||||||
|       "permission": "src/modules/permission/permission.json", |       "permission": "src/modules/permission/permission.json", | ||||||
|       "technician": "src/modules/technician/technician.json", |       "technician": "src/modules/technician/technician.json", | ||||||
|       "short-role-name": "src/modules/_short_role_name/modules/short-role-name.json", |  | ||||||
|       "checks": "tools/checks/checks.json", |       "checks": "tools/checks/checks.json", | ||||||
|       "get-version": "tools/get_version/get-version.json", |       "get-version": "tools/get_version/get-version.json", | ||||||
|       "post-build": "tools/post_build/post-build.json", |       "post-build": "tools/post_build/post-build.json", | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -4,12 +4,12 @@ | |||||||
|     "Version": { |     "Version": { | ||||||
|       "Major": "1", |       "Major": "1", | ||||||
|       "Minor": "1", |       "Minor": "1", | ||||||
|       "Micro": "7" |       "Micro": "6" | ||||||
|     }, |     }, | ||||||
|     "Author": "Sven Heidemann", |     "Author": "Sven Heidemann", | ||||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", |     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||||
|     "Description": "sh-edraft.de Discord bot", |     "Description": "Keksdose bot", | ||||||
|     "LongDescription": "Discord bot for customers of sh-edraft.de", |     "LongDescription": "Discord bot  for the Keksdose discord Server", | ||||||
|     "URL": "https://www.sh-edraft.de", |     "URL": "https://www.sh-edraft.de", | ||||||
|     "CopyrightDate": "2022 - 2023", |     "CopyrightDate": "2022 - 2023", | ||||||
|     "CopyrightName": "sh-edraft.de", |     "CopyrightName": "sh-edraft.de", | ||||||
| @@ -68,7 +68,6 @@ | |||||||
|       "../modules/database/database.json", |       "../modules/database/database.json", | ||||||
|       "../modules/level/level.json", |       "../modules/level/level.json", | ||||||
|       "../modules/permission/permission.json", |       "../modules/permission/permission.json", | ||||||
|       "../modules/short_role_name/short-role-name.json", |  | ||||||
|       "../modules/technician/technician.json" |       "../modules/technician/technician.json" | ||||||
|     ] |     ] | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot.extension" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -13,7 +13,6 @@ from modules.config.config_module import ConfigModule | |||||||
| from modules.database.database_module import DatabaseModule | from modules.database.database_module import DatabaseModule | ||||||
| from modules.level.level_module import LevelModule | from modules.level.level_module import LevelModule | ||||||
| from modules.permission.permission_module import PermissionModule | from modules.permission.permission_module import PermissionModule | ||||||
| from modules.short_role_name.short_role_name_module import ShortRoleNameModule |  | ||||||
| from modules.technician.technician_module import TechnicianModule | from modules.technician.technician_module import TechnicianModule | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -36,7 +35,6 @@ class ModuleList: | |||||||
|                 ApiModule, |                 ApiModule, | ||||||
|                 TechnicianModule, |                 TechnicianModule, | ||||||
|                 AchievementsModule, |                 AchievementsModule, | ||||||
|                 ShortRoleNameModule, |  | ||||||
|                 # has to be last! |                 # has to be last! | ||||||
|                 BootLogModule, |                 BootLogModule, | ||||||
|                 CoreExtensionModule, |                 CoreExtensionModule, | ||||||
|   | |||||||
| @@ -13,11 +13,9 @@ from bot_data.migration.config_feature_flags_migration import ConfigFeatureFlags | |||||||
| from bot_data.migration.config_migration import ConfigMigration | from bot_data.migration.config_migration import ConfigMigration | ||||||
| from bot_data.migration.db_history_migration import DBHistoryMigration | from bot_data.migration.db_history_migration import DBHistoryMigration | ||||||
| from bot_data.migration.default_role_migration import DefaultRoleMigration | from bot_data.migration.default_role_migration import DefaultRoleMigration | ||||||
| from bot_data.migration.fix_updates_migration import FixUpdatesMigration |  | ||||||
| from bot_data.migration.initial_migration import InitialMigration | from bot_data.migration.initial_migration import InitialMigration | ||||||
| from bot_data.migration.level_migration import LevelMigration | from bot_data.migration.level_migration import LevelMigration | ||||||
| from bot_data.migration.remove_stats_migration import RemoveStatsMigration | from bot_data.migration.remove_stats_migration import RemoveStatsMigration | ||||||
| from bot_data.migration.short_role_name_migration import ShortRoleNameMigration |  | ||||||
| from bot_data.migration.stats_migration import StatsMigration | from bot_data.migration.stats_migration import StatsMigration | ||||||
| from bot_data.migration.user_joined_game_server_migration import UserJoinedGameServerMigration | from bot_data.migration.user_joined_game_server_migration import UserJoinedGameServerMigration | ||||||
| from bot_data.migration.user_message_count_per_hour_migration import ( | from bot_data.migration.user_message_count_per_hour_migration import ( | ||||||
| @@ -52,5 +50,3 @@ class StartupMigrationExtension(StartupExtensionABC): | |||||||
|         services.add_transient(MigrationABC, ConfigMigration)  # 19.07.2023 #127 - 1.1.0 |         services.add_transient(MigrationABC, ConfigMigration)  # 19.07.2023 #127 - 1.1.0 | ||||||
|         services.add_transient(MigrationABC, ConfigFeatureFlagsMigration)  # 15.08.2023 #334 - 1.1.0 |         services.add_transient(MigrationABC, ConfigFeatureFlagsMigration)  # 15.08.2023 #334 - 1.1.0 | ||||||
|         services.add_transient(MigrationABC, DefaultRoleMigration)  # 24.09.2023 #360 - 1.1.3 |         services.add_transient(MigrationABC, DefaultRoleMigration)  # 24.09.2023 #360 - 1.1.3 | ||||||
|         services.add_transient(MigrationABC, ShortRoleNameMigration)  # 28.09.2023 #378 - 1.1.7 |  | ||||||
|         services.add_transient(MigrationABC, FixUpdatesMigration)  # 28.09.2023 #378 - 1.1.7 |  | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.abc" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|     "Version": { |     "Version": { | ||||||
|       "Major": "1", |       "Major": "1", | ||||||
|       "Minor": "1", |       "Minor": "1", | ||||||
|       "Micro": "7" |       "Micro": "6" | ||||||
|     }, |     }, | ||||||
|     "Author": "", |     "Author": "", | ||||||
|     "AuthorEmail": "", |     "AuthorEmail": "", | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.configuration" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.controller" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.event" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.exception" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.filter" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.filter.discord" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.logging" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.model" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.model.discord" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.route" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.service" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.transformer" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.abc" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|     "Version": { |     "Version": { | ||||||
|       "Major": "1", |       "Major": "1", | ||||||
|       "Minor": "1", |       "Minor": "1", | ||||||
|       "Micro": "7" |       "Micro": "6" | ||||||
|     }, |     }, | ||||||
|     "Author": "Sven Heidemann", |     "Author": "Sven Heidemann", | ||||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", |     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.configuration" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -16,11 +16,9 @@ class FeatureFlagsEnum(Enum): | |||||||
|     level_module = "LevelModule" |     level_module = "LevelModule" | ||||||
|     moderator_module = "ModeratorModule" |     moderator_module = "ModeratorModule" | ||||||
|     permission_module = "PermissionModule" |     permission_module = "PermissionModule" | ||||||
|     short_role_name_module = "ShortRoleNameModule" |  | ||||||
|     # features |     # features | ||||||
|     api_only = "ApiOnly" |     api_only = "ApiOnly" | ||||||
|     presence = "Presence" |     presence = "Presence" | ||||||
|     version_in_presence = "VersionInPresence" |     version_in_presence = "VersionInPresence" | ||||||
|     game_server = "GameServer" |     game_server = "GameServer" | ||||||
|     sync_xp = "SyncXp" |     sync_xp = "SyncXp" | ||||||
|     short_role_name = "ShortRoleName" |  | ||||||
|   | |||||||
| @@ -18,14 +18,12 @@ class FeatureFlagsSettings(ConfigurationModelABC): | |||||||
|         FeatureFlagsEnum.moderator_module.value: False,  # 02.10.2022 #48 |         FeatureFlagsEnum.moderator_module.value: False,  # 02.10.2022 #48 | ||||||
|         FeatureFlagsEnum.permission_module.value: True,  # 02.10.2022 #48 |         FeatureFlagsEnum.permission_module.value: True,  # 02.10.2022 #48 | ||||||
|         FeatureFlagsEnum.config_module.value: True,  # 19.07.2023 #127 |         FeatureFlagsEnum.config_module.value: True,  # 19.07.2023 #127 | ||||||
|         FeatureFlagsEnum.short_role_name_module.value: True,  # 28.09.2023 #378 |  | ||||||
|         # features |         # features | ||||||
|         FeatureFlagsEnum.api_only.value: False,  # 13.10.2022 #70 |         FeatureFlagsEnum.api_only.value: False,  # 13.10.2022 #70 | ||||||
|         FeatureFlagsEnum.presence.value: True,  # 03.10.2022 #56 |         FeatureFlagsEnum.presence.value: True,  # 03.10.2022 #56 | ||||||
|         FeatureFlagsEnum.version_in_presence.value: False,  # 21.03.2023 #253 |         FeatureFlagsEnum.version_in_presence.value: False,  # 21.03.2023 #253 | ||||||
|         FeatureFlagsEnum.game_server.value: False,  # 25.09.2023 #366 |         FeatureFlagsEnum.game_server.value: False,  # 25.09.2023 #366 | ||||||
|         FeatureFlagsEnum.sync_xp.value: False,  # 25.09.2023 #366 |         FeatureFlagsEnum.sync_xp.value: False,  # 25.09.2023 #366 | ||||||
|         FeatureFlagsEnum.short_role_name.value: False,  # 28.09.2023 #378 |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     def __init__(self, **kwargs: dict): |     def __init__(self, **kwargs: dict): | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.core_extension" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.events" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.exception" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.helper" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.logging" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.pipes" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.service" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ from bot_data.model.server_config import ServerConfig | |||||||
| from bot_data.model.user import User | from bot_data.model.user import User | ||||||
| from bot_data.model.user_joined_server import UserJoinedServer | from bot_data.model.user_joined_server import UserJoinedServer | ||||||
| from bot_data.model.user_joined_voice_channel import UserJoinedVoiceChannel | from bot_data.model.user_joined_voice_channel import UserJoinedVoiceChannel | ||||||
|  | from bot_data.service.seeder_service import SeederService | ||||||
| from bot_data.service.user_repository_service import ServerRepositoryABC | from bot_data.service.user_repository_service import ServerRepositoryABC | ||||||
| from modules.achievements.achievement_service import AchievementService | from modules.achievements.achievement_service import AchievementService | ||||||
|  |  | ||||||
| @@ -33,6 +34,7 @@ class DataIntegrityService: | |||||||
|         self, |         self, | ||||||
|         config: ConfigurationABC, |         config: ConfigurationABC, | ||||||
|         logger: DatabaseLogger, |         logger: DatabaseLogger, | ||||||
|  |         seeder: SeederService, | ||||||
|         bot: DiscordBotServiceABC, |         bot: DiscordBotServiceABC, | ||||||
|         db_context: DatabaseContextABC, |         db_context: DatabaseContextABC, | ||||||
|         server_repo: ServerRepositoryABC, |         server_repo: ServerRepositoryABC, | ||||||
| @@ -49,6 +51,7 @@ class DataIntegrityService: | |||||||
|         self._config = config |         self._config = config | ||||||
|  |  | ||||||
|         self._logger = logger |         self._logger = logger | ||||||
|  |         self._seeder = seeder | ||||||
|         self._bot = bot |         self._bot = bot | ||||||
|         self._db_context = db_context |         self._db_context = db_context | ||||||
|         self._servers = server_repo |         self._servers = server_repo | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_data" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_data.abc" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,20 +1,13 @@ | |||||||
| import os |  | ||||||
| from abc import ABC, abstractmethod | from abc import ABC, abstractmethod | ||||||
|  |  | ||||||
| from cpl_core.dependency_injection import ServiceProviderABC |  | ||||||
| from mysql.connector.cursor import MySQLCursorBuffered |  | ||||||
|  |  | ||||||
| from bot_data.db_context import DBContext |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class MigrationABC(ABC): | class MigrationABC(ABC): | ||||||
|     name = None |     name = None | ||||||
|     prio = 0 |     prio = 0 | ||||||
|  |  | ||||||
|     @abstractmethod |     @abstractmethod | ||||||
|     @ServiceProviderABC.inject |     def __init__(self): | ||||||
|     def __init__(self, db: DBContext): |         pass | ||||||
|         self._cursor: MySQLCursorBuffered = db.cursor |  | ||||||
|  |  | ||||||
|     @abstractmethod |     @abstractmethod | ||||||
|     def upgrade(self): |     def upgrade(self): | ||||||
| @@ -23,10 +16,3 @@ class MigrationABC(ABC): | |||||||
|     @abstractmethod |     @abstractmethod | ||||||
|     def downgrade(self): |     def downgrade(self): | ||||||
|         pass |         pass | ||||||
|  |  | ||||||
|     def _exec(self, self_file: str, file: str): |  | ||||||
|         path = f"{os.path.dirname(os.path.realpath(self_file))}/db_history_scripts" |  | ||||||
|         sql = open(f"{path}/{file}").read() |  | ||||||
|  |  | ||||||
|         for statement in sql.split("\n\n"): |  | ||||||
|             self._cursor.execute(statement + ";") |  | ||||||
|   | |||||||
| @@ -1,39 +0,0 @@ | |||||||
| from abc import ABC, abstractmethod |  | ||||||
|  |  | ||||||
| from cpl_query.extension import List |  | ||||||
|  |  | ||||||
| from bot_data.model.short_role_name import ShortRoleName |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class ShortRoleNameRepositoryABC(ABC): |  | ||||||
|     @abstractmethod |  | ||||||
|     def __init__(self): |  | ||||||
|         pass |  | ||||||
|  |  | ||||||
|     @abstractmethod |  | ||||||
|     def get_short_role_names(self) -> List[ShortRoleName]: |  | ||||||
|         pass |  | ||||||
|  |  | ||||||
|     @abstractmethod |  | ||||||
|     def get_short_role_name_by_id(self, id: int) -> ShortRoleName: |  | ||||||
|         pass |  | ||||||
|  |  | ||||||
|     @abstractmethod |  | ||||||
|     def find_short_role_names_by_role_id(self, role_id: int) -> List[ShortRoleName]: |  | ||||||
|         pass |  | ||||||
|  |  | ||||||
|     @abstractmethod |  | ||||||
|     def get_short_role_names_by_server_id(self, id: int) -> List[ShortRoleName]: |  | ||||||
|         pass |  | ||||||
|  |  | ||||||
|     @abstractmethod |  | ||||||
|     def add_short_role_name(self, short_role_name: ShortRoleName): |  | ||||||
|         pass |  | ||||||
|  |  | ||||||
|     @abstractmethod |  | ||||||
|     def update_short_role_name(self, short_role_name: ShortRoleName): |  | ||||||
|         pass |  | ||||||
|  |  | ||||||
|     @abstractmethod |  | ||||||
|     def delete_short_role_name(self, short_role_name: ShortRoleName): |  | ||||||
|         pass |  | ||||||
| @@ -4,7 +4,7 @@ | |||||||
|     "Version": { |     "Version": { | ||||||
|       "Major": "1", |       "Major": "1", | ||||||
|       "Minor": "1", |       "Minor": "1", | ||||||
|       "Micro": "7" |       "Micro": "6" | ||||||
|     }, |     }, | ||||||
|     "Author": "Sven Heidemann", |     "Author": "Sven Heidemann", | ||||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", |     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||||
|   | |||||||
| @@ -16,7 +16,6 @@ from bot_data.abc.known_user_repository_abc import KnownUserRepositoryABC | |||||||
| from bot_data.abc.level_repository_abc import LevelRepositoryABC | from bot_data.abc.level_repository_abc import LevelRepositoryABC | ||||||
| from bot_data.abc.server_config_repository_abc import ServerConfigRepositoryABC | from bot_data.abc.server_config_repository_abc import ServerConfigRepositoryABC | ||||||
| from bot_data.abc.server_repository_abc import ServerRepositoryABC | from bot_data.abc.server_repository_abc import ServerRepositoryABC | ||||||
| from bot_data.abc.short_role_name_repository_abc import ShortRoleNameRepositoryABC |  | ||||||
| from bot_data.abc.technician_config_repository_abc import TechnicianConfigRepositoryABC | from bot_data.abc.technician_config_repository_abc import TechnicianConfigRepositoryABC | ||||||
| from bot_data.abc.user_game_ident_repository_abc import UserGameIdentRepositoryABC | from bot_data.abc.user_game_ident_repository_abc import UserGameIdentRepositoryABC | ||||||
| from bot_data.abc.user_joined_game_server_repository_abc import UserJoinedGameServerRepositoryABC | from bot_data.abc.user_joined_game_server_repository_abc import UserJoinedGameServerRepositoryABC | ||||||
| @@ -42,7 +41,6 @@ from bot_data.service.seeder_service import SeederService | |||||||
| from bot_data.service.server_config_repository_service import ServerConfigRepositoryService | from bot_data.service.server_config_repository_service import ServerConfigRepositoryService | ||||||
| from bot_data.service.server_config_seeder import ServerConfigSeeder | from bot_data.service.server_config_seeder import ServerConfigSeeder | ||||||
| from bot_data.service.server_repository_service import ServerRepositoryService | from bot_data.service.server_repository_service import ServerRepositoryService | ||||||
| from bot_data.service.short_role_name_repository_service import ShortRoleNameRepositoryService |  | ||||||
| from bot_data.service.technician_config_repository_service import TechnicianConfigRepositoryService | from bot_data.service.technician_config_repository_service import TechnicianConfigRepositoryService | ||||||
| from bot_data.service.technician_config_seeder import TechnicianConfigSeeder | from bot_data.service.technician_config_seeder import TechnicianConfigSeeder | ||||||
| from bot_data.service.user_game_ident_repository_service import UserGameIdentRepositoryService | from bot_data.service.user_game_ident_repository_service import UserGameIdentRepositoryService | ||||||
| @@ -91,7 +89,6 @@ class DataModule(ModuleABC): | |||||||
|         services.add_transient(AchievementRepositoryABC, AchievementRepositoryService) |         services.add_transient(AchievementRepositoryABC, AchievementRepositoryService) | ||||||
|         services.add_transient(TechnicianConfigRepositoryABC, TechnicianConfigRepositoryService) |         services.add_transient(TechnicianConfigRepositoryABC, TechnicianConfigRepositoryService) | ||||||
|         services.add_transient(ServerConfigRepositoryABC, ServerConfigRepositoryService) |         services.add_transient(ServerConfigRepositoryABC, ServerConfigRepositoryService) | ||||||
|         services.add_transient(ShortRoleNameRepositoryABC, ShortRoleNameRepositoryService) |  | ||||||
|  |  | ||||||
|         services.add_transient(SeederService) |         services.add_transient(SeederService) | ||||||
|         services.add_transient(DataSeederABC, TechnicianConfigSeeder) |         services.add_transient(DataSeederABC, TechnicianConfigSeeder) | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_data.migration" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,3 +1,5 @@ | |||||||
|  | import os | ||||||
|  |  | ||||||
| from bot_core.logging.database_logger import DatabaseLogger | from bot_core.logging.database_logger import DatabaseLogger | ||||||
| from bot_data.abc.migration_abc import MigrationABC | from bot_data.abc.migration_abc import MigrationABC | ||||||
| from bot_data.db_context import DBContext | from bot_data.db_context import DBContext | ||||||
| @@ -10,18 +12,26 @@ class ConfigMigration(MigrationABC): | |||||||
|         MigrationABC.__init__(self) |         MigrationABC.__init__(self) | ||||||
|         self._logger = logger |         self._logger = logger | ||||||
|         self._db = db |         self._db = db | ||||||
|  |         self._cursor = db.cursor | ||||||
|  |  | ||||||
|  |     def _exec(self, file: str): | ||||||
|  |         path = f"{os.path.dirname(os.path.realpath(__file__))}/db_history_scripts" | ||||||
|  |         sql = open(f"{path}/{file}").read() | ||||||
|  |  | ||||||
|  |         for statement in sql.split("\n\n"): | ||||||
|  |             self._cursor.execute(statement + ";") | ||||||
|  |  | ||||||
|     def upgrade(self): |     def upgrade(self): | ||||||
|         self._logger.debug(__name__, "Running upgrade") |         self._logger.debug(__name__, "Running upgrade") | ||||||
|         self._server_upgrade() |         self._server_upgrade() | ||||||
|         self._technician_upgrade() |         self._technician_upgrade() | ||||||
|  |  | ||||||
|         self._exec(__file__, "config/server.sql") |         self._exec("config/server.sql") | ||||||
|         self._exec(__file__, "config/server_afk_channels.sql") |         self._exec("config/server_afk_channels.sql") | ||||||
|         self._exec(__file__, "config/server_team_roles.sql") |         self._exec("config/server_team_roles.sql") | ||||||
|         self._exec(__file__, "config/technician.sql") |         self._exec("config/technician.sql") | ||||||
|         self._exec(__file__, "config/technician_ids.sql") |         self._exec("config/technician_ids.sql") | ||||||
|         self._exec(__file__, "config/technician_ping_urls.sql") |         self._exec("config/technician_ping_urls.sql") | ||||||
|  |  | ||||||
|     def _server_upgrade(self): |     def _server_upgrade(self): | ||||||
|         self._cursor.execute( |         self._cursor.execute( | ||||||
|   | |||||||
| @@ -1,3 +1,5 @@ | |||||||
|  | import os | ||||||
|  |  | ||||||
| from bot_core.logging.database_logger import DatabaseLogger | from bot_core.logging.database_logger import DatabaseLogger | ||||||
| from bot_data.abc.migration_abc import MigrationABC | from bot_data.abc.migration_abc import MigrationABC | ||||||
| from bot_data.db_context import DBContext | from bot_data.db_context import DBContext | ||||||
| @@ -13,26 +15,33 @@ class DBHistoryMigration(MigrationABC): | |||||||
|         self._db = db |         self._db = db | ||||||
|         self._cursor = db.cursor |         self._cursor = db.cursor | ||||||
|  |  | ||||||
|  |     def _exec(self, file: str): | ||||||
|  |         path = f"{os.path.dirname(os.path.realpath(__file__))}/db_history_scripts" | ||||||
|  |         sql = open(f"{path}/{file}").read() | ||||||
|  |  | ||||||
|  |         for statement in sql.split("\n\n"): | ||||||
|  |             self._cursor.execute(statement + ";") | ||||||
|  |  | ||||||
|     def upgrade(self): |     def upgrade(self): | ||||||
|         self._logger.debug(__name__, "Running upgrade") |         self._logger.debug(__name__, "Running upgrade") | ||||||
|  |  | ||||||
|         self._exec(__file__, "api_keys.sql") |         self._exec("api_keys.sql") | ||||||
|         self._exec(__file__, "auth_users.sql") |         self._exec("auth_users.sql") | ||||||
|         self._exec(__file__, "auth_user_users_relation.sql") |         self._exec("auth_user_users_relation.sql") | ||||||
|         self._exec(__file__, "auto_role_rules.sql") |         self._exec("auto_role_rules.sql") | ||||||
|         self._exec(__file__, "auto_roles.sql") |         self._exec("auto_roles.sql") | ||||||
|         self._exec(__file__, "clients.sql") |         self._exec("clients.sql") | ||||||
|         self._exec(__file__, "game_servers.sql") |         self._exec("game_servers.sql") | ||||||
|         self._exec(__file__, "known_users.sql") |         self._exec("known_users.sql") | ||||||
|         self._exec(__file__, "levels.sql") |         self._exec("levels.sql") | ||||||
|         self._exec(__file__, "servers.sql") |         self._exec("servers.sql") | ||||||
|         self._exec(__file__, "user_game_idents.sql") |         self._exec("user_game_idents.sql") | ||||||
|         self._exec(__file__, "user_joined_game_servers.sql") |         self._exec("user_joined_game_servers.sql") | ||||||
|         self._exec(__file__, "user_joined_servers.sql") |         self._exec("user_joined_servers.sql") | ||||||
|         self._exec(__file__, "user_joined_voice_channel.sql") |         self._exec("user_joined_voice_channel.sql") | ||||||
|         self._exec(__file__, "user_message_count_per_hour.sql") |         self._exec("user_message_count_per_hour.sql") | ||||||
|         self._exec(__file__, "users.sql") |         self._exec("users.sql") | ||||||
|         self._exec(__file__, "user_warnings.sql") |         self._exec("user_warnings.sql") | ||||||
|  |  | ||||||
|         self._logger.debug(__name__, "Finished history upgrade") |         self._logger.debug(__name__, "Finished history upgrade") | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,25 +1,23 @@ | |||||||
| CREATE TABLE IF NOT EXISTS `CFG_ServerHistory` | CREATE TABLE IF NOT EXISTS `CFG_ServerHistory` | ||||||
| ( | ( | ||||||
|     `Id`                      BIGINT(20)  NOT NULL, |     `Id`    BIGINT(20)  NOT NULL, | ||||||
|     `MessageDeleteTimer`      BIGINT      NOT NULL DEFAULT 6, |     `MessageDeleteTimer` BIGINT NOT NULL DEFAULT 6, | ||||||
|     `NotificationChatId`      BIGINT      NOT NULL, |     `NotificationChatId` BIGINT NOT NULL, | ||||||
|     `MaxVoiceStateHours`      BIGINT      NOT NULL DEFAULT 6, |     `MaxVoiceStateHours` BIGINT NOT NULL DEFAULT 6, | ||||||
|     `XpPerMessage`            BIGINT      NOT NULL DEFAULT 1, |     `XpPerMessage` BIGINT NOT NULL DEFAULT 1, | ||||||
|     `XpPerReaction`           BIGINT      NOT NULL DEFAULT 1, |     `XpPerReaction` BIGINT NOT NULL DEFAULT 1, | ||||||
|     `MaxMessageXpPerHour`     BIGINT      NOT NULL DEFAULT 20, |     `MaxMessageXpPerHour` BIGINT NOT NULL DEFAULT 20, | ||||||
|     `XpPerOntimeHour`         BIGINT      NOT NULL DEFAULT 10, |     `XpPerOntimeHour` BIGINT NOT NULL DEFAULT 10, | ||||||
|     `XpPerEventParticipation` BIGINT      NOT NULL DEFAULT 10, |     `XpPerEventParticipation` BIGINT NOT NULL DEFAULT 10, | ||||||
|     `XpPerAchievement`        BIGINT      NOT NULL DEFAULT 10, |     `XpPerAchievement` BIGINT NOT NULL DEFAULT 10, | ||||||
|     `AFKCommandChannelId`     BIGINT      NOT NULL, |     `AFKCommandChannelId` BIGINT NOT NULL, | ||||||
|     `HelpVoiceChannelId`      BIGINT      NOT NULL, |     `HelpVoiceChannelId` BIGINT NOT NULL, | ||||||
|     `TeamChannelId`           BIGINT      NOT NULL, |     `TeamChannelId` BIGINT NOT NULL, | ||||||
|     `LoginMessageChannelId`   BIGINT      NOT NULL, |     `LoginMessageChannelId` BIGINT NOT NULL, | ||||||
|     `DefaultRoleId`           BIGINT      NULL, |     `ServerId` BIGINT NOT NULL, | ||||||
|     `FeatureFlags`            JSON        NULL     DEFAULT ('{}'), |     `Deleted` BOOL DEFAULT FALSE, | ||||||
|     `ServerId`                BIGINT      NOT NULL, |     `DateFrom` DATETIME(6) NOT NULL, | ||||||
|     `Deleted`                 BOOL                 DEFAULT FALSE, |     `DateTo` DATETIME(6) NOT NULL | ||||||
|     `DateFrom`                DATETIME(6) NOT NULL, |  | ||||||
|     `DateTo`                  DATETIME(6) NOT NULL |  | ||||||
| ); | ); | ||||||
|  |  | ||||||
| DROP TRIGGER IF EXISTS `TR_CFG_ServerUpdate`; | DROP TRIGGER IF EXISTS `TR_CFG_ServerUpdate`; | ||||||
| @@ -29,44 +27,44 @@ CREATE TRIGGER `TR_CFG_ServerUpdate` | |||||||
|     ON `CFG_Server` |     ON `CFG_Server` | ||||||
|     FOR EACH ROW |     FOR EACH ROW | ||||||
| BEGIN | BEGIN | ||||||
|     INSERT INTO `CFG_ServerHistory` (`Id`, |     INSERT INTO `CFG_ServerHistory` ( | ||||||
|                                      `MessageDeleteTimer`, |         `Id`, | ||||||
|                                      `NotificationChatId`, |         `MessageDeleteTimer`, | ||||||
|                                      `MaxVoiceStateHours`, |         `NotificationChatId`, | ||||||
|                                      `XpPerMessage`, |         `MaxVoiceStateHours`, | ||||||
|                                      `XpPerReaction`, |         `XpPerMessage`, | ||||||
|                                      `MaxMessageXpPerHour`, |         `XpPerReaction`, | ||||||
|                                      `XpPerOntimeHour`, |         `MaxMessageXpPerHour`, | ||||||
|                                      `XpPerEventParticipation`, |         `XpPerOntimeHour`, | ||||||
|                                      `XpPerAchievement`, |         `XpPerEventParticipation`, | ||||||
|                                      `AFKCommandChannelId`, |         `XpPerAchievement`, | ||||||
|                                      `HelpVoiceChannelId`, |         `AFKCommandChannelId`, | ||||||
|                                      `TeamChannelId`, |         `HelpVoiceChannelId`, | ||||||
|                                      `LoginMessageChannelId`, |         `TeamChannelId`, | ||||||
|                                      `DefaultRoleId`, |         `LoginMessageChannelId`, | ||||||
|                                      `FeatureFlags`, |         `ServerId`, | ||||||
|                                      `ServerId`, |         `DateFrom`, | ||||||
|                                      `DateFrom`, |         `DateTo` | ||||||
|                                      `DateTo`) |     ) | ||||||
|     VALUES (OLD.Id, |     VALUES ( | ||||||
|             OLD.MessageDeleteTimer, |         OLD.Id, | ||||||
|             OLD.NotificationChatId, |         OLD.MessageDeleteTimer, | ||||||
|             OLD.MaxVoiceStateHours, |         OLD.NotificationChatId, | ||||||
|             OLD.XpPerMessage, |         OLD.MaxVoiceStateHours, | ||||||
|             OLD.XpPerReaction, |         OLD.XpPerMessage, | ||||||
|             OLD.MaxMessageXpPerHour, |         OLD.XpPerReaction, | ||||||
|             OLD.XpPerOntimeHour, |         OLD.MaxMessageXpPerHour, | ||||||
|             OLD.XpPerEventParticipation, |         OLD.XpPerOntimeHour, | ||||||
|             OLD.XpPerAchievement, |         OLD.XpPerEventParticipation, | ||||||
|             OLD.AFKCommandChannelId, |         OLD.XpPerAchievement, | ||||||
|             OLD.HelpVoiceChannelId, |         OLD.AFKCommandChannelId, | ||||||
|             OLD.TeamChannelId, |         OLD.HelpVoiceChannelId, | ||||||
|             OLD.LoginMessageChannelId, |         OLD.TeamChannelId, | ||||||
|             OLD.DefaultRoleId, |         OLD.LoginMessageChannelId, | ||||||
|             OLD.FeatureFlags, |         OLD.ServerId, | ||||||
|             OLD.ServerId, |         OLD.LastModifiedAt, | ||||||
|             OLD.LastModifiedAt, |         CURRENT_TIMESTAMP(6) | ||||||
|             CURRENT_TIMESTAMP(6)); |     ); | ||||||
| END; | END; | ||||||
|  |  | ||||||
| DROP TRIGGER IF EXISTS `TR_CFG_ServerDelete`; | DROP TRIGGER IF EXISTS `TR_CFG_ServerDelete`; | ||||||
| @@ -76,44 +74,44 @@ CREATE TRIGGER `TR_CFG_ServerDelete` | |||||||
|     ON `CFG_Server` |     ON `CFG_Server` | ||||||
|     FOR EACH ROW |     FOR EACH ROW | ||||||
| BEGIN | BEGIN | ||||||
|     INSERT INTO `CFG_ServerHistory` (`Id`, |     INSERT INTO `CFG_ServerHistory` ( | ||||||
|                                      `MessageDeleteTimer`, |         `Id`, | ||||||
|                                      `NotificationChatId`, |         `MessageDeleteTimer`, | ||||||
|                                      `MaxVoiceStateHours`, |         `NotificationChatId`, | ||||||
|                                      `XpPerMessage`, |         `MaxVoiceStateHours`, | ||||||
|                                      `XpPerReaction`, |         `XpPerMessage`, | ||||||
|                                      `MaxMessageXpPerHour`, |         `XpPerReaction`, | ||||||
|                                      `XpPerOntimeHour`, |         `MaxMessageXpPerHour`, | ||||||
|                                      `XpPerEventParticipation`, |         `XpPerOntimeHour`, | ||||||
|                                      `XpPerAchievement`, |         `XpPerEventParticipation`, | ||||||
|                                      `AFKCommandChannelId`, |         `XpPerAchievement`, | ||||||
|                                      `HelpVoiceChannelId`, |         `AFKCommandChannelId`, | ||||||
|                                      `TeamChannelId`, |         `HelpVoiceChannelId`, | ||||||
|                                      `LoginMessageChannelId`, |         `TeamChannelId`, | ||||||
|                                      `DefaultRoleId`, |         `LoginMessageChannelId`, | ||||||
|                                      `ServerId`, |         `ServerId`, | ||||||
|                                      `FeatureFlags`, |         `Deleted`, | ||||||
|                                      `Deleted`, |         `DateFrom`, | ||||||
|                                      `DateFrom`, |         `DateTo` | ||||||
|                                      `DateTo`) |     ) | ||||||
|     VALUES (OLD.Id, |     VALUES ( | ||||||
|             OLD.MessageDeleteTimer, |         OLD.Id, | ||||||
|             OLD.NotificationChatId, |         OLD.MessageDeleteTimer, | ||||||
|             OLD.MaxVoiceStateHours, |         OLD.NotificationChatId, | ||||||
|             OLD.XpPerMessage, |         OLD.MaxVoiceStateHours, | ||||||
|             OLD.XpPerReaction, |         OLD.XpPerMessage, | ||||||
|             OLD.MaxMessageXpPerHour, |         OLD.XpPerReaction, | ||||||
|             OLD.XpPerOntimeHour, |         OLD.MaxMessageXpPerHour, | ||||||
|             OLD.XpPerEventParticipation, |         OLD.XpPerOntimeHour, | ||||||
|             OLD.XpPerAchievement, |         OLD.XpPerEventParticipation, | ||||||
|             OLD.AFKCommandChannelId, |         OLD.XpPerAchievement, | ||||||
|             OLD.HelpVoiceChannelId, |         OLD.AFKCommandChannelId, | ||||||
|             OLD.TeamChannelId, |         OLD.HelpVoiceChannelId, | ||||||
|             OLD.LoginMessageChannelId, |         OLD.TeamChannelId, | ||||||
|             OLD.DefaultRoleId, |         OLD.LoginMessageChannelId, | ||||||
|             OLD.FeatureFlags, |         OLD.ServerId, | ||||||
|             OLD.ServerId, |         TRUE, | ||||||
|             TRUE, |         OLD.LastModifiedAt, | ||||||
|             OLD.LastModifiedAt, |         CURRENT_TIMESTAMP(6) | ||||||
|             CURRENT_TIMESTAMP(6)); |     ); | ||||||
| END; | END; | ||||||
| @@ -1,14 +1,13 @@ | |||||||
| CREATE TABLE IF NOT EXISTS `CFG_TechnicianHistory` | CREATE TABLE IF NOT EXISTS `CFG_TechnicianHistory` | ||||||
| ( | ( | ||||||
|     `Id`                      BIGINT(20)   NOT NULL, |     `Id`    BIGINT(20)  NOT NULL, | ||||||
|     `HelpCommandReferenceUrl` VARCHAR(255) NOT NULL, |     `HelpCommandReferenceUrl` VARCHAR(255) NOT NULL, | ||||||
|     `WaitForRestart`          BIGINT       NOT NULL DEFAULT 8, |     `WaitForRestart` BIGINT NOT NULL DEFAULT 8, | ||||||
|     `WaitForShutdown`         BIGINT       NOT NULL DEFAULT 8, |     `WaitForShutdown` BIGINT NOT NULL DEFAULT 8, | ||||||
|     `CacheMaxMessages`        BIGINT       NOT NULL DEFAULT 1000000, |     `CacheMaxMessages` BIGINT NOT NULL DEFAULT 1000000, | ||||||
|     `FeatureFlags`            JSON         NULL     DEFAULT ('{}'), |     `Deleted` BOOL DEFAULT FALSE, | ||||||
|     `Deleted`                 BOOL                  DEFAULT FALSE, |     `DateFrom` DATETIME(6) NOT NULL, | ||||||
|     `DateFrom`                DATETIME(6)  NOT NULL, |     `DateTo` DATETIME(6) NOT NULL | ||||||
|     `DateTo`                  DATETIME(6)  NOT NULL |  | ||||||
| ); | ); | ||||||
|  |  | ||||||
| DROP TRIGGER IF EXISTS `TR_CFG_TechnicianUpdate`; | DROP TRIGGER IF EXISTS `TR_CFG_TechnicianUpdate`; | ||||||
| @@ -18,22 +17,24 @@ CREATE TRIGGER `TR_CFG_TechnicianUpdate` | |||||||
|     ON `CFG_Technician` |     ON `CFG_Technician` | ||||||
|     FOR EACH ROW |     FOR EACH ROW | ||||||
| BEGIN | BEGIN | ||||||
|     INSERT INTO `CFG_TechnicianHistory` (`Id`, |     INSERT INTO `CFG_TechnicianHistory` ( | ||||||
|                                          `HelpCommandReferenceUrl`, |         `Id`, | ||||||
|                                          `WaitForRestart`, |         `HelpCommandReferenceUrl`, | ||||||
|                                          `WaitForShutdown`, |         `WaitForRestart`, | ||||||
|                                          `CacheMaxMessages`, |         `WaitForShutdown`, | ||||||
|                                          `FeatureFlags`, |         `CacheMaxMessages`, | ||||||
|                                          `DateFrom`, |         `DateFrom`, | ||||||
|                                          `DateTo`) |         `DateTo` | ||||||
|     VALUES (OLD.Id, |     ) | ||||||
|             OLD.HelpCommandReferenceUrl, |     VALUES ( | ||||||
|             OLD.WaitForRestart, |         OLD.Id, | ||||||
|             OLD.WaitForShutdown, |         OLD.HelpCommandReferenceUrl, | ||||||
|             OLD.CacheMaxMessages, |         OLD.WaitForRestart, | ||||||
|             OLD.FeatureFlags, |         OLD.WaitForShutdown, | ||||||
|             OLD.LastModifiedAt, |         OLD.CacheMaxMessages, | ||||||
|             CURRENT_TIMESTAMP(6)); |         OLD.LastModifiedAt, | ||||||
|  |         CURRENT_TIMESTAMP(6) | ||||||
|  |     ); | ||||||
| END; | END; | ||||||
|  |  | ||||||
| DROP TRIGGER IF EXISTS `TR_CFG_TechnicianDelete`; | DROP TRIGGER IF EXISTS `TR_CFG_TechnicianDelete`; | ||||||
| @@ -43,22 +44,24 @@ CREATE TRIGGER `TR_CFG_TechnicianDelete` | |||||||
|     ON `CFG_Technician` |     ON `CFG_Technician` | ||||||
|     FOR EACH ROW |     FOR EACH ROW | ||||||
| BEGIN | BEGIN | ||||||
|     INSERT INTO `CFG_TechnicianHistory` (`Id`, |     INSERT INTO `CFG_TechnicianHistory` ( | ||||||
|                                          `HelpCommandReferenceUrl`, |         `Id`, | ||||||
|                                          `WaitForRestart`, |         `HelpCommandReferenceUrl`, | ||||||
|                                          `WaitForShutdown`, |         `WaitForRestart`, | ||||||
|                                          `CacheMaxMessages`, |         `WaitForShutdown`, | ||||||
|                                          `FeatureFlags`, |         `CacheMaxMessages`, | ||||||
|                                          `Deleted`, |         `Deleted`, | ||||||
|                                          `DateFrom`, |         `DateFrom`, | ||||||
|                                          `DateTo`) |         `DateTo` | ||||||
|     VALUES (OLD.Id, |     ) | ||||||
|             OLD.HelpCommandReferenceUrl, |     VALUES ( | ||||||
|             OLD.WaitForRestart, |         OLD.Id, | ||||||
|             OLD.WaitForShutdown, |         OLD.HelpCommandReferenceUrl, | ||||||
|             OLD.CacheMaxMessages, |         OLD.WaitForRestart, | ||||||
|             OLD.FeatureFlags, |         OLD.WaitForShutdown, | ||||||
|             TRUE, |         OLD.CacheMaxMessages, | ||||||
|             OLD.LastModifiedAt, |         TRUE, | ||||||
|             CURRENT_TIMESTAMP(6)); |         OLD.LastModifiedAt, | ||||||
|  |         CURRENT_TIMESTAMP(6) | ||||||
|  |     ); | ||||||
| END; | END; | ||||||
| @@ -1,38 +0,0 @@ | |||||||
| CREATE TABLE IF NOT EXISTS `ShortRoleNamesHistory` |  | ||||||
| ( |  | ||||||
|     `Id`            BIGINT(20)               NOT NULL, |  | ||||||
|     `ShortName`     VARCHAR(64) DEFAULT NULL, |  | ||||||
|     `DiscordRoleId` BIGINT(20)               NOT NULL, |  | ||||||
|     `Position`      ENUM ('Before', 'After') NOT NULL, |  | ||||||
|     `ServerId`      BIGINT(20)  DEFAULT NULL, |  | ||||||
|     `Deleted`       BOOL        DEFAULT FALSE, |  | ||||||
|     `DateFrom`      DATETIME(6)              NOT NULL, |  | ||||||
|     `DateTo`        DATETIME(6)              NOT NULL |  | ||||||
| ); |  | ||||||
|  |  | ||||||
| DROP TRIGGER IF EXISTS `TR_ShortRoleNamesUpdate`; |  | ||||||
|  |  | ||||||
| CREATE TRIGGER `TR_ShortRoleNamesUpdate` |  | ||||||
|     AFTER UPDATE |  | ||||||
|     ON `ShortRoleNames` |  | ||||||
|     FOR EACH ROW |  | ||||||
| BEGIN |  | ||||||
|     INSERT INTO `ShortRoleNamesHistory` (`Id`, `ShortName`, `DiscordRoleId`, `Position`, `ServerId`, `DateFrom`, |  | ||||||
|                                          `DateTo`) |  | ||||||
|     VALUES (OLD.Id, OLD.ShortName, OLD.DiscordRoleId, OLD.Position, OLD.ServerId, OLD.LastModifiedAt, |  | ||||||
|             CURRENT_TIMESTAMP(6)); |  | ||||||
| END; |  | ||||||
|  |  | ||||||
| DROP TRIGGER IF EXISTS `TR_ShortRoleNamesDelete`; |  | ||||||
|  |  | ||||||
| CREATE TRIGGER `TR_ShortRoleNamesDelete` |  | ||||||
|     AFTER DELETE |  | ||||||
|     ON `ShortRoleNames` |  | ||||||
|     FOR EACH ROW |  | ||||||
| BEGIN |  | ||||||
|     INSERT INTO `ShortRoleNamesHistory` (`Id`, `ShortName`, `DiscordRoleId`, `Position`, `ServerId`, `Deleted`, |  | ||||||
|                                          `DateFrom`, |  | ||||||
|                                          `DateTo`) |  | ||||||
|     VALUES (OLD.Id, OLD.ShortName, OLD.DiscordRoleId, OLD.Position, OLD.ServerId, TRUE, OLD.LastModifiedAt, |  | ||||||
|             CURRENT_TIMESTAMP(6)); |  | ||||||
| END; |  | ||||||
| @@ -1,51 +0,0 @@ | |||||||
| from bot_core.logging.database_logger import DatabaseLogger |  | ||||||
| from bot_data.abc.migration_abc import MigrationABC |  | ||||||
| from bot_data.db_context import DBContext |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class FixUpdatesMigration(MigrationABC): |  | ||||||
|     name = "1.1.7_FixUpdatesMigration" |  | ||||||
|  |  | ||||||
|     def __init__(self, logger: DatabaseLogger, db: DBContext): |  | ||||||
|         MigrationABC.__init__(self) |  | ||||||
|         self._logger = logger |  | ||||||
|         self._db = db |  | ||||||
|         self._cursor = db.cursor |  | ||||||
|  |  | ||||||
|     def upgrade(self): |  | ||||||
|         self._logger.debug(__name__, "Running upgrade") |  | ||||||
|  |  | ||||||
|         self._cursor.execute( |  | ||||||
|             str( |  | ||||||
|                 f""" |  | ||||||
|                     ALTER TABLE CFG_ServerHistory |  | ||||||
|                     ADD DefaultRoleId BIGINT NULL AFTER LoginMessageChannelId; |  | ||||||
|                 """ |  | ||||||
|             ) |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|         self._cursor.execute( |  | ||||||
|             str( |  | ||||||
|                 """ALTER TABLE CFG_TechnicianHistory ADD FeatureFlags JSON NULL DEFAULT ('{}') AFTER CacheMaxMessages;""" |  | ||||||
|             ) |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|         self._cursor.execute( |  | ||||||
|             str( |  | ||||||
|                 """ALTER TABLE CFG_ServerHistory ADD FeatureFlags JSON NULL DEFAULT ('{}') AFTER LoginMessageChannelId;""" |  | ||||||
|             ) |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|         self._exec(__file__, "config/server.sql") |  | ||||||
|         self._exec(__file__, "config/technician.sql") |  | ||||||
|  |  | ||||||
|     def downgrade(self): |  | ||||||
|         self._cursor.execute( |  | ||||||
|             str( |  | ||||||
|                 f""" |  | ||||||
|                     ALTER TABLE CFG_ServerHistory DROP COLUMN DefaultRoleId; |  | ||||||
|                 """ |  | ||||||
|             ) |  | ||||||
|         ) |  | ||||||
|         self._cursor.execute("ALTER TABLE CFG_TechnicianHistory DROP COLUMN FeatureFlags;") |  | ||||||
|         self._cursor.execute("ALTER TABLE CFG_ServerHistory DROP COLUMN FeatureFlags;") |  | ||||||
| @@ -1,40 +0,0 @@ | |||||||
| from bot_core.logging.database_logger import DatabaseLogger |  | ||||||
| from bot_data.abc.migration_abc import MigrationABC |  | ||||||
| from bot_data.db_context import DBContext |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class ShortRoleNameMigration(MigrationABC): |  | ||||||
|     name = "1.1.7_ShortRoleNameMigration" |  | ||||||
|  |  | ||||||
|     def __init__(self, logger: DatabaseLogger, db: DBContext): |  | ||||||
|         MigrationABC.__init__(self) |  | ||||||
|         self._logger = logger |  | ||||||
|         self._db = db |  | ||||||
|         self._cursor = db.cursor |  | ||||||
|  |  | ||||||
|     def upgrade(self): |  | ||||||
|         self._logger.debug(__name__, "Running upgrade") |  | ||||||
|  |  | ||||||
|         self._cursor.execute( |  | ||||||
|             str( |  | ||||||
|                 f""" |  | ||||||
|                     CREATE TABLE IF NOT EXISTS `ShortRoleNames` ( |  | ||||||
|                         `Id` BIGINT NOT NULL AUTO_INCREMENT, |  | ||||||
|                         `ShortName` VARCHAR(255) NOT NULL, |  | ||||||
|                         `DiscordRoleId` BIGINT NOT NULL, |  | ||||||
|                         `Position` ENUM('before', 'after') NOT NULL, |  | ||||||
|                         `ServerId` BIGINT, |  | ||||||
|                         `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6), |  | ||||||
|                         `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), |  | ||||||
|                         PRIMARY KEY(`Id`), |  | ||||||
|                         FOREIGN KEY (`ServerId`) REFERENCES `Servers`(`ServerId`) |  | ||||||
|                     ); |  | ||||||
|                 """ |  | ||||||
|             ) |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|         self._exec(__file__, "short_rule_names.sql") |  | ||||||
|  |  | ||||||
|     def downgrade(self): |  | ||||||
|         self._cursor.execute("DROP TABLE `ShortRoleNames`;") |  | ||||||
|         self._cursor.execute("DROP TABLE `ShortRoleNamesHistory`;") |  | ||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_data.model" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,11 +1,9 @@ | |||||||
| import json | import json | ||||||
| from datetime import datetime | from datetime import datetime | ||||||
| from typing import Optional |  | ||||||
|  |  | ||||||
| from cpl_core.configuration import ConfigurationModelABC | from cpl_core.configuration import ConfigurationModelABC | ||||||
| from cpl_core.database import TableABC | from cpl_core.database import TableABC | ||||||
| from cpl_query.extension import List | from cpl_query.extension import List | ||||||
| from discord import Guild |  | ||||||
|  |  | ||||||
| from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum | from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum | ||||||
| from bot_data.model.server import Server | from bot_data.model.server import Server | ||||||
| @@ -28,7 +26,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | |||||||
|         help_voice_channel_id: int, |         help_voice_channel_id: int, | ||||||
|         team_channel_id: int, |         team_channel_id: int, | ||||||
|         login_message_channel_id: int, |         login_message_channel_id: int, | ||||||
|         default_role_id: Optional[int], |         default_role_id: int, | ||||||
|         feature_flags: dict[FeatureFlagsEnum], |         feature_flags: dict[FeatureFlagsEnum], | ||||||
|         server: Server, |         server: Server, | ||||||
|         afk_channel_ids: List[int], |         afk_channel_ids: List[int], | ||||||
| @@ -61,29 +59,6 @@ class ServerConfig(TableABC, ConfigurationModelABC): | |||||||
|         self._created_at = created_at if created_at is not None else self._created_at |         self._created_at = created_at if created_at is not None else self._created_at | ||||||
|         self._modified_at = modified_at if modified_at is not None else self._modified_at |         self._modified_at = modified_at if modified_at is not None else self._modified_at | ||||||
|  |  | ||||||
|     @staticmethod |  | ||||||
|     def new(guild: Guild, server: Server) -> "ServerConfig": |  | ||||||
|         return ServerConfig( |  | ||||||
|             6, |  | ||||||
|             guild.system_channel.id, |  | ||||||
|             6, |  | ||||||
|             1, |  | ||||||
|             1, |  | ||||||
|             20, |  | ||||||
|             10, |  | ||||||
|             10, |  | ||||||
|             10, |  | ||||||
|             guild.system_channel.id, |  | ||||||
|             guild.system_channel.id, |  | ||||||
|             guild.system_channel.id, |  | ||||||
|             guild.system_channel.id, |  | ||||||
|             None, |  | ||||||
|             {}, |  | ||||||
|             server, |  | ||||||
|             List(int), |  | ||||||
|             List(int), |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def id(self) -> int: |     def id(self) -> int: | ||||||
|         return self._id |         return self._id | ||||||
| @@ -289,7 +264,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | |||||||
|                     {self._help_voice_channel_id}, |                     {self._help_voice_channel_id}, | ||||||
|                     {self._team_channel_id}, |                     {self._team_channel_id}, | ||||||
|                     {self._login_message_channel_id}, |                     {self._login_message_channel_id}, | ||||||
|                     {"NULL" if self._default_role_id is None else self._default_role_id}, |                     {self._default_role_id}, | ||||||
|                     '{json.dumps(self._feature_flags)}', |                     '{json.dumps(self._feature_flags)}', | ||||||
|                     {self._server.id} |                     {self._server.id} | ||||||
|                 ); |                 ); | ||||||
| @@ -314,7 +289,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | |||||||
|                 `HelpVoiceChannelId` = {self._help_voice_channel_id}, |                 `HelpVoiceChannelId` = {self._help_voice_channel_id}, | ||||||
|                 `TeamChannelId` = {self._team_channel_id}, |                 `TeamChannelId` = {self._team_channel_id}, | ||||||
|                 `LoginMessageChannelId` = {self._login_message_channel_id}, |                 `LoginMessageChannelId` = {self._login_message_channel_id}, | ||||||
|                 `DefaultRoleId` = {"NULL" if self._default_role_id is None else self._default_role_id}, |                 `DefaultRoleId` = {self._default_role_id}, | ||||||
|                 `FeatureFlags` = '{json.dumps(self._feature_flags)}', |                 `FeatureFlags` = '{json.dumps(self._feature_flags)}', | ||||||
|                 `ServerId` = {self._server.id} |                 `ServerId` = {self._server.id} | ||||||
|                 WHERE `Id` = {self._id}; |                 WHERE `Id` = {self._id}; | ||||||
|   | |||||||
| @@ -1,140 +0,0 @@ | |||||||
| from datetime import datetime |  | ||||||
|  |  | ||||||
| from cpl_core.database import TableABC |  | ||||||
| from cpl_core.dependency_injection import ServiceProviderABC |  | ||||||
| from cpl_discord.service import DiscordBotServiceABC |  | ||||||
|  |  | ||||||
| from bot_data.model.server import Server |  | ||||||
| from bot_data.model.short_role_name_position_enum import ShortRoleNamePositionEnum |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class ShortRoleName(TableABC): |  | ||||||
|     def __init__( |  | ||||||
|         self, |  | ||||||
|         short_name: str, |  | ||||||
|         discord_role_id: int, |  | ||||||
|         position: ShortRoleNamePositionEnum, |  | ||||||
|         server: Server, |  | ||||||
|         created_at: datetime = None, |  | ||||||
|         modified_at: datetime = None, |  | ||||||
|         id=0, |  | ||||||
|     ): |  | ||||||
|         self._id = id |  | ||||||
|         self._short_name = short_name |  | ||||||
|         self._discord_role_id = discord_role_id |  | ||||||
|         self._position = position |  | ||||||
|         self._server = server |  | ||||||
|  |  | ||||||
|         TableABC.__init__(self) |  | ||||||
|         self._created_at = created_at if created_at is not None else self._created_at |  | ||||||
|         self._modified_at = modified_at if modified_at is not None else self._modified_at |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def id(self) -> int: |  | ||||||
|         return self._id |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def short_name(self) -> str: |  | ||||||
|         return self._short_name |  | ||||||
|  |  | ||||||
|     @short_name.setter |  | ||||||
|     def short_name(self, value: str): |  | ||||||
|         self._short_name = value |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def role_id(self) -> int: |  | ||||||
|         return self._discord_role_id |  | ||||||
|  |  | ||||||
|     @role_id.setter |  | ||||||
|     def role_id(self, value: int): |  | ||||||
|         self._discord_role_id = value |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     @ServiceProviderABC.inject |  | ||||||
|     def role_name(self, bot: DiscordBotServiceABC) -> str: |  | ||||||
|         guild = bot.get_guild(self._server.discord_id) |  | ||||||
|         return guild.get_role(self.role_id).name |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def position(self) -> ShortRoleNamePositionEnum: |  | ||||||
|         return self._position |  | ||||||
|  |  | ||||||
|     @position.setter |  | ||||||
|     def position(self, value: ShortRoleNamePositionEnum): |  | ||||||
|         self._position = value |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def server(self) -> Server: |  | ||||||
|         return self._server |  | ||||||
|  |  | ||||||
|     @staticmethod |  | ||||||
|     def get_select_all_string() -> str: |  | ||||||
|         return str( |  | ||||||
|             f""" |  | ||||||
|             SELECT * FROM `ShortRoleNames`; |  | ||||||
|         """ |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     @staticmethod |  | ||||||
|     def get_select_by_id_string(id: int) -> str: |  | ||||||
|         return str( |  | ||||||
|             f""" |  | ||||||
|             SELECT * FROM `ShortRoleNames` |  | ||||||
|             WHERE `Id` = {id}; |  | ||||||
|         """ |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     @staticmethod |  | ||||||
|     def get_select_by_role_id_string(id: int) -> str: |  | ||||||
|         return str( |  | ||||||
|             f""" |  | ||||||
|             SELECT * FROM `ShortRoleNames` |  | ||||||
|             WHERE `DiscordRoleId` = {id}; |  | ||||||
|         """ |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     @staticmethod |  | ||||||
|     def get_select_by_server_id_string(id: int) -> str: |  | ||||||
|         return str( |  | ||||||
|             f""" |  | ||||||
|             SELECT * FROM `ShortRoleNames` |  | ||||||
|             WHERE `ServerId` = {id}; |  | ||||||
|         """ |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def insert_string(self) -> str: |  | ||||||
|         return str( |  | ||||||
|             f""" |  | ||||||
|             INSERT INTO `ShortRoleNames` ( |  | ||||||
|                 `ShortName`, `DiscordRoleId`, `Position`, `ServerId` |  | ||||||
|             ) VALUES ( |  | ||||||
|                 '{self._short_name}', |  | ||||||
|                 {self._discord_role_id}, |  | ||||||
|                 '{self._position}', |  | ||||||
|                 {self._server.id} |  | ||||||
|             ); |  | ||||||
|         """ |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def udpate_string(self) -> str: |  | ||||||
|         return str( |  | ||||||
|             f""" |  | ||||||
|             UPDATE `ShortRoleNames` |  | ||||||
|             SET `ShortName` = '{self._short_name}', |  | ||||||
|             `DiscordRoleId` = {self._discord_role_id}, |  | ||||||
|             `Position` = '{self._position}', |  | ||||||
|             `ServerId` = {self._server.id} |  | ||||||
|             WHERE `Id` = {self._id}; |  | ||||||
|         """ |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def delete_string(self) -> str: |  | ||||||
|         return str( |  | ||||||
|             f""" |  | ||||||
|             DELETE FROM `ShortRoleNames` |  | ||||||
|             WHERE `Id` = {self._id}; |  | ||||||
|         """ |  | ||||||
|         ) |  | ||||||
| @@ -1,56 +0,0 @@ | |||||||
| from cpl_core.dependency_injection import ServiceProviderABC |  | ||||||
| from cpl_discord.service import DiscordBotServiceABC |  | ||||||
|  |  | ||||||
| from bot_data.abc.history_table_abc import HistoryTableABC |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class ShortRoleNameHistory(HistoryTableABC): |  | ||||||
|     def __init__( |  | ||||||
|         self, |  | ||||||
|         name: str, |  | ||||||
|         discord_role_id: int, |  | ||||||
|         server: int, |  | ||||||
|         deleted: bool, |  | ||||||
|         date_from: str, |  | ||||||
|         date_to: str, |  | ||||||
|         id=0, |  | ||||||
|     ): |  | ||||||
|         HistoryTableABC.__init__(self) |  | ||||||
|         self._id = id |  | ||||||
|         self._name = name |  | ||||||
|         self._discord_role_id = discord_role_id |  | ||||||
|         self._server = server |  | ||||||
|  |  | ||||||
|         self._deleted = deleted |  | ||||||
|         self._date_from = date_from |  | ||||||
|         self._date_to = date_to |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def id(self) -> int: |  | ||||||
|         return self._id |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def name(self) -> str: |  | ||||||
|         return self._name |  | ||||||
|  |  | ||||||
|     @name.setter |  | ||||||
|     def name(self, value: str): |  | ||||||
|         self._name = value |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def role_id(self) -> int: |  | ||||||
|         return self._discord_role_id |  | ||||||
|  |  | ||||||
|     @role_id.setter |  | ||||||
|     def role_id(self, value: int): |  | ||||||
|         self._discord_role_id = value |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     @ServiceProviderABC.inject |  | ||||||
|     def role_name(self, bot: DiscordBotServiceABC) -> str: |  | ||||||
|         guild = bot.get_guild(self._server.discord_id) |  | ||||||
|         return guild.get_role(self.role_id).name |  | ||||||
|  |  | ||||||
|     @property |  | ||||||
|     def server(self) -> int: |  | ||||||
|         return self._server |  | ||||||
| @@ -1,6 +0,0 @@ | |||||||
| from enum import Enum |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class ShortRoleNamePositionEnum(Enum): |  | ||||||
|     before = "before" |  | ||||||
|     after = "after" |  | ||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_data.service" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -34,12 +34,30 @@ class ServerConfigSeeder(DataSeederABC): | |||||||
|                 if self._server_config.does_server_config_exists(server.id): |                 if self._server_config.does_server_config_exists(server.id): | ||||||
|                     continue |                     continue | ||||||
|  |  | ||||||
|                 config = ServerConfig.new(guild, server) |                 config = ServerConfig( | ||||||
|  |                     6, | ||||||
|  |                     guild.system_channel.id, | ||||||
|  |                     6, | ||||||
|  |                     1, | ||||||
|  |                     1, | ||||||
|  |                     20, | ||||||
|  |                     10, | ||||||
|  |                     10, | ||||||
|  |                     10, | ||||||
|  |                     guild.system_channel.id, | ||||||
|  |                     guild.system_channel.id, | ||||||
|  |                     guild.system_channel.id, | ||||||
|  |                     guild.system_channel.id, | ||||||
|  |                     {}, | ||||||
|  |                     server, | ||||||
|  |                     [], | ||||||
|  |                     [], | ||||||
|  |                 ) | ||||||
|  |  | ||||||
|                 self._server_config.add_server_config(config) |                 self._server_config.add_server_config(config) | ||||||
|  |  | ||||||
|                 self._db.save_changes() |                 self._db.save_changes() | ||||||
|                 self._logger.debug(__name__, "Seeded server config") |                 self._logger.debug(__name__, "Seeded technician config") | ||||||
|  |  | ||||||
|         except Exception as e: |         except Exception as e: | ||||||
|             self._logger.error(__name__, f"Seeding server config failed", e) |             self._logger.error(__name__, f"Seeding technician config failed", e) | ||||||
|   | |||||||
| @@ -1,95 +0,0 @@ | |||||||
| from typing import Optional |  | ||||||
|  |  | ||||||
| from cpl_core.database.context import DatabaseContextABC |  | ||||||
| from cpl_query.extension import List |  | ||||||
|  |  | ||||||
| from bot_core.logging.database_logger import DatabaseLogger |  | ||||||
| from bot_data.abc.server_repository_abc import ServerRepositoryABC |  | ||||||
| from bot_data.abc.short_role_name_repository_abc import ShortRoleNameRepositoryABC |  | ||||||
| from bot_data.model.short_role_name import ShortRoleName |  | ||||||
| from bot_data.model.short_role_name_position_enum import ShortRoleNamePositionEnum |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class ShortRoleNameRepositoryService(ShortRoleNameRepositoryABC): |  | ||||||
|     def __init__( |  | ||||||
|         self, |  | ||||||
|         logger: DatabaseLogger, |  | ||||||
|         db_context: DatabaseContextABC, |  | ||||||
|         servers: ServerRepositoryABC, |  | ||||||
|     ): |  | ||||||
|         self._logger = logger |  | ||||||
|         self._context = db_context |  | ||||||
|  |  | ||||||
|         self._servers = servers |  | ||||||
|  |  | ||||||
|         ShortRoleNameRepositoryABC.__init__(self) |  | ||||||
|  |  | ||||||
|     @staticmethod |  | ||||||
|     def _get_value_from_result(value: any) -> Optional[any]: |  | ||||||
|         if isinstance(value, str) and "NULL" in value: |  | ||||||
|             return None |  | ||||||
|  |  | ||||||
|         return value |  | ||||||
|  |  | ||||||
|     def _short_role_name_from_result(self, sql_result: tuple) -> ShortRoleName: |  | ||||||
|         return ShortRoleName( |  | ||||||
|             self._get_value_from_result(sql_result[1]),  # name |  | ||||||
|             int(self._get_value_from_result(sql_result[2])),  # role_id |  | ||||||
|             ShortRoleNamePositionEnum(self._get_value_from_result(sql_result[3])),  # position |  | ||||||
|             self._servers.get_server_by_id(sql_result[4]),  # server |  | ||||||
|             self._get_value_from_result(sql_result[5]),  # created_at |  | ||||||
|             self._get_value_from_result(sql_result[6]),  # modified_at |  | ||||||
|             id=self._get_value_from_result(sql_result[0]),  # id |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     def get_short_role_names(self) -> List[ShortRoleName]: |  | ||||||
|         short_role_names = List(ShortRoleName) |  | ||||||
|         self._logger.trace(__name__, f"Send SQL command: {ShortRoleName.get_select_all_string()}") |  | ||||||
|         results = self._context.select(ShortRoleName.get_select_all_string()) |  | ||||||
|         for result in results: |  | ||||||
|             self._logger.trace(__name__, f"Get short_role_name with id {result[0]}") |  | ||||||
|             short_role_names.append(self._short_role_name_from_result(result)) |  | ||||||
|  |  | ||||||
|         return short_role_names |  | ||||||
|  |  | ||||||
|     def get_short_role_name_by_id(self, id: int) -> ShortRoleName: |  | ||||||
|         self._logger.trace(__name__, f"Send SQL command: {ShortRoleName.get_select_by_id_string(id)}") |  | ||||||
|         result = self._context.select(ShortRoleName.get_select_by_id_string(id))[0] |  | ||||||
|  |  | ||||||
|         return self._short_role_name_from_result(result) |  | ||||||
|  |  | ||||||
|     def find_short_role_names_by_role_id(self, role_id: int) -> List[ShortRoleName]: |  | ||||||
|         short_role_names = List(ShortRoleName) |  | ||||||
|         self._logger.trace(__name__, f"Send SQL command: {ShortRoleName.get_select_by_role_id_string(role_id)}") |  | ||||||
|         results = self._context.select(ShortRoleName.get_select_by_role_id_string(role_id)) |  | ||||||
|         for result in results: |  | ||||||
|             self._logger.trace(__name__, f"Get short_role_name with id {result[0]}") |  | ||||||
|             short_role_names.append(self._short_role_name_from_result(result)) |  | ||||||
|  |  | ||||||
|         return short_role_names |  | ||||||
|  |  | ||||||
|     def get_short_role_names_by_server_id(self, server_id: int) -> List[ShortRoleName]: |  | ||||||
|         short_role_names = List(ShortRoleName) |  | ||||||
|         self._logger.trace( |  | ||||||
|             __name__, |  | ||||||
|             f"Send SQL command: {ShortRoleName.get_select_by_server_id_string(server_id)}", |  | ||||||
|         ) |  | ||||||
|         results = self._context.select(ShortRoleName.get_select_by_server_id_string(server_id)) |  | ||||||
|  |  | ||||||
|         for result in results: |  | ||||||
|             self._logger.trace(__name__, f"Get short_role_name with id {result[0]}") |  | ||||||
|             short_role_names.append(self._short_role_name_from_result(result)) |  | ||||||
|  |  | ||||||
|         return short_role_names |  | ||||||
|  |  | ||||||
|     def add_short_role_name(self, short_role_name: ShortRoleName): |  | ||||||
|         self._logger.trace(__name__, f"Send SQL command: {short_role_name.insert_string}") |  | ||||||
|         self._context.cursor.execute(short_role_name.insert_string) |  | ||||||
|  |  | ||||||
|     def update_short_role_name(self, short_role_name: ShortRoleName): |  | ||||||
|         self._logger.trace(__name__, f"Send SQL command: {short_role_name.udpate_string}") |  | ||||||
|         self._context.cursor.execute(short_role_name.udpate_string) |  | ||||||
|  |  | ||||||
|     def delete_short_role_name(self, short_role_name: ShortRoleName): |  | ||||||
|         self._logger.trace(__name__, f"Send SQL command: {short_role_name.delete_string}") |  | ||||||
|         self._context.cursor.execute(short_role_name.delete_string) |  | ||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.abc" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -20,7 +20,6 @@ from bot_data.model.known_user import KnownUser | |||||||
| from bot_data.model.level import Level | from bot_data.model.level import Level | ||||||
| from bot_data.model.server import Server | from bot_data.model.server import Server | ||||||
| from bot_data.model.server_config import ServerConfig | from bot_data.model.server_config import ServerConfig | ||||||
| from bot_data.model.short_role_name import ShortRoleName |  | ||||||
| from bot_data.model.user import User | from bot_data.model.user import User | ||||||
| from bot_data.model.user_joined_game_server import UserJoinedGameServer | from bot_data.model.user_joined_game_server import UserJoinedGameServer | ||||||
| from bot_data.model.user_joined_server import UserJoinedServer | from bot_data.model.user_joined_server import UserJoinedServer | ||||||
| @@ -185,16 +184,6 @@ class QueryABC(ObjectType): | |||||||
|                     access = True |                     access = True | ||||||
|                     break |                     break | ||||||
|  |  | ||||||
|         elif type(element) == ShortRoleName: |  | ||||||
|             element: ShortRoleName = element |  | ||||||
|             for u in user.users: |  | ||||||
|                 u: User = u |  | ||||||
|                 guild = bot.get_guild(u.server.discord_id) |  | ||||||
|                 member = guild.get_member(u.discord_id) |  | ||||||
|                 if permissions.is_member_moderator(member) and u.server.id == element.server.id: |  | ||||||
|                     access = True |  | ||||||
|                     break |  | ||||||
|  |  | ||||||
|         elif type(element) == dict and "key" in element and element["key"] in [e.value for e in FeatureFlagsEnum]: |         elif type(element) == dict and "key" in element and element["key"] in [e.value for e in FeatureFlagsEnum]: | ||||||
|             for u in user.users: |             for u in user.users: | ||||||
|                 u: User = u |                 u: User = u | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|     "Version": { |     "Version": { | ||||||
|       "Major": "1", |       "Major": "1", | ||||||
|       "Minor": "1", |       "Minor": "1", | ||||||
|       "Micro": "7" |       "Micro": "6" | ||||||
|     }, |     }, | ||||||
|     "Author": "Sven Heidemann", |     "Author": "Sven Heidemann", | ||||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", |     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.filter" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,70 +0,0 @@ | |||||||
| from cpl_discord.service import DiscordBotServiceABC |  | ||||||
| from cpl_query.extension import List |  | ||||||
|  |  | ||||||
| from bot_data.model.short_role_name import ShortRoleName |  | ||||||
| from bot_data.model.short_role_name_position_enum import ShortRoleNamePositionEnum |  | ||||||
| from bot_data.model.user import User |  | ||||||
| from bot_graphql.abc.filter_abc import FilterABC |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class ShortRoleNameFilter(FilterABC): |  | ||||||
|     def __init__(self, bot: DiscordBotServiceABC): |  | ||||||
|         FilterABC.__init__(self) |  | ||||||
|         self._bot = bot |  | ||||||
|  |  | ||||||
|         self._id = None |  | ||||||
|         self._short_name = None |  | ||||||
|         self._role_id = None |  | ||||||
|         self._role_name = None |  | ||||||
|         self._position = None |  | ||||||
|         self._server = None |  | ||||||
|  |  | ||||||
|     def from_dict(self, values: dict): |  | ||||||
|         if "id" in values: |  | ||||||
|             self._id = int(values["id"]) |  | ||||||
|  |  | ||||||
|         if "shortName" in values: |  | ||||||
|             self._short_name = values["shortName"] |  | ||||||
|  |  | ||||||
|         if "roleId" in values: |  | ||||||
|             self._role_id = int(values["roleId"]) |  | ||||||
|  |  | ||||||
|         if "roleName" in values: |  | ||||||
|             self._role_name = values["roleName"] |  | ||||||
|  |  | ||||||
|         if "position" in values: |  | ||||||
|             self._position = ShortRoleNamePositionEnum(values["position"]) |  | ||||||
|  |  | ||||||
|         if "server" in values: |  | ||||||
|             from bot_graphql.filter.server_filter import ServerFilter |  | ||||||
|  |  | ||||||
|             self._server: ServerFilter = self._services.get_service(ServerFilter) |  | ||||||
|             self._server.from_dict(values["server"]) |  | ||||||
|  |  | ||||||
|     def filter(self, query: List[User]) -> List[User]: |  | ||||||
|         if self._id is not None: |  | ||||||
|             query = query.where(lambda x: x.id == self._id) |  | ||||||
|  |  | ||||||
|         if self._short_name is not None: |  | ||||||
|             query = query.where(lambda x: x.short_name == self._short_name or self._short_name in x.short_name) |  | ||||||
|  |  | ||||||
|         if self._role_id is not None: |  | ||||||
|             query = query.where(lambda x: x.role_id == self._role_id) |  | ||||||
|  |  | ||||||
|         if self._role_name is not None and self._role_id is not None: |  | ||||||
|  |  | ||||||
|             def get_role_name(x: ShortRoleName): |  | ||||||
|                 guild = self._bot.get_guild(x.server.discord_id) |  | ||||||
|                 name = guild.get_role(x.role_id).name |  | ||||||
|                 return name == self._role_name or self._role_name in name |  | ||||||
|  |  | ||||||
|             query = query.where(get_role_name) |  | ||||||
|  |  | ||||||
|         if self._position is not None: |  | ||||||
|             query = query.where(lambda x: x.position.value == self._position.value) |  | ||||||
|  |  | ||||||
|         if self._server is not None: |  | ||||||
|             servers = self._server.filter(query.select(lambda x: x.server)).select(lambda x: x.id) |  | ||||||
|             query = query.where(lambda x: x.server.id in servers) |  | ||||||
|  |  | ||||||
|         return query |  | ||||||
| @@ -5,7 +5,6 @@ type Mutation { | |||||||
|     user: UserMutation |     user: UserMutation | ||||||
|     userJoinedGameServer: UserJoinedGameServerMutation |     userJoinedGameServer: UserJoinedGameServerMutation | ||||||
|     achievement: AchievementMutation |     achievement: AchievementMutation | ||||||
|     shortRoleName: ShortRoleNameMutation |  | ||||||
|     technicianConfig: TechnicianConfigMutation |     technicianConfig: TechnicianConfigMutation | ||||||
|     serverConfig: ServerConfigMutation |     serverConfig: ServerConfigMutation | ||||||
| } | } | ||||||
| @@ -37,10 +37,6 @@ type Query { | |||||||
|     achievementAttributes: [AchievementAttribute] |     achievementAttributes: [AchievementAttribute] | ||||||
|     achievementOperators: [String] |     achievementOperators: [String] | ||||||
|  |  | ||||||
|     shortRoleNameCount: Int |  | ||||||
|     shortRoleNames(filter: ShortRoleNameFilter, page: Page, sort: Sort): [ShortRoleName] |  | ||||||
|     shortRoleNamePositions: [String] |  | ||||||
|  |  | ||||||
|     technicianConfig: TechnicianConfig |     technicianConfig: TechnicianConfig | ||||||
|     possibleFeatureFlags: [String] |     possibleFeatureFlags: [String] | ||||||
|     discord: Discord |     discord: Discord | ||||||
|   | |||||||
| @@ -31,11 +31,7 @@ type Server implements TableWithHistoryQuery { | |||||||
|     achievementCount: Int |     achievementCount: Int | ||||||
|     achievements(filter: AchievementFilter, page: Page, sort: Sort): [Achievement] |     achievements(filter: AchievementFilter, page: Page, sort: Sort): [Achievement] | ||||||
|  |  | ||||||
|     shortRoleNameCount: Int |  | ||||||
|     shortRoleNames(filter: ShortRoleNameFilter, page: Page, sort: Sort): [ShortRoleName] |  | ||||||
|  |  | ||||||
|     config: ServerConfig |     config: ServerConfig | ||||||
|     hasFeatureFlag(flag: String): FeatureFlag |  | ||||||
|  |  | ||||||
|     createdAt: String |     createdAt: String | ||||||
|     modifiedAt: String |     modifiedAt: String | ||||||
|   | |||||||
| @@ -1,50 +0,0 @@ | |||||||
| type ShortRoleName implements TableWithHistoryQuery { |  | ||||||
|     id: ID |  | ||||||
|     shortName: String |  | ||||||
|     roleId: String |  | ||||||
|     roleName: String |  | ||||||
|     position: String |  | ||||||
|  |  | ||||||
|     server: Server |  | ||||||
|  |  | ||||||
|     createdAt: String |  | ||||||
|     modifiedAt: String |  | ||||||
|  |  | ||||||
|     history: [ShortRoleNameHistory] |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type ShortRoleNameHistory implements HistoryTableQuery { |  | ||||||
|     id: ID |  | ||||||
|     shortName: String |  | ||||||
|     roleId: String |  | ||||||
|     position: String |  | ||||||
|  |  | ||||||
|     server: ID |  | ||||||
|  |  | ||||||
|     deleted: Boolean |  | ||||||
|     dateFrom: String |  | ||||||
|     dateTo: String |  | ||||||
| } |  | ||||||
|  |  | ||||||
| input ShortRoleNameFilter { |  | ||||||
|     id: ID |  | ||||||
|     shortName: String |  | ||||||
|     roleId: String |  | ||||||
|     roleName: String |  | ||||||
|     position: String |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type ShortRoleNameMutation { |  | ||||||
|     createShortRoleName(input: ShortRoleNameInput!): ShortRoleName |  | ||||||
|     updateShortRoleName(input: ShortRoleNameInput!): ShortRoleName |  | ||||||
|     deleteShortRoleName(id: ID): ShortRoleName |  | ||||||
| } |  | ||||||
|  |  | ||||||
| input ShortRoleNameInput { |  | ||||||
|     id: ID |  | ||||||
|     shortName: String |  | ||||||
|     roleId: String |  | ||||||
|     roleName: String |  | ||||||
|     position: String |  | ||||||
|     serverId: ID |  | ||||||
| } |  | ||||||
| @@ -5,6 +5,7 @@ from cpl_discord.service.discord_collection_abc import DiscordCollectionABC | |||||||
|  |  | ||||||
| from bot_core.abc.module_abc import ModuleABC | from bot_core.abc.module_abc import ModuleABC | ||||||
| from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum | from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum | ||||||
|  | from bot_data.service.seeder_service import SeederService | ||||||
| from bot_graphql.abc.filter_abc import FilterABC | from bot_graphql.abc.filter_abc import FilterABC | ||||||
| from bot_graphql.abc.query_abc import QueryABC | from bot_graphql.abc.query_abc import QueryABC | ||||||
| from bot_graphql.filter.achievement_filter import AchievementFilter | from bot_graphql.filter.achievement_filter import AchievementFilter | ||||||
| @@ -13,7 +14,6 @@ from bot_graphql.filter.auto_role_rule_filter import AutoRoleRuleFilter | |||||||
| from bot_graphql.filter.client_filter import ClientFilter | from bot_graphql.filter.client_filter import ClientFilter | ||||||
| from bot_graphql.filter.level_filter import LevelFilter | from bot_graphql.filter.level_filter import LevelFilter | ||||||
| from bot_graphql.filter.server_filter import ServerFilter | from bot_graphql.filter.server_filter import ServerFilter | ||||||
| from bot_graphql.filter.short_role_name_filter import ShortRoleNameFilter |  | ||||||
| from bot_graphql.filter.user_filter import UserFilter | from bot_graphql.filter.user_filter import UserFilter | ||||||
| from bot_graphql.filter.user_joined_game_server_filter import UserJoinedGameServerFilter | from bot_graphql.filter.user_joined_game_server_filter import UserJoinedGameServerFilter | ||||||
| from bot_graphql.filter.user_joined_server_filter import UserJoinedServerFilter | from bot_graphql.filter.user_joined_server_filter import UserJoinedServerFilter | ||||||
| @@ -25,7 +25,6 @@ from bot_graphql.mutations.auto_role_mutation import AutoRoleMutation | |||||||
| from bot_graphql.mutations.auto_role_rule_mutation import AutoRoleRuleMutation | from bot_graphql.mutations.auto_role_rule_mutation import AutoRoleRuleMutation | ||||||
| from bot_graphql.mutations.level_mutation import LevelMutation | from bot_graphql.mutations.level_mutation import LevelMutation | ||||||
| from bot_graphql.mutations.server_config_mutation import ServerConfigMutation | from bot_graphql.mutations.server_config_mutation import ServerConfigMutation | ||||||
| from bot_graphql.mutations.short_role_name_mutation import ShortRoleNameMutation |  | ||||||
| from bot_graphql.mutations.technician_config_mutation import TechnicianConfigMutation | from bot_graphql.mutations.technician_config_mutation import TechnicianConfigMutation | ||||||
| from bot_graphql.mutations.user_joined_game_server_mutation import UserJoinedGameServerMutation | from bot_graphql.mutations.user_joined_game_server_mutation import UserJoinedGameServerMutation | ||||||
| from bot_graphql.mutations.user_mutation import UserMutation | from bot_graphql.mutations.user_mutation import UserMutation | ||||||
| @@ -52,8 +51,6 @@ from bot_graphql.queries.level_query import LevelQuery | |||||||
| from bot_graphql.queries.server_config_query import ServerConfigQuery | from bot_graphql.queries.server_config_query import ServerConfigQuery | ||||||
| from bot_graphql.queries.server_history_query import ServerHistoryQuery | from bot_graphql.queries.server_history_query import ServerHistoryQuery | ||||||
| from bot_graphql.queries.server_query import ServerQuery | from bot_graphql.queries.server_query import ServerQuery | ||||||
| from bot_graphql.queries.short_role_name_history_query import ShortRoleNameHistoryQuery |  | ||||||
| from bot_graphql.queries.short_role_name_query import ShortRoleNameQuery |  | ||||||
| from bot_graphql.queries.technician_config_history_query import TechnicianConfigHistoryQuery | from bot_graphql.queries.technician_config_history_query import TechnicianConfigHistoryQuery | ||||||
| from bot_graphql.queries.technician_config_query import TechnicianConfigQuery | from bot_graphql.queries.technician_config_query import TechnicianConfigQuery | ||||||
| from bot_graphql.queries.technician_id_config_history_query import TechnicianIdConfigHistoryQuery | from bot_graphql.queries.technician_id_config_history_query import TechnicianIdConfigHistoryQuery | ||||||
| @@ -113,8 +110,6 @@ class GraphQLModule(ModuleABC): | |||||||
|         services.add_transient(QueryABC, UserJoinedVoiceChannelQuery) |         services.add_transient(QueryABC, UserJoinedVoiceChannelQuery) | ||||||
|         services.add_transient(QueryABC, UserJoinedGameServerHistoryQuery) |         services.add_transient(QueryABC, UserJoinedGameServerHistoryQuery) | ||||||
|         services.add_transient(QueryABC, UserJoinedGameServerQuery) |         services.add_transient(QueryABC, UserJoinedGameServerQuery) | ||||||
|         services.add_transient(QueryABC, ShortRoleNameHistoryQuery) |  | ||||||
|         services.add_transient(QueryABC, ShortRoleNameQuery) |  | ||||||
|  |  | ||||||
|         services.add_transient(QueryABC, DiscordQuery) |         services.add_transient(QueryABC, DiscordQuery) | ||||||
|         services.add_transient(QueryABC, GuildQuery) |         services.add_transient(QueryABC, GuildQuery) | ||||||
| @@ -134,7 +129,6 @@ class GraphQLModule(ModuleABC): | |||||||
|         services.add_transient(FilterABC, UserJoinedServerFilter) |         services.add_transient(FilterABC, UserJoinedServerFilter) | ||||||
|         services.add_transient(FilterABC, UserJoinedVoiceChannelFilter) |         services.add_transient(FilterABC, UserJoinedVoiceChannelFilter) | ||||||
|         services.add_transient(FilterABC, UserJoinedGameServerFilter) |         services.add_transient(FilterABC, UserJoinedGameServerFilter) | ||||||
|         services.add_transient(FilterABC, ShortRoleNameFilter) |  | ||||||
|  |  | ||||||
|         # mutations |         # mutations | ||||||
|         services.add_transient(QueryABC, AutoRoleMutation) |         services.add_transient(QueryABC, AutoRoleMutation) | ||||||
| @@ -142,7 +136,8 @@ class GraphQLModule(ModuleABC): | |||||||
|         services.add_transient(QueryABC, LevelMutation) |         services.add_transient(QueryABC, LevelMutation) | ||||||
|         services.add_transient(QueryABC, UserMutation) |         services.add_transient(QueryABC, UserMutation) | ||||||
|         services.add_transient(QueryABC, AchievementMutation) |         services.add_transient(QueryABC, AchievementMutation) | ||||||
|         services.add_transient(QueryABC, ShortRoleNameMutation) |  | ||||||
|         services.add_transient(QueryABC, UserJoinedGameServerMutation) |         services.add_transient(QueryABC, UserJoinedGameServerMutation) | ||||||
|         services.add_transient(QueryABC, TechnicianConfigMutation) |         services.add_transient(QueryABC, TechnicianConfigMutation) | ||||||
|         services.add_transient(QueryABC, ServerConfigMutation) |         services.add_transient(QueryABC, ServerConfigMutation) | ||||||
|  |  | ||||||
|  |         services.add_transient(SeederService) | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.model" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -5,7 +5,6 @@ from bot_graphql.mutations.auto_role_mutation import AutoRoleMutation | |||||||
| from bot_graphql.mutations.auto_role_rule_mutation import AutoRoleRuleMutation | from bot_graphql.mutations.auto_role_rule_mutation import AutoRoleRuleMutation | ||||||
| from bot_graphql.mutations.level_mutation import LevelMutation | from bot_graphql.mutations.level_mutation import LevelMutation | ||||||
| from bot_graphql.mutations.server_config_mutation import ServerConfigMutation | from bot_graphql.mutations.server_config_mutation import ServerConfigMutation | ||||||
| from bot_graphql.mutations.short_role_name_mutation import ShortRoleNameMutation |  | ||||||
| from bot_graphql.mutations.technician_config_mutation import TechnicianConfigMutation | from bot_graphql.mutations.technician_config_mutation import TechnicianConfigMutation | ||||||
| from bot_graphql.mutations.user_joined_game_server_mutation import UserJoinedGameServerMutation | from bot_graphql.mutations.user_joined_game_server_mutation import UserJoinedGameServerMutation | ||||||
| from bot_graphql.mutations.user_mutation import UserMutation | from bot_graphql.mutations.user_mutation import UserMutation | ||||||
| @@ -22,7 +21,6 @@ class Mutation(MutationType): | |||||||
|         user_joined_game_server: UserJoinedGameServerMutation, |         user_joined_game_server: UserJoinedGameServerMutation, | ||||||
|         technician_config: TechnicianConfigMutation, |         technician_config: TechnicianConfigMutation, | ||||||
|         server_config: ServerConfigMutation, |         server_config: ServerConfigMutation, | ||||||
|         short_role_name_mutation: ShortRoleNameMutation, |  | ||||||
|     ): |     ): | ||||||
|         MutationType.__init__(self) |         MutationType.__init__(self) | ||||||
|  |  | ||||||
| @@ -32,6 +30,5 @@ class Mutation(MutationType): | |||||||
|         self.set_field("user", lambda *_: user_mutation) |         self.set_field("user", lambda *_: user_mutation) | ||||||
|         self.set_field("achievement", lambda *_: achievement_mutation) |         self.set_field("achievement", lambda *_: achievement_mutation) | ||||||
|         self.set_field("userJoinedGameServer", lambda *_: user_joined_game_server) |         self.set_field("userJoinedGameServer", lambda *_: user_joined_game_server) | ||||||
|         self.set_field("shortRoleName", lambda *_: short_role_name_mutation) |  | ||||||
|         self.set_field("technicianConfig", lambda *_: technician_config) |         self.set_field("technicianConfig", lambda *_: technician_config) | ||||||
|         self.set_field("serverConfig", lambda *_: server_config) |         self.set_field("serverConfig", lambda *_: server_config) | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.mutations" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,85 +0,0 @@ | |||||||
| from cpl_core.database.context import DatabaseContextABC |  | ||||||
| from cpl_discord.service import DiscordBotServiceABC |  | ||||||
|  |  | ||||||
| from bot_data.abc.server_repository_abc import ServerRepositoryABC |  | ||||||
| from bot_data.abc.short_role_name_repository_abc import ShortRoleNameRepositoryABC |  | ||||||
| from bot_data.model.short_role_name import ShortRoleName |  | ||||||
| from bot_data.model.user_role_enum import UserRoleEnum |  | ||||||
| from bot_graphql.abc.query_abc import QueryABC |  | ||||||
| from modules.permission.service.permission_service import PermissionService |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class ShortRoleNameMutation(QueryABC): |  | ||||||
|     def __init__( |  | ||||||
|         self, |  | ||||||
|         servers: ServerRepositoryABC, |  | ||||||
|         short_role_names: ShortRoleNameRepositoryABC, |  | ||||||
|         bot: DiscordBotServiceABC, |  | ||||||
|         db: DatabaseContextABC, |  | ||||||
|         permissions: PermissionService, |  | ||||||
|     ): |  | ||||||
|         QueryABC.__init__(self, "ShortRoleNameMutation") |  | ||||||
|  |  | ||||||
|         self._servers = servers |  | ||||||
|         self._short_role_names = short_role_names |  | ||||||
|         self._bot = bot |  | ||||||
|         self._db = db |  | ||||||
|         self._permissions = permissions |  | ||||||
|  |  | ||||||
|         self.set_field("createShortRoleName", self.resolve_create_short_role_name) |  | ||||||
|         self.set_field("updateShortRoleName", self.resolve_update_short_role_name) |  | ||||||
|         self.set_field("deleteShortRoleName", self.resolve_delete_short_role_name) |  | ||||||
|  |  | ||||||
|     def resolve_create_short_role_name(self, *_, input: dict): |  | ||||||
|         server = self._servers.get_server_by_id(input["serverId"]) |  | ||||||
|         self._can_user_mutate_data(server, UserRoleEnum.admin) |  | ||||||
|  |  | ||||||
|         short_role_name = ShortRoleName( |  | ||||||
|             input["shortName"], |  | ||||||
|             int(input["roleId"]), |  | ||||||
|             input["position"], |  | ||||||
|             server, |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|         result = self._short_role_names.find_short_role_names_by_role_id(short_role_name.role_id) |  | ||||||
|         if result is not None: |  | ||||||
|             raise ValueError("Short name for role already exists") |  | ||||||
|  |  | ||||||
|         self._short_role_names.add_short_role_name(short_role_name) |  | ||||||
|         self._db.save_changes() |  | ||||||
|  |  | ||||||
|         def get_new_short_role_name(srn: ShortRoleName): |  | ||||||
|             return ( |  | ||||||
|                 srn.short_name == short_role_name.short_name |  | ||||||
|                 and srn.role_id == short_role_name.role_id |  | ||||||
|                 and srn.position.value == short_role_name.position |  | ||||||
|             ) |  | ||||||
|  |  | ||||||
|         return ( |  | ||||||
|             self._short_role_names.get_short_role_names_by_server_id(short_role_name.server.id) |  | ||||||
|             .where(get_new_short_role_name) |  | ||||||
|             .last() |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     def resolve_update_short_role_name(self, *_, input: dict): |  | ||||||
|         short_role_name = self._short_role_names.get_short_role_name_by_id(input["id"]) |  | ||||||
|         self._can_user_mutate_data(short_role_name.server, UserRoleEnum.moderator) |  | ||||||
|  |  | ||||||
|         short_role_name.short_name = input["shortName"] if "shortName" in input else short_role_name.short_name |  | ||||||
|         short_role_name.role_id = input["roleId"] if "roleId" in input else short_role_name.role_id |  | ||||||
|         short_role_name.position = input["position"] if "position" in input else short_role_name.position |  | ||||||
|  |  | ||||||
|         self._short_role_names.update_short_role_name(short_role_name) |  | ||||||
|         self._db.save_changes() |  | ||||||
|  |  | ||||||
|         short_role_name = self._short_role_names.get_short_role_name_by_id(input["id"]) |  | ||||||
|         return short_role_name |  | ||||||
|  |  | ||||||
|     def resolve_delete_short_role_name(self, *_, id: int): |  | ||||||
|         short_role_name = self._short_role_names.get_short_role_name_by_id(id) |  | ||||||
|         self._can_user_mutate_data(short_role_name.server, UserRoleEnum.admin) |  | ||||||
|  |  | ||||||
|         self._short_role_names.delete_short_role_name(short_role_name) |  | ||||||
|         self._db.save_changes() |  | ||||||
|  |  | ||||||
|         return short_role_name |  | ||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.queries" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.queries.discord" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,4 +1,3 @@ | |||||||
| import discord |  | ||||||
| from cpl_discord.service import DiscordBotServiceABC | from cpl_discord.service import DiscordBotServiceABC | ||||||
| from cpl_query.extension import List | from cpl_query.extension import List | ||||||
| from discord import Guild | from discord import Guild | ||||||
| @@ -18,24 +17,22 @@ class GuildQuery(QueryABC): | |||||||
|         self.set_field("id", lambda g, *_: g.id) |         self.set_field("id", lambda g, *_: g.id) | ||||||
|         self.set_field("name", lambda g, *_: g.name) |         self.set_field("name", lambda g, *_: g.name) | ||||||
|         self.set_field("channels", self._resolve_channels) |         self.set_field("channels", self._resolve_channels) | ||||||
|         self.set_field("roles", lambda g, *_: g.roles.order_by(lambda x: x.position)) |         self.set_field("roles", lambda g, *_: g.roles) | ||||||
|         self.set_field( |         self.set_field("emojis", lambda g, *_: g.emojis) | ||||||
|             "emojis", lambda g, *_: List(discord.Emoji, g.emojis).order_by_descending(lambda x: x.created_at) |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     def _resolve_channels(self, g: Guild, *_, filter=None): |     def _resolve_channels(self, g: Guild, *_, filter=None): | ||||||
|         channels = List(any).extend(g.channels) |         users = List(any).extend(g.channels) | ||||||
|  |  | ||||||
|         if filter is None: |         if filter is None: | ||||||
|             return channels |             return users | ||||||
|  |  | ||||||
|         if "id" in filter: |         if "id" in filter: | ||||||
|             channels = channels.where(lambda c: c.id == int(filter["id"])) |             users = users.where(lambda c: c.id == int(filter["id"])) | ||||||
|  |  | ||||||
|         if "name" in filter: |         if "name" in filter: | ||||||
|             channels = channels.where(lambda c: c.id == filter["name"]) |             users = users.where(lambda c: c.id == filter["name"]) | ||||||
|  |  | ||||||
|         if "type" in filter: |         if "type" in filter: | ||||||
|             channels = channels.where(lambda c: type(c).__name__ == filter["type"]) |             users = users.where(lambda c: type(c).__name__ == filter["type"]) | ||||||
|  |  | ||||||
|         return channels.order_by(lambda x: x.position) |         return users | ||||||
|   | |||||||
| @@ -1,35 +1,28 @@ | |||||||
| from cpl_core.configuration import ConfigurationABC |  | ||||||
| from cpl_core.database.context import DatabaseContextABC | from cpl_core.database.context import DatabaseContextABC | ||||||
| from cpl_discord.service import DiscordBotServiceABC | from cpl_discord.service import DiscordBotServiceABC | ||||||
|  |  | ||||||
| from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum |  | ||||||
| from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings |  | ||||||
| from bot_data.abc.achievement_repository_abc import AchievementRepositoryABC | from bot_data.abc.achievement_repository_abc import AchievementRepositoryABC | ||||||
| from bot_data.abc.auto_role_repository_abc import AutoRoleRepositoryABC | from bot_data.abc.auto_role_repository_abc import AutoRoleRepositoryABC | ||||||
| from bot_data.abc.client_repository_abc import ClientRepositoryABC | from bot_data.abc.client_repository_abc import ClientRepositoryABC | ||||||
| from bot_data.abc.game_server_repository_abc import GameServerRepositoryABC | from bot_data.abc.game_server_repository_abc import GameServerRepositoryABC | ||||||
| from bot_data.abc.level_repository_abc import LevelRepositoryABC | from bot_data.abc.level_repository_abc import LevelRepositoryABC | ||||||
| from bot_data.abc.server_config_repository_abc import ServerConfigRepositoryABC | from bot_data.abc.server_config_repository_abc import ServerConfigRepositoryABC | ||||||
| from bot_data.abc.short_role_name_repository_abc import ShortRoleNameRepositoryABC |  | ||||||
| from bot_data.abc.user_joined_server_repository_abc import UserJoinedServerRepositoryABC | from bot_data.abc.user_joined_server_repository_abc import UserJoinedServerRepositoryABC | ||||||
| from bot_data.abc.user_joined_voice_channel_repository_abc import UserJoinedVoiceChannelRepositoryABC | from bot_data.abc.user_joined_voice_channel_repository_abc import UserJoinedVoiceChannelRepositoryABC | ||||||
| from bot_data.abc.user_repository_abc import UserRepositoryABC | from bot_data.abc.user_repository_abc import UserRepositoryABC | ||||||
| from bot_data.model.server import Server | from bot_data.model.server import Server | ||||||
| from bot_data.model.server_config import ServerConfig |  | ||||||
| from bot_data.model.server_history import ServerHistory | from bot_data.model.server_history import ServerHistory | ||||||
| from bot_graphql.abc.data_query_with_history_abc import DataQueryWithHistoryABC | from bot_graphql.abc.data_query_with_history_abc import DataQueryWithHistoryABC | ||||||
| from bot_graphql.filter.achievement_filter import AchievementFilter | from bot_graphql.filter.achievement_filter import AchievementFilter | ||||||
| from bot_graphql.filter.auto_role_filter import AutoRoleFilter | from bot_graphql.filter.auto_role_filter import AutoRoleFilter | ||||||
| from bot_graphql.filter.client_filter import ClientFilter | from bot_graphql.filter.client_filter import ClientFilter | ||||||
| from bot_graphql.filter.level_filter import LevelFilter | from bot_graphql.filter.level_filter import LevelFilter | ||||||
| from bot_graphql.filter.short_role_name_filter import ShortRoleNameFilter |  | ||||||
| from bot_graphql.filter.user_filter import UserFilter | from bot_graphql.filter.user_filter import UserFilter | ||||||
|  |  | ||||||
|  |  | ||||||
| class ServerQuery(DataQueryWithHistoryABC): | class ServerQuery(DataQueryWithHistoryABC): | ||||||
|     def __init__( |     def __init__( | ||||||
|         self, |         self, | ||||||
|         config: ConfigurationABC, |  | ||||||
|         bot: DiscordBotServiceABC, |         bot: DiscordBotServiceABC, | ||||||
|         db: DatabaseContextABC, |         db: DatabaseContextABC, | ||||||
|         auto_roles: AutoRoleRepositoryABC, |         auto_roles: AutoRoleRepositoryABC, | ||||||
| @@ -40,12 +33,10 @@ class ServerQuery(DataQueryWithHistoryABC): | |||||||
|         ujs: UserJoinedServerRepositoryABC, |         ujs: UserJoinedServerRepositoryABC, | ||||||
|         ujvs: UserJoinedVoiceChannelRepositoryABC, |         ujvs: UserJoinedVoiceChannelRepositoryABC, | ||||||
|         achievements: AchievementRepositoryABC, |         achievements: AchievementRepositoryABC, | ||||||
|         short_role_names: ShortRoleNameRepositoryABC, |  | ||||||
|         server_configs: ServerConfigRepositoryABC, |         server_configs: ServerConfigRepositoryABC, | ||||||
|     ): |     ): | ||||||
|         DataQueryWithHistoryABC.__init__(self, "Server", "ServersHistory", ServerHistory, db) |         DataQueryWithHistoryABC.__init__(self, "Server", "ServersHistory", ServerHistory, db) | ||||||
|  |  | ||||||
|         self._config = config |  | ||||||
|         self._bot = bot |         self._bot = bot | ||||||
|         self._auto_roles = auto_roles |         self._auto_roles = auto_roles | ||||||
|         self._clients = clients |         self._clients = clients | ||||||
| @@ -73,15 +64,7 @@ class ServerQuery(DataQueryWithHistoryABC): | |||||||
|         self.add_collection( |         self.add_collection( | ||||||
|             "achievement", lambda server, *_: achievements.get_achievements_by_server_id(server.id), AchievementFilter |             "achievement", lambda server, *_: achievements.get_achievements_by_server_id(server.id), AchievementFilter | ||||||
|         ) |         ) | ||||||
|         self.add_collection( |  | ||||||
|             "shortRoleName", |  | ||||||
|             lambda server, *_: short_role_names.get_short_role_names_by_server_id(server.id), |  | ||||||
|             ShortRoleNameFilter, |  | ||||||
|         ) |  | ||||||
|         self.set_field("config", lambda server, *_: server_configs.get_server_config_by_server(server.id)) |         self.set_field("config", lambda server, *_: server_configs.get_server_config_by_server(server.id)) | ||||||
|         self.set_field( |  | ||||||
|             "hasFeatureFlag", lambda server, *_, **kwargs: self._resolve_has_feature_flag(server, *_, **kwargs) |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     @staticmethod |     @staticmethod | ||||||
|     def resolve_id(server: Server, *_): |     def resolve_id(server: Server, *_): | ||||||
| @@ -98,12 +81,3 @@ class ServerQuery(DataQueryWithHistoryABC): | |||||||
|     @staticmethod |     @staticmethod | ||||||
|     def resolve_icon_url(server: Server, *_): |     def resolve_icon_url(server: Server, *_): | ||||||
|         return server.icon_url |         return server.icon_url | ||||||
|  |  | ||||||
|     def _resolve_has_feature_flag(self, server: Server, *_, **kwargs): |  | ||||||
|         settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{server.discord_id}") |  | ||||||
|         if "flag" not in kwargs: |  | ||||||
|             return False |  | ||||||
|         return { |  | ||||||
|             "key": kwargs["flag"], |  | ||||||
|             "value": FeatureFlagsSettings.get_flag_from_dict(settings.feature_flags, FeatureFlagsEnum(kwargs["flag"])), |  | ||||||
|         } |  | ||||||
|   | |||||||
| @@ -1,11 +0,0 @@ | |||||||
| from bot_graphql.abc.history_query_abc import HistoryQueryABC |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class ShortRoleNameHistoryQuery(HistoryQueryABC): |  | ||||||
|     def __init__(self): |  | ||||||
|         HistoryQueryABC.__init__(self, "ShortRoleName") |  | ||||||
|  |  | ||||||
|         self.set_field("id", lambda x, *_: x.id) |  | ||||||
|         self.set_field("shortName", lambda x, *_: x.shortName) |  | ||||||
|         self.set_field("roleId", lambda x, *_: x.roleId) |  | ||||||
|         self.set_field("position", lambda x, *_: x.position.value) |  | ||||||
| @@ -1,18 +0,0 @@ | |||||||
| from cpl_core.database.context import DatabaseContextABC |  | ||||||
|  |  | ||||||
| from bot_data.model.short_role_name_history import ShortRoleNameHistory |  | ||||||
| from bot_graphql.abc.data_query_with_history_abc import DataQueryWithHistoryABC |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class ShortRoleNameQuery(DataQueryWithHistoryABC): |  | ||||||
|     def __init__( |  | ||||||
|         self, |  | ||||||
|         db: DatabaseContextABC, |  | ||||||
|     ): |  | ||||||
|         DataQueryWithHistoryABC.__init__(self, "ShortRoleName", "ShortRoleNamesHistory", ShortRoleNameHistory, db) |  | ||||||
|  |  | ||||||
|         self.set_field("id", lambda x, *_: x.id) |  | ||||||
|         self.set_field("shortName", lambda x, *_: x.short_name) |  | ||||||
|         self.set_field("roleId", lambda x, *_: x.role_id) |  | ||||||
|         self.set_field("roleName", lambda x, *_: x.role_name) |  | ||||||
|         self.set_field("position", lambda x, *_: x.position.value) |  | ||||||
| @@ -9,13 +9,11 @@ from bot_data.abc.game_server_repository_abc import GameServerRepositoryABC | |||||||
| from bot_data.abc.known_user_repository_abc import KnownUserRepositoryABC | from bot_data.abc.known_user_repository_abc import KnownUserRepositoryABC | ||||||
| from bot_data.abc.level_repository_abc import LevelRepositoryABC | from bot_data.abc.level_repository_abc import LevelRepositoryABC | ||||||
| from bot_data.abc.server_repository_abc import ServerRepositoryABC | from bot_data.abc.server_repository_abc import ServerRepositoryABC | ||||||
| from bot_data.abc.short_role_name_repository_abc import ShortRoleNameRepositoryABC |  | ||||||
| from bot_data.abc.technician_config_repository_abc import TechnicianConfigRepositoryABC | from bot_data.abc.technician_config_repository_abc import TechnicianConfigRepositoryABC | ||||||
| from bot_data.abc.user_joined_game_server_repository_abc import UserJoinedGameServerRepositoryABC | from bot_data.abc.user_joined_game_server_repository_abc import UserJoinedGameServerRepositoryABC | ||||||
| from bot_data.abc.user_joined_server_repository_abc import UserJoinedServerRepositoryABC | from bot_data.abc.user_joined_server_repository_abc import UserJoinedServerRepositoryABC | ||||||
| from bot_data.abc.user_joined_voice_channel_repository_abc import UserJoinedVoiceChannelRepositoryABC | from bot_data.abc.user_joined_voice_channel_repository_abc import UserJoinedVoiceChannelRepositoryABC | ||||||
| from bot_data.abc.user_repository_abc import UserRepositoryABC | from bot_data.abc.user_repository_abc import UserRepositoryABC | ||||||
| from bot_data.model.short_role_name_position_enum import ShortRoleNamePositionEnum |  | ||||||
| from bot_graphql.abc.query_abc import QueryABC | from bot_graphql.abc.query_abc import QueryABC | ||||||
| from bot_graphql.filter.achievement_filter import AchievementFilter | from bot_graphql.filter.achievement_filter import AchievementFilter | ||||||
| from bot_graphql.filter.auto_role_filter import AutoRoleFilter | from bot_graphql.filter.auto_role_filter import AutoRoleFilter | ||||||
| @@ -23,7 +21,6 @@ from bot_graphql.filter.auto_role_rule_filter import AutoRoleRuleFilter | |||||||
| from bot_graphql.filter.client_filter import ClientFilter | from bot_graphql.filter.client_filter import ClientFilter | ||||||
| from bot_graphql.filter.level_filter import LevelFilter | from bot_graphql.filter.level_filter import LevelFilter | ||||||
| from bot_graphql.filter.server_filter import ServerFilter | from bot_graphql.filter.server_filter import ServerFilter | ||||||
| from bot_graphql.filter.short_role_name_filter import ShortRoleNameFilter |  | ||||||
| from bot_graphql.filter.user_filter import UserFilter | from bot_graphql.filter.user_filter import UserFilter | ||||||
| from bot_graphql.filter.user_joined_game_server_filter import UserJoinedGameServerFilter | from bot_graphql.filter.user_joined_game_server_filter import UserJoinedGameServerFilter | ||||||
| from bot_graphql.filter.user_joined_server_filter import UserJoinedServerFilter | from bot_graphql.filter.user_joined_server_filter import UserJoinedServerFilter | ||||||
| @@ -47,7 +44,6 @@ class Query(QueryABC): | |||||||
|         user_joined_game_server: UserJoinedGameServerRepositoryABC, |         user_joined_game_server: UserJoinedGameServerRepositoryABC, | ||||||
|         users: UserRepositoryABC, |         users: UserRepositoryABC, | ||||||
|         achievements: AchievementRepositoryABC, |         achievements: AchievementRepositoryABC, | ||||||
|         short_role_names: ShortRoleNameRepositoryABC, |  | ||||||
|         achievement_service: AchievementService, |         achievement_service: AchievementService, | ||||||
|         technician_config: TechnicianConfigRepositoryABC, |         technician_config: TechnicianConfigRepositoryABC, | ||||||
|     ): |     ): | ||||||
| @@ -75,12 +71,9 @@ class Query(QueryABC): | |||||||
|         ) |         ) | ||||||
|         self.add_collection("user", lambda *_: users.get_users(), UserFilter) |         self.add_collection("user", lambda *_: users.get_users(), UserFilter) | ||||||
|         self.add_collection("achievement", lambda *_: achievements.get_achievements(), AchievementFilter) |         self.add_collection("achievement", lambda *_: achievements.get_achievements(), AchievementFilter) | ||||||
|         self.add_collection("shortRoleName", lambda *_: short_role_names.get_short_role_names(), ShortRoleNameFilter) |  | ||||||
|  |  | ||||||
|         self.set_field("technicianConfig", lambda *_: technician_config.get_technician_config()) |         self.set_field("technicianConfig", lambda *_: technician_config.get_technician_config()) | ||||||
|  |  | ||||||
|         self.set_field("achievementAttributes", lambda *_: achievement_service.get_attributes()) |         self.set_field("achievementAttributes", lambda *_: achievement_service.get_attributes()) | ||||||
|         self.set_field("achievementOperators", lambda *_: achievement_service.get_operators()) |         self.set_field("achievementOperators", lambda *_: achievement_service.get_operators()) | ||||||
|         self.set_field("shortRoleNamePositions", lambda *_: [x.value for x in ShortRoleNamePositionEnum]) |  | ||||||
|         self.set_field("possibleFeatureFlags", lambda *_: [e.value for e in FeatureFlagsEnum]) |         self.set_field("possibleFeatureFlags", lambda *_: [e.value for e in FeatureFlagsEnum]) | ||||||
|         self.set_field("discord", lambda *_: Discord(bot.guilds, List(any).extend(bot.users))) |         self.set_field("discord", lambda *_: Discord(bot.guilds, List(any).extend(bot.users))) | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.achievements" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|     "Version": { |     "Version": { | ||||||
|       "Major": "1", |       "Major": "1", | ||||||
|       "Minor": "1", |       "Minor": "1", | ||||||
|       "Micro": "7" |       "Micro": "6" | ||||||
|     }, |     }, | ||||||
|     "Author": "Sven Heidemann", |     "Author": "Sven Heidemann", | ||||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", |     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||||
| @@ -16,10 +16,10 @@ | |||||||
|     "LicenseName": "MIT", |     "LicenseName": "MIT", | ||||||
|     "LicenseDescription": "MIT, see LICENSE for more details.", |     "LicenseDescription": "MIT, see LICENSE for more details.", | ||||||
|     "Dependencies": [ |     "Dependencies": [ | ||||||
|       "cpl-core>=1.1.7" |       "cpl-core>=1.1.1" | ||||||
|     ], |     ], | ||||||
|     "DevDependencies": [ |     "DevDependencies": [ | ||||||
|       "cpl-cli>=1.1.7" |       "cpl-cli>=1.1.1" | ||||||
|     ], |     ], | ||||||
|     "PythonVersion": ">=3.10.4", |     "PythonVersion": ">=3.10.4", | ||||||
|     "PythonPath": {}, |     "PythonPath": {}, | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.achievements.commands" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.achievements.events" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.achievements.model" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.auto_role" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|     "Version": { |     "Version": { | ||||||
|       "Major": "1", |       "Major": "1", | ||||||
|       "Minor": "1", |       "Minor": "1", | ||||||
|       "Micro": "7" |       "Micro": "6" | ||||||
|     }, |     }, | ||||||
|     "Author": "", |     "Author": "", | ||||||
|     "AuthorEmail": "", |     "AuthorEmail": "", | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.auto_role.command" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.auto_role.events" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.auto_role.helper" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|     "Version": { |     "Version": { | ||||||
|       "Major": "1", |       "Major": "1", | ||||||
|       "Minor": "1", |       "Minor": "1", | ||||||
|       "Micro": "7" |       "Micro": "6" | ||||||
|     }, |     }, | ||||||
|     "Author": "", |     "Author": "", | ||||||
|     "AuthorEmail": "", |     "AuthorEmail": "", | ||||||
|   | |||||||
| @@ -21,7 +21,6 @@ from modules.base.command.unregister_group import UnregisterGroup | |||||||
| from modules.base.command.user_group import UserGroup | from modules.base.command.user_group import UserGroup | ||||||
| from modules.base.events.base_on_command_error_event import BaseOnCommandErrorEvent | from modules.base.events.base_on_command_error_event import BaseOnCommandErrorEvent | ||||||
| from modules.base.events.base_on_command_event import BaseOnCommandEvent | from modules.base.events.base_on_command_event import BaseOnCommandEvent | ||||||
| from modules.base.events.base_on_guild_join_event import BaseOnGuildJoinEvent |  | ||||||
| from modules.base.events.base_on_member_join_event import BaseOnMemberJoinEvent | from modules.base.events.base_on_member_join_event import BaseOnMemberJoinEvent | ||||||
| from modules.base.events.base_on_member_remove_event import BaseOnMemberRemoveEvent | from modules.base.events.base_on_member_remove_event import BaseOnMemberRemoveEvent | ||||||
| from modules.base.events.base_on_message_delete_event import BaseOnMessageDeleteEvent | from modules.base.events.base_on_message_delete_event import BaseOnMessageDeleteEvent | ||||||
| @@ -104,7 +103,3 @@ class BaseModule(ModuleABC): | |||||||
|             DiscordEventTypesEnum.on_scheduled_event_update.value, |             DiscordEventTypesEnum.on_scheduled_event_update.value, | ||||||
|             BaseOnScheduledEventUpdateEvent, |             BaseOnScheduledEventUpdateEvent, | ||||||
|         ) |         ) | ||||||
|         self._dc.add_event( |  | ||||||
|             DiscordEventTypesEnum.on_guild_join.value, |  | ||||||
|             BaseOnGuildJoinEvent, |  | ||||||
|         ) |  | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.command" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.events" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,38 +0,0 @@ | |||||||
| from cpl_core.database.context import DatabaseContextABC |  | ||||||
| from cpl_core.logging import LoggerABC |  | ||||||
| from cpl_discord.events import OnGuildJoinABC |  | ||||||
| from cpl_discord.service import DiscordBotServiceABC |  | ||||||
| from discord import Guild |  | ||||||
|  |  | ||||||
| from bot_data.abc.server_config_repository_abc import ServerConfigRepositoryABC |  | ||||||
| from bot_data.abc.server_repository_abc import ServerRepositoryABC |  | ||||||
| from bot_data.model.server import Server |  | ||||||
| from bot_data.service.seeder_service import SeederService |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class BaseOnGuildJoinEvent(OnGuildJoinABC): |  | ||||||
|     def __init__( |  | ||||||
|         self, |  | ||||||
|         logger: LoggerABC, |  | ||||||
|         bot: DiscordBotServiceABC, |  | ||||||
|         servers: ServerRepositoryABC, |  | ||||||
|         server_config: ServerConfigRepositoryABC, |  | ||||||
|         db: DatabaseContextABC, |  | ||||||
|         seeder: SeederService, |  | ||||||
|     ): |  | ||||||
|         OnGuildJoinABC.__init__(self) |  | ||||||
|  |  | ||||||
|         self._logger = logger |  | ||||||
|         self._bot = bot |  | ||||||
|         self._servers = servers |  | ||||||
|         self._server_config = server_config |  | ||||||
|         self._db = db |  | ||||||
|         self._seeder = seeder |  | ||||||
|  |  | ||||||
|     async def on_guild_join(self, guild: Guild): |  | ||||||
|         if self._servers.find_server_by_discord_id(guild.id) is None: |  | ||||||
|             self._servers.add_server(Server(guild.id)) |  | ||||||
|             self._db.save_changes() |  | ||||||
|  |  | ||||||
|         await self._seeder.seed() |  | ||||||
|         self._logger.debug(__name__, "Seeded technician config") |  | ||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.forms" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.helper" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.model" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports: | # imports: | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.service" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
|  |  | ||||||
| """ | """ | ||||||
| bot sh-edraft.de Discord bot | bot Keksdose bot | ||||||
| ~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
| Discord bot for customers of sh-edraft.de | Discord bot  for the Keksdose discord Server | ||||||
|  |  | ||||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | :copyright: (c) 2022 - 2023 sh-edraft.de | ||||||
| :license: MIT, see LICENSE for more details. | :license: MIT, see LICENSE for more details. | ||||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.thread" | |||||||
| __author__ = "Sven Heidemann" | __author__ = "Sven Heidemann" | ||||||
| __license__ = "MIT" | __license__ = "MIT" | ||||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||||
| __version__ = "1.1.7" | __version__ = "1.1.6" | ||||||
|  |  | ||||||
| from collections import namedtuple | from collections import namedtuple | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | |||||||
| # imports | # imports | ||||||
|  |  | ||||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||||
| version_info = VersionInfo(major="1", minor="1", micro="7") | version_info = VersionInfo(major="1", minor="1", micro="6") | ||||||
|   | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user