Compare commits
	
		
			20 Commits
		
	
	
		
			1.1.8
			...
			0e2b7d03fc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 0e2b7d03fc | |||
| c7f5ab0161 | |||
| 01e8e4256d | |||
| 75adc2285e | |||
| 9e12d84ba0 | |||
| d3b503d3ef | |||
| dd86c3a657 | |||
| aba6e48e2b | |||
| 73848c3141 | |||
| 33d6015088 | |||
| 7e962e05f6 | |||
| c73c6876b2 | |||
| 8e949c3e1a | |||
| 472a76d563 | |||
| f5d88ec94c | |||
| 2182c021b9 | |||
| a9c9880fd4 | |||
| d91c76467d | |||
| 2f10ace27f | |||
| 0ed93c56d0 | 
| @@ -5,8 +5,8 @@ volumes: | ||||
|  | ||||
| services: | ||||
|   kdb_bot_staging_1: | ||||
|     image: sh-edraft.de/kdb-bot:1.1.8 | ||||
|     container_name: kdb_bot_staging_1 | ||||
|     image: sh-edraft.de/kdb-bot:1.1.10 | ||||
|     restart: unless-stopped | ||||
|     depends_on: | ||||
|       - kdb_db_staging_1 | ||||
|     networks: | ||||
| @@ -25,15 +25,14 @@ services: | ||||
|       mode: replicated | ||||
|       replicas: 1 | ||||
|       placement: | ||||
|         constraints: [ node.role == manager ] | ||||
|         constraints: [node.role == manager] | ||||
|       resources: | ||||
|         reservations: | ||||
|           cpus: "0.5" | ||||
|           memory: 1024M | ||||
|  | ||||
|   kdb_web_staging_1: | ||||
|     image: sh-edraft.de/kdb-web:1.1.8 | ||||
|     container_name: kdb_web_staging_1 | ||||
|     image: sh-edraft.de/kdb-web:1.1.10 | ||||
|     depends_on: | ||||
|       - kdb_bot_staging_1 | ||||
|     networks: | ||||
| @@ -42,12 +41,12 @@ services: | ||||
|     volumes: | ||||
|       - /opt/kdb/staging/web/config.json:/usr/share/nginx/html/assets/config.json | ||||
|     environment: | ||||
|         BOT_CONTAINER_NAME: "kdb_bot_staging_1" | ||||
|       BOT_CONTAINER_NAME: "kdb_bot_staging_1" | ||||
|     deploy: | ||||
|       mode: replicated | ||||
|       replicas: 1 | ||||
|       placement: | ||||
|         constraints: [ node.role == manager ] | ||||
|         constraints: [node.role == manager] | ||||
|       resources: | ||||
|         limits: | ||||
|           cpus: "0.4" | ||||
| @@ -58,7 +57,6 @@ services: | ||||
|  | ||||
|   kdb_db_staging_1: | ||||
|     image: mysql:latest | ||||
|     container_name: kdb_db_staging_1 | ||||
|     command: mysqld --default-authentication-plugin=mysql_native_password --log_bin_trust_function_creators=1 | ||||
|     networks: | ||||
|       - kdb_test | ||||
| @@ -75,7 +73,7 @@ services: | ||||
|       mode: replicated | ||||
|       replicas: 1 | ||||
|       placement: | ||||
|         constraints: [ node.role == manager ] | ||||
|         constraints: [node.role == manager] | ||||
|       resources: | ||||
|         reservations: | ||||
|           cpus: "0.1" | ||||
| @@ -86,4 +84,4 @@ networks: | ||||
|     external: true | ||||
|   kdb_test: | ||||
|     driver: overlay | ||||
|     attachable: true | ||||
|     attachable: true | ||||
|   | ||||
| @@ -1,86 +1,87 @@ | ||||
| version: "3.9" | ||||
|  | ||||
| volumes: | ||||
|     kdb_db_prod_1: | ||||
|   kdb_db_prod_1: | ||||
|  | ||||
| services: | ||||
|     kdb_bot_prod_1: | ||||
|         image: sh-edraft.de/kdb-bot:1.1.8 | ||||
|         depends_on: | ||||
|             - kdb_db_prod_1 | ||||
|         networks: | ||||
|           - kdb_prod | ||||
|           - reverse_proxy | ||||
|         volumes: | ||||
|             - /opt/kdb/production/bot/config:/app/bot/config | ||||
|             - /opt/kdb/production/bot/api_config:/app/bot_api/config | ||||
|             - /opt/kdb/production/bot/logs:/app/bot/logs | ||||
|         environment: | ||||
|             KDB_ENVIRONMENT: "production" | ||||
|             KDB_TOKEN: "OTk4MTU5NTEyNDYyNzA4Nzg2.Gx0hSB.Ouq2dfRKxLBJvHfEq8OrFBHVUF24AQrVf55coM" | ||||
|             KDB_PREFIX: "!k " | ||||
|         deploy: | ||||
|           mode: replicated | ||||
|           replicas: 1 | ||||
|           placement: | ||||
|             constraints: [ node.role == manager ] | ||||
|           resources: | ||||
|             reservations: | ||||
|               cpus: "0.5" | ||||
|               memory: 1024M | ||||
|   kdb_bot_prod_1: | ||||
|     image: sh-edraft.de/kdb-bot:1.1.10 | ||||
|     restart: unless-stopped | ||||
|     depends_on: | ||||
|       - kdb_db_prod_1 | ||||
|     networks: | ||||
|       - kdb_prod | ||||
|       - reverse_proxy | ||||
|     volumes: | ||||
|       - /opt/kdb/production/bot/config:/app/bot/config | ||||
|       - /opt/kdb/production/bot/api_config:/app/bot_api/config | ||||
|       - /opt/kdb/production/bot/logs:/app/bot/logs | ||||
|     environment: | ||||
|       KDB_ENVIRONMENT: "production" | ||||
|       KDB_TOKEN: "OTk4MTU5NTEyNDYyNzA4Nzg2.Gx0hSB.Ouq2dfRKxLBJvHfEq8OrFBHVUF24AQrVf55coM" | ||||
|       KDB_PREFIX: "!k " | ||||
|     deploy: | ||||
|       mode: replicated | ||||
|       replicas: 1 | ||||
|       placement: | ||||
|         constraints: [node.role == manager] | ||||
|       resources: | ||||
|         reservations: | ||||
|           cpus: "0.5" | ||||
|           memory: 1024M | ||||
|  | ||||
|     kdb_web_prod_1: | ||||
|         image: sh-edraft.de/kdb-web:1.1.8 | ||||
|         depends_on: | ||||
|             - kdb_bot_prod_1 | ||||
|         networks: | ||||
|           - kdb_prod | ||||
|           - reverse_proxy | ||||
|         volumes: | ||||
|             - /opt/kdb/production/web/config.json:/usr/share/nginx/html/assets/config.json | ||||
|         environment: | ||||
|             BOT_CONTAINER_NAME: "kdb_bot_prod_1" | ||||
|         deploy: | ||||
|           mode: replicated | ||||
|           replicas: 1 | ||||
|           placement: | ||||
|             constraints: [ node.role == manager ] | ||||
|           resources: | ||||
|             limits: | ||||
|               cpus: "0.4" | ||||
|               memory: 400M | ||||
|             reservations: | ||||
|               cpus: "0.1" | ||||
|               memory: 20M | ||||
|   kdb_web_prod_1: | ||||
|     image: sh-edraft.de/kdb-web:1.1.10 | ||||
|     depends_on: | ||||
|       - kdb_bot_prod_1 | ||||
|     networks: | ||||
|       - kdb_prod | ||||
|       - reverse_proxy | ||||
|     volumes: | ||||
|       - /opt/kdb/production/web/config.json:/usr/share/nginx/html/assets/config.json | ||||
|     environment: | ||||
|       BOT_CONTAINER_NAME: "kdb_bot_prod_1" | ||||
|     deploy: | ||||
|       mode: replicated | ||||
|       replicas: 1 | ||||
|       placement: | ||||
|         constraints: [node.role == manager] | ||||
|       resources: | ||||
|         limits: | ||||
|           cpus: "0.4" | ||||
|           memory: 400M | ||||
|         reservations: | ||||
|           cpus: "0.1" | ||||
|           memory: 20M | ||||
|  | ||||
|     kdb_db_prod_1: | ||||
|         image: mysql:latest | ||||
|         command: mysqld --default-authentication-plugin=mysql_native_password --log_bin_trust_function_creators=1 | ||||
|         networks: | ||||
|           - kdb_prod | ||||
|         restart: unless-stopped | ||||
|         environment: | ||||
|             MYSQL_ROOT_PASSWORD: "kd_kdb" | ||||
|             MYSQL_USER: "kd_kdb" | ||||
|             MYSQL_PASSWORD: ",2#MzfN4J=7r(q,Tz3npDkCR§>VE&}7T" | ||||
|             MYSQL_DATABASE: "kd_kdb" | ||||
|         ports: | ||||
|             - "3307:3306" | ||||
|         volumes: | ||||
|             - kdb_db_prod_1:/var/lib/mysql | ||||
|         deploy: | ||||
|           mode: replicated | ||||
|           replicas: 1 | ||||
|           placement: | ||||
|             constraints: [ node.role == manager ] | ||||
|           resources: | ||||
|             reservations: | ||||
|               cpus: "0.1" | ||||
|               memory: 150M | ||||
|   kdb_db_prod_1: | ||||
|     image: mysql:latest | ||||
|     command: mysqld --default-authentication-plugin=mysql_native_password --log_bin_trust_function_creators=1 | ||||
|     networks: | ||||
|       - kdb_prod | ||||
|     restart: unless-stopped | ||||
|     environment: | ||||
|       MYSQL_ROOT_PASSWORD: "kd_kdb" | ||||
|       MYSQL_USER: "kd_kdb" | ||||
|       MYSQL_PASSWORD: ",2#MzfN4J=7r(q,Tz3npDkCR§>VE&}7T" | ||||
|       MYSQL_DATABASE: "kd_kdb" | ||||
|     ports: | ||||
|       - "3307:3306" | ||||
|     volumes: | ||||
|       - kdb_db_prod_1:/var/lib/mysql | ||||
|     deploy: | ||||
|       mode: replicated | ||||
|       replicas: 1 | ||||
|       placement: | ||||
|         constraints: [node.role == manager] | ||||
|       resources: | ||||
|         reservations: | ||||
|           cpus: "0.1" | ||||
|           memory: 150M | ||||
|  | ||||
| networks: | ||||
|   reverse_proxy: | ||||
|     external: true | ||||
|   kdb_prod: | ||||
|     driver: overlay | ||||
|     attachable: true | ||||
|     attachable: true | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot.extension" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -18,6 +18,7 @@ from bot_data.migration.initial_migration import InitialMigration | ||||
| from bot_data.migration.level_migration import LevelMigration | ||||
| from bot_data.migration.remove_stats_migration import RemoveStatsMigration | ||||
| from bot_data.migration.short_role_name_migration import ShortRoleNameMigration | ||||
| from bot_data.migration.short_role_name_only_highest_migration import ShortRoleNameOnlyHighestMigration | ||||
| from bot_data.migration.stats_migration import StatsMigration | ||||
| from bot_data.migration.user_joined_game_server_migration import UserJoinedGameServerMigration | ||||
| from bot_data.migration.user_message_count_per_hour_migration import ( | ||||
| @@ -54,3 +55,4 @@ class StartupMigrationExtension(StartupExtensionABC): | ||||
|         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 | ||||
|         services.add_transient(MigrationABC, ShortRoleNameOnlyHighestMigration)  # 02.10.2023 #391 - 1.1.9 | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.abc" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.configuration" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.controller" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.event" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.exception" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.filter" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.filter.discord" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.logging" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.model" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.model.discord" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.route" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.service" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_api.transformer" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.abc" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.configuration" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -24,3 +24,4 @@ class FeatureFlagsEnum(Enum): | ||||
|     game_server = "GameServer" | ||||
|     sync_xp = "SyncXp" | ||||
|     short_role_name = "ShortRoleName" | ||||
|     technician_full_access = "TechnicianFullAccess" | ||||
|   | ||||
| @@ -26,6 +26,7 @@ class FeatureFlagsSettings(ConfigurationModelABC): | ||||
|         FeatureFlagsEnum.game_server.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 | ||||
|         FeatureFlagsEnum.technician_full_access.value: False,  # 03.10.2023 #393 | ||||
|     } | ||||
|  | ||||
|     def __init__(self, **kwargs: dict): | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.core_extension" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.events" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.exception" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.helper" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.logging" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.pipes" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_core.service" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -7,8 +7,6 @@ from bot_data.abc.technician_config_repository_abc import TechnicianConfigReposi | ||||
| from bot_data.model.server import Server | ||||
| from bot_data.model.technician_config import TechnicianConfig | ||||
| from bot_data.service.server_config_seeder import ServerConfigSeeder | ||||
| from bot_data.service.technician_config_seeder import TechnicianConfigSeeder | ||||
| from modules.permission.abc.permission_service_abc import PermissionServiceABC | ||||
|  | ||||
|  | ||||
| class ConfigService: | ||||
| @@ -18,7 +16,6 @@ class ConfigService: | ||||
|         services: ServiceProviderABC, | ||||
|         technician_config_repo: TechnicianConfigRepositoryABC, | ||||
|         server_config_repo: ServerConfigRepositoryABC, | ||||
|         tech_seeder: TechnicianConfigSeeder, | ||||
|         server_seeder: ServerConfigSeeder, | ||||
|     ): | ||||
|         self._config = config | ||||
| @@ -26,13 +23,9 @@ class ConfigService: | ||||
|         self._technician_config_repo = technician_config_repo | ||||
|         self._server_config_repo = server_config_repo | ||||
|  | ||||
|         self._tech_seeder = tech_seeder | ||||
|         self._server_seeder = server_seeder | ||||
|  | ||||
|     async def reload_technician_config(self): | ||||
|         if not self._technician_config_repo.does_technician_config_exists(): | ||||
|             await self._tech_seeder.seed() | ||||
|  | ||||
|     def reload_technician_config(self): | ||||
|         technician_config = self._technician_config_repo.get_technician_config() | ||||
|         self._config.add_configuration(TechnicianConfig, technician_config) | ||||
|         self._config.add_configuration(FeatureFlagsSettings, FeatureFlagsSettings(**technician_config.feature_flags)) | ||||
| @@ -45,6 +38,3 @@ class ConfigService: | ||||
|         self._config.add_configuration( | ||||
|             f"{type(server_config).__name__}_{server_config.server.discord_id}", server_config | ||||
|         ) | ||||
|  | ||||
|         permissions: PermissionServiceABC = self._services.get_service(PermissionServiceABC) | ||||
|         permissions.on_ready() | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_data" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_data.abc" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_data.migration" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -1,25 +1,26 @@ | ||||
| CREATE TABLE IF NOT EXISTS `CFG_ServerHistory` | ||||
| ( | ||||
|     `Id`                      BIGINT(20)  NOT NULL, | ||||
|     `MessageDeleteTimer`      BIGINT      NOT NULL DEFAULT 6, | ||||
|     `NotificationChatId`      BIGINT      NOT NULL, | ||||
|     `MaxVoiceStateHours`      BIGINT      NOT NULL DEFAULT 6, | ||||
|     `XpPerMessage`            BIGINT      NOT NULL DEFAULT 1, | ||||
|     `XpPerReaction`           BIGINT      NOT NULL DEFAULT 1, | ||||
|     `MaxMessageXpPerHour`     BIGINT      NOT NULL DEFAULT 20, | ||||
|     `XpPerOntimeHour`         BIGINT      NOT NULL DEFAULT 10, | ||||
|     `XpPerEventParticipation` BIGINT      NOT NULL DEFAULT 10, | ||||
|     `XpPerAchievement`        BIGINT      NOT NULL DEFAULT 10, | ||||
|     `AFKCommandChannelId`     BIGINT      NOT NULL, | ||||
|     `HelpVoiceChannelId`      BIGINT      NOT NULL, | ||||
|     `TeamChannelId`           BIGINT      NOT NULL, | ||||
|     `LoginMessageChannelId`   BIGINT      NOT NULL, | ||||
|     `DefaultRoleId`           BIGINT      NULL, | ||||
|     `FeatureFlags`            JSON        NULL     DEFAULT ('{}'), | ||||
|     `ServerId`                BIGINT      NOT NULL, | ||||
|     `Deleted`                 BOOL                 DEFAULT FALSE, | ||||
|     `DateFrom`                DATETIME(6) NOT NULL, | ||||
|     `DateTo`                  DATETIME(6) NOT NULL | ||||
|     `Id`                          BIGINT(20)  NOT NULL, | ||||
|     `MessageDeleteTimer`          BIGINT      NOT NULL DEFAULT 6, | ||||
|     `NotificationChatId`          BIGINT      NOT NULL, | ||||
|     `MaxVoiceStateHours`          BIGINT      NOT NULL DEFAULT 6, | ||||
|     `XpPerMessage`                BIGINT      NOT NULL DEFAULT 1, | ||||
|     `XpPerReaction`               BIGINT      NOT NULL DEFAULT 1, | ||||
|     `MaxMessageXpPerHour`         BIGINT      NOT NULL DEFAULT 20, | ||||
|     `XpPerOntimeHour`             BIGINT      NOT NULL DEFAULT 10, | ||||
|     `XpPerEventParticipation`     BIGINT      NOT NULL DEFAULT 10, | ||||
|     `XpPerAchievement`            BIGINT      NOT NULL DEFAULT 10, | ||||
|     `AFKCommandChannelId`         BIGINT      NOT NULL, | ||||
|     `HelpVoiceChannelId`          BIGINT      NOT NULL, | ||||
|     `TeamChannelId`               BIGINT      NOT NULL, | ||||
|     `LoginMessageChannelId`       BIGINT      NOT NULL, | ||||
|     `DefaultRoleId`               BIGINT      NULL, | ||||
|     `ShortRoleNameSetOnlyHighest` BOOLEAN     NOT NULL DEFAULT FALSE, | ||||
|     `FeatureFlags`                JSON        NULL     DEFAULT ('{}'), | ||||
|     `ServerId`                    BIGINT      NOT NULL, | ||||
|     `Deleted`                     BOOL                 DEFAULT FALSE, | ||||
|     `DateFrom`                    DATETIME(6) NOT NULL, | ||||
|     `DateTo`                      DATETIME(6) NOT NULL | ||||
| ); | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_CFG_ServerUpdate`; | ||||
| @@ -44,6 +45,7 @@ BEGIN | ||||
|                                      `TeamChannelId`, | ||||
|                                      `LoginMessageChannelId`, | ||||
|                                      `DefaultRoleId`, | ||||
|                                      `ShortRoleNameSetOnlyHighest`, | ||||
|                                      `FeatureFlags`, | ||||
|                                      `ServerId`, | ||||
|                                      `DateFrom`, | ||||
| @@ -63,6 +65,7 @@ BEGIN | ||||
|             OLD.TeamChannelId, | ||||
|             OLD.LoginMessageChannelId, | ||||
|             OLD.DefaultRoleId, | ||||
|             OLD.ShortRoleNameSetOnlyHighest, | ||||
|             OLD.FeatureFlags, | ||||
|             OLD.ServerId, | ||||
|             OLD.LastModifiedAt, | ||||
| @@ -91,6 +94,7 @@ BEGIN | ||||
|                                      `TeamChannelId`, | ||||
|                                      `LoginMessageChannelId`, | ||||
|                                      `DefaultRoleId`, | ||||
|                                      `ShortRoleNameSetOnlyHighest`, | ||||
|                                      `ServerId`, | ||||
|                                      `FeatureFlags`, | ||||
|                                      `Deleted`, | ||||
| @@ -111,6 +115,7 @@ BEGIN | ||||
|             OLD.TeamChannelId, | ||||
|             OLD.LoginMessageChannelId, | ||||
|             OLD.DefaultRoleId, | ||||
|             OLD.ShortRoleNameSetOnlyHighest, | ||||
|             OLD.FeatureFlags, | ||||
|             OLD.ServerId, | ||||
|             TRUE, | ||||
|   | ||||
| @@ -0,0 +1,51 @@ | ||||
| from bot_core.logging.database_logger import DatabaseLogger | ||||
| from bot_data.abc.migration_abc import MigrationABC | ||||
| from bot_data.db_context import DBContext | ||||
|  | ||||
|  | ||||
| class ShortRoleNameOnlyHighestMigration(MigrationABC): | ||||
|     name = "1.1.9_ShortRoleNameOnlyHighestMigration" | ||||
|  | ||||
|     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_Server | ||||
|                     ADD ShortRoleNameSetOnlyHighest BOOLEAN NOT NULL DEFAULT FALSE AFTER DefaultRoleId; | ||||
|                 """ | ||||
|             ) | ||||
|         ) | ||||
|  | ||||
|         self._cursor.execute( | ||||
|             str( | ||||
|                 f""" | ||||
|                     ALTER TABLE CFG_ServerHistory | ||||
|                     ADD ShortRoleNameSetOnlyHighest BOOLEAN NOT NULL DEFAULT FALSE AFTER DefaultRoleId; | ||||
|                 """ | ||||
|             ) | ||||
|         ) | ||||
|         self._exec(__file__, "config/server.sql") | ||||
|  | ||||
|     def downgrade(self): | ||||
|         self._cursor.execute( | ||||
|             str( | ||||
|                 f""" | ||||
|                     ALTER TABLE CFG_Server DROP COLUMN ShortRoleNameSetOnlyHighest; | ||||
|                 """ | ||||
|             ) | ||||
|         ) | ||||
|         self._cursor.execute( | ||||
|             str( | ||||
|                 f""" | ||||
|                     ALTER TABLE CFG_ServerHistory DROP COLUMN ShortRoleNameSetOnlyHighest; | ||||
|                 """ | ||||
|             ) | ||||
|         ) | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_data.model" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -29,6 +29,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|         team_channel_id: int, | ||||
|         login_message_channel_id: int, | ||||
|         default_role_id: Optional[int], | ||||
|         short_role_name_only_set_highest_role: bool, | ||||
|         feature_flags: dict[FeatureFlagsEnum], | ||||
|         server: Server, | ||||
|         afk_channel_ids: List[int], | ||||
| @@ -52,6 +53,8 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|         self._team_channel_id = team_channel_id | ||||
|         self._login_message_channel_id = login_message_channel_id | ||||
|         self._default_role_id = default_role_id | ||||
|         self._short_role_name_only_set_highest_role = short_role_name_only_set_highest_role | ||||
|  | ||||
|         self._feature_flags = feature_flags | ||||
|         self._server = server | ||||
|         self._afk_channel_ids = afk_channel_ids | ||||
| @@ -78,6 +81,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|             guild.system_channel.id, | ||||
|             guild.system_channel.id, | ||||
|             None, | ||||
|             False, | ||||
|             {}, | ||||
|             server, | ||||
|             List(int), | ||||
| @@ -200,6 +204,14 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|     def default_role_id(self, value: int): | ||||
|         self._default_role_id = value | ||||
|  | ||||
|     @property | ||||
|     def short_role_name_only_set_highest_role(self) -> bool: | ||||
|         return self._short_role_name_only_set_highest_role | ||||
|  | ||||
|     @short_role_name_only_set_highest_role.setter | ||||
|     def short_role_name_only_set_highest_role(self, value: bool): | ||||
|         self._short_role_name_only_set_highest_role = value | ||||
|  | ||||
|     @property | ||||
|     def feature_flags(self) -> dict[FeatureFlagsEnum]: | ||||
|         return self._feature_flags | ||||
| @@ -273,6 +285,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|                     `TeamChannelId`, | ||||
|                     `LoginMessageChannelId`, | ||||
|                     `DefaultRoleId`, | ||||
|                     `ShortRoleNameSetOnlyHighest`, | ||||
|                     `FeatureFlags`, | ||||
|                     `ServerId` | ||||
|                 ) VALUES ( | ||||
| @@ -290,6 +303,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|                     {self._team_channel_id}, | ||||
|                     {self._login_message_channel_id}, | ||||
|                     {"NULL" if self._default_role_id is None else self._default_role_id}, | ||||
|                     {self._short_role_name_only_set_highest_role}, | ||||
|                     '{json.dumps(self._feature_flags)}', | ||||
|                     {self._server.id} | ||||
|                 ); | ||||
| @@ -315,6 +329,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|                 `TeamChannelId` = {self._team_channel_id}, | ||||
|                 `LoginMessageChannelId` = {self._login_message_channel_id}, | ||||
|                 `DefaultRoleId` = {"NULL" if self._default_role_id is None else self._default_role_id}, | ||||
|                 `ShortRoleNameSetOnlyHighest` = {self._short_role_name_only_set_highest_role}, | ||||
|                 `FeatureFlags` = '{json.dumps(self._feature_flags)}', | ||||
|                 `ServerId` = {self._server.id} | ||||
|                 WHERE `Id` = {self._id}; | ||||
|   | ||||
| @@ -18,6 +18,7 @@ class ServerConfigHistory(HistoryTableABC): | ||||
|         team_channel_id: int, | ||||
|         login_message_channel_id: int, | ||||
|         default_role_id: int, | ||||
|         short_role_name_only_set_highest_role: bool, | ||||
|         feature_flags: dict[str], | ||||
|         server_id: int, | ||||
|         deleted: bool, | ||||
| @@ -42,6 +43,8 @@ class ServerConfigHistory(HistoryTableABC): | ||||
|         self._team_channel_id = team_channel_id | ||||
|         self._login_message_channel_id = login_message_channel_id | ||||
|         self._default_role_id = default_role_id | ||||
|         self._short_role_name_only_set_highest_role = short_role_name_only_set_highest_role | ||||
|  | ||||
|         self._feature_flags = feature_flags | ||||
|         self._server_id = server_id | ||||
|  | ||||
| @@ -105,6 +108,10 @@ class ServerConfigHistory(HistoryTableABC): | ||||
|     def default_role_id(self) -> int: | ||||
|         return self._default_role_id | ||||
|  | ||||
|     @property | ||||
|     def short_role_name_only_set_highest_role(self) -> bool: | ||||
|         return self._short_role_name_only_set_highest_role | ||||
|  | ||||
|     @property | ||||
|     def feature_flags(self) -> dict[str]: | ||||
|         return self._feature_flags | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_data.service" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -65,12 +65,13 @@ class ServerConfigRepositoryService(ServerConfigRepositoryABC): | ||||
|             result[12], | ||||
|             result[13], | ||||
|             result[14], | ||||
|             json.loads(result[15]), | ||||
|             self._servers.get_server_by_id(result[16]), | ||||
|             self._get_afk_channel_ids(result[16]), | ||||
|             self._get_team_role_ids(result[16]), | ||||
|             result[17], | ||||
|             result[15], | ||||
|             json.loads(result[16]), | ||||
|             self._servers.get_server_by_id(result[17]), | ||||
|             self._get_afk_channel_ids(result[17]), | ||||
|             self._get_team_role_ids(result[17]), | ||||
|             result[18], | ||||
|             result[19], | ||||
|             id=result[0], | ||||
|         ) | ||||
|  | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.abc" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.filter" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -14,6 +14,7 @@ type ServerConfig implements TableWithHistoryQuery { | ||||
|     teamChannelId: String | ||||
|     loginMessageChannelId: String | ||||
|     defaultRoleId: String | ||||
|     shortRoleNameOnlySetHighestRole: Boolean | ||||
|     featureFlagCount: Int | ||||
|     featureFlags: [FeatureFlag] | ||||
|  | ||||
| @@ -45,6 +46,7 @@ type ServerConfigHistory implements HistoryTableQuery { | ||||
|     teamChannelId: String | ||||
|     loginMessageChannelId: String | ||||
|     defaultRoleId: String | ||||
|     shortRoleNameOnlySetHighestRole: Boolean | ||||
|     featureFlagCount: Int | ||||
|     featureFlags: [FeatureFlag] | ||||
|  | ||||
| @@ -94,6 +96,7 @@ input ServerConfigInput { | ||||
|     teamChannelId: String | ||||
|     loginMessageChannelId: String | ||||
|     defaultRoleId: String | ||||
|     shortRoleNameOnlySetHighestRole: Boolean | ||||
|     featureFlags: [FeatureFlagInput] | ||||
|  | ||||
|     afkChannelIds: [String] | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.model" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.mutations" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -13,7 +13,6 @@ from bot_data.model.server_team_role_ids_config import ServerTeamRoleIdsConfig | ||||
| from bot_data.model.team_member_type_enum import TeamMemberTypeEnum | ||||
| from bot_data.model.user_role_enum import UserRoleEnum | ||||
| from bot_graphql.abc.query_abc import QueryABC | ||||
| from modules.permission.abc.permission_service_abc import PermissionServiceABC | ||||
|  | ||||
|  | ||||
| class ServerConfigMutation(QueryABC): | ||||
| @@ -25,7 +24,6 @@ class ServerConfigMutation(QueryABC): | ||||
|         server_configs: ServerConfigRepositoryABC, | ||||
|         db: DatabaseContextABC, | ||||
|         config_service: ConfigService, | ||||
|         permissions: PermissionServiceABC, | ||||
|     ): | ||||
|         QueryABC.__init__(self, "ServerConfigMutation") | ||||
|  | ||||
| @@ -35,7 +33,6 @@ class ServerConfigMutation(QueryABC): | ||||
|         self._server_configs = server_configs | ||||
|         self._db = db | ||||
|         self._config_service = config_service | ||||
|         self._permissions = permissions | ||||
|  | ||||
|         self.set_field("updateServerConfig", self.resolve_update_server_config) | ||||
|  | ||||
| @@ -92,6 +89,11 @@ class ServerConfigMutation(QueryABC): | ||||
|         server_config.default_role_id = ( | ||||
|             input["defaultRoleId"] if "defaultRoleId" in input else server_config.default_role_id | ||||
|         ) | ||||
|         server_config.short_role_name_only_set_highest_role = ( | ||||
|             input["shortRoleNameOnlySetHighestRole"] | ||||
|             if "shortRoleNameOnlySetHighestRole" in input | ||||
|             else server_config.short_role_name_only_set_highest_role | ||||
|         ) | ||||
|         server_config.feature_flags = ( | ||||
|             dict(zip([x["key"] for x in input["featureFlags"]], [x["value"] for x in input["featureFlags"]])) | ||||
|             if "featureFlags" in input | ||||
| @@ -178,4 +180,3 @@ class ServerConfigMutation(QueryABC): | ||||
|             self._server_configs.add_server_team_role_id_config(role_id) | ||||
|  | ||||
|         self._bot.loop.create_task(self._config_service.reload_server_config(new_config.server)) | ||||
|         self._permissions.on_ready() | ||||
|   | ||||
| @@ -11,8 +11,8 @@ from bot_data.model.technician_config import TechnicianConfig | ||||
| from bot_data.model.technician_id_config import TechnicianIdConfig | ||||
| from bot_data.model.technician_ping_url_config import TechnicianPingUrlConfig | ||||
| from bot_data.model.user_role_enum import UserRoleEnum | ||||
| from bot_data.service.technician_config_seeder import TechnicianConfigSeeder | ||||
| from bot_graphql.abc.query_abc import QueryABC | ||||
| from modules.permission.abc.permission_service_abc import PermissionServiceABC | ||||
|  | ||||
|  | ||||
| class TechnicianConfigMutation(QueryABC): | ||||
| @@ -23,8 +23,8 @@ class TechnicianConfigMutation(QueryABC): | ||||
|         servers: ServerRepositoryABC, | ||||
|         technician_configs: TechnicianConfigRepositoryABC, | ||||
|         db: DatabaseContextABC, | ||||
|         permissions: PermissionServiceABC, | ||||
|         config_service: ConfigService, | ||||
|         tech_seeder: TechnicianConfigSeeder, | ||||
|     ): | ||||
|         QueryABC.__init__(self, "TechnicianConfigMutation") | ||||
|  | ||||
| @@ -33,12 +33,15 @@ class TechnicianConfigMutation(QueryABC): | ||||
|         self._servers = servers | ||||
|         self._technician_configs = technician_configs | ||||
|         self._db = db | ||||
|         self._permissions = permissions | ||||
|         self._config_service = config_service | ||||
|         self._tech_seeder = tech_seeder | ||||
|  | ||||
|         self.set_field("updateTechnicianConfig", self.resolve_update_technician_config) | ||||
|  | ||||
|     def resolve_update_technician_config(self, *_, input: dict): | ||||
|         if not self._technician_configs.does_technician_config_exists(): | ||||
|             self._bot.loop.create_task(self._tech_seeder.seed()) | ||||
|  | ||||
|         technician_config = self._technician_configs.get_technician_config() | ||||
|         self._can_user_mutate_data(Route.get_user().users[0].server, UserRoleEnum.technician) | ||||
|  | ||||
| @@ -56,11 +59,16 @@ class TechnicianConfigMutation(QueryABC): | ||||
|         technician_config.cache_max_messages = ( | ||||
|             input["cacheMaxMessages"] if "cacheMaxMessages" in input else technician_config.cache_max_messages | ||||
|         ) | ||||
|         old_feature_flags = technician_config.feature_flags | ||||
|         technician_config.feature_flags = ( | ||||
|             dict(zip([x["key"] for x in input["featureFlags"]], [x["value"] for x in input["featureFlags"]])) | ||||
|             if "featureFlags" in input | ||||
|             else technician_config.feature_flags | ||||
|         ) | ||||
|         for old_flag in old_feature_flags: | ||||
|             if old_flag not in technician_config.feature_flags: | ||||
|                 technician_config.feature_flags[old_flag] = False | ||||
|  | ||||
|         technician_config.ping_urls = ( | ||||
|             List(str, input["pingURLs"]) if "pingURLs" in input else technician_config.ping_urls | ||||
|         ) | ||||
| @@ -78,6 +86,7 @@ class TechnicianConfigMutation(QueryABC): | ||||
|             self._update_technician_ids(technician_config) | ||||
|  | ||||
|         self._db.save_changes() | ||||
|         self._config_service.reload_technician_config() | ||||
|         return technician_config | ||||
|  | ||||
|     def _update_ping_urls(self, new_config: TechnicianConfig): | ||||
| @@ -112,6 +121,3 @@ class TechnicianConfigMutation(QueryABC): | ||||
|                 continue | ||||
|  | ||||
|             self._technician_configs.add_technician_id_config(TechnicianIdConfig(technician_id)) | ||||
|  | ||||
|         self._bot.loop.create_task(self._config_service.reload_technician_config()) | ||||
|         self._permissions.on_ready() | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.queries" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "bot_graphql.queries.discord" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -25,6 +25,9 @@ class ServerConfigQuery(DataQueryWithHistoryABC): | ||||
|         self.set_field("teamChannelId", lambda config, *_: config.team_channel_id) | ||||
|         self.set_field("loginMessageChannelId", lambda config, *_: config.login_message_channel_id) | ||||
|         self.set_field("defaultRoleId", lambda config, *_: config.default_role_id) | ||||
|         self.set_field( | ||||
|             "shortRoleNameOnlySetHighestRole", lambda config, *_: config.short_role_name_only_set_highest_role | ||||
|         ) | ||||
|         self.add_collection( | ||||
|             "featureFlag", | ||||
|             lambda config, *_: List(any, [{"key": x, "value": config.feature_flags[x]} for x in config.feature_flags]), | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.achievements" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.achievements.commands" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.achievements.events" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.achievements.model" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.auto_role" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.auto_role.command" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.auto_role.events" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.auto_role.helper" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.command" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.events" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -31,6 +31,17 @@ class BaseOnVoiceStateUpdateEventHelpChannel(OnVoiceStateUpdateABC): | ||||
|  | ||||
|         self._logger.info(__name__, f"Module {type(self)} loaded") | ||||
|  | ||||
|     async def _notify_team(self, member: discord.Member): | ||||
|         self._logger.debug(__name__, f"Notify team that a member needs help") | ||||
|         settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{member.guild.id}") | ||||
|         channel = member.guild.get_channel(settings.team_channel_id) | ||||
|         await self._message_service.send_channel_message( | ||||
|             channel, | ||||
|             self._t.transform("modules.base.member_joined_help_voice_channel").format(member.mention), | ||||
|             is_persistent=True, | ||||
|         ) | ||||
|         self._logger.trace(__name__, f"Notified team that a member need help") | ||||
|  | ||||
|     @EventChecks.check_is_ready() | ||||
|     async def on_voice_state_update( | ||||
|         self, | ||||
| @@ -44,14 +55,6 @@ class BaseOnVoiceStateUpdateEventHelpChannel(OnVoiceStateUpdateABC): | ||||
|         if after.channel is None or after.channel.id != settings.help_voice_channel_id: | ||||
|             return | ||||
|  | ||||
|         mods = [ | ||||
|             *self._permissions.get_admins(member.guild.id), | ||||
|             *self._permissions.get_moderators(member.guild.id), | ||||
|         ] | ||||
|         for a in mods: | ||||
|             await self._message_service.send_dm_message( | ||||
|                 self._t.transform("modules.base.member_joined_help_voice_channel").format(member.mention), | ||||
|                 a, | ||||
|             ) | ||||
|         await self._notify_team(member) | ||||
|  | ||||
|         self._logger.debug(__name__, f"Module {type(self)} stopped") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.forms" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.helper" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.model" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.service" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.base.thread" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.boot_log" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -67,7 +67,7 @@ class BootLogOnReadyEvent(OnReadyABC): | ||||
|  | ||||
|             server_config: ServerConfig = self._config.get_configuration(f"ServerConfig_{g.id}") | ||||
|             if server_config is None: | ||||
|                 self._logger.error(__name__, f"Config {type(self).__name__}_{g.id} not found!") | ||||
|                 self._logger.error(__name__, f"Config ServerConfig_{g.id} not found!") | ||||
|                 return | ||||
|  | ||||
|             if not FeatureFlagsSettings.get_flag_from_dict( | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.config" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -19,4 +19,4 @@ class ConfigExtension(ApplicationExtensionABC): | ||||
|         logger: LoggerABC = services.get_service(LoggerABC) | ||||
|         logger.debug(__name__, "Config extension started") | ||||
|         config: ConfigService = services.get_service(ConfigService) | ||||
|         await config.reload_technician_config() | ||||
|         config.reload_technician_config() | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.config.events" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.config.service" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.database" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.level" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.level.command" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.level.configuration" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.level.events" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "8" | ||||
|       "Micro": "10" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.level.service" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.permission" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -15,7 +15,7 @@ __title__ = "modules.permission.abc" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
| __version__ = "1.1.10" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
| @@ -23,4 +23,4 @@ from collections import namedtuple | ||||
| # imports | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="10") | ||||
|   | ||||
| @@ -8,42 +8,6 @@ class PermissionServiceABC(ABC): | ||||
|     def __init__(self): | ||||
|         pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def on_ready(self): | ||||
|         pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def on_member_update(self, before: discord.Member, after: discord.Member): | ||||
|         pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def get_admin_role_ids(self, g_id: int) -> list[int]: | ||||
|         pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def get_admin_roles(self, g_id: int) -> list[discord.Role]: | ||||
|         pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def get_admins(self, g_id: int) -> list[discord.Member]: | ||||
|         pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def get_moderator_role_ids(self, g_id: int) -> list[int]: | ||||
|         pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def get_moderator_roles(self, g_id: int) -> list[discord.Role]: | ||||
|         pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def get_moderators(self, g_id: int) -> list[discord.Member]: | ||||
|         pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def get_technicians(self) -> list[discord.Member]: | ||||
|         pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def is_member_admin(self, member: discord.Member) -> bool: | ||||
|         pass | ||||
|   | ||||
| @@ -1,26 +0,0 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
| bot sh-edraft.de Discord bot | ||||
| ~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| Discord bot for customers of sh-edraft.de | ||||
|  | ||||
| :copyright: (c) 2022 - 2023 sh-edraft.de | ||||
| :license: MIT, see LICENSE for more details. | ||||
|  | ||||
| """ | ||||
|  | ||||
| __title__ = "modules.permission.events" | ||||
| __author__ = "Sven Heidemann" | ||||
| __license__ = "MIT" | ||||
| __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" | ||||
| __version__ = "1.1.8" | ||||
|  | ||||
| from collections import namedtuple | ||||
|  | ||||
|  | ||||
| # imports: | ||||
|  | ||||
| VersionInfo = namedtuple("VersionInfo", "major minor micro") | ||||
| version_info = VersionInfo(major="1", minor="1", micro="8") | ||||
| @@ -1,30 +0,0 @@ | ||||
| import discord | ||||
| from cpl_core.configuration import ConfigurationABC | ||||
| from cpl_core.logging import LoggerABC | ||||
| from cpl_discord.events import OnMemberUpdateABC | ||||
|  | ||||
| from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum | ||||
| from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings | ||||
| from bot_data.model.server_config import ServerConfig | ||||
| from modules.permission.abc.permission_service_abc import PermissionServiceABC | ||||
|  | ||||
|  | ||||
| class PermissionOnMemberUpdateEvent(OnMemberUpdateABC): | ||||
|     def __init__(self, config: ConfigurationABC, logger: LoggerABC, permission_service: PermissionServiceABC): | ||||
|         OnMemberUpdateABC.__init__(self) | ||||
|         self._config = config | ||||
|         self._logger = logger | ||||
|         self._permission_service = permission_service | ||||
|  | ||||
|     async def on_member_update(self, before: discord.Member, after: discord.Member): | ||||
|         if before.guild is not None: | ||||
|             server_config: ServerConfig = self._config.get_configuration(f"ServerConfig_{before.guild.id}") | ||||
|             if not FeatureFlagsSettings.get_flag_from_dict( | ||||
|                 server_config.feature_flags, FeatureFlagsEnum.permission_module | ||||
|             ): | ||||
|                 return | ||||
|  | ||||
|         self._logger.debug(__name__, f"Module {type(self)} started") | ||||
|  | ||||
|         if before.roles != after.roles: | ||||
|             self._permission_service.on_member_update(before, after) | ||||
| @@ -1,22 +0,0 @@ | ||||
| from cpl_core.logging import LoggerABC | ||||
| from cpl_discord.events import OnReadyABC | ||||
|  | ||||
| from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum | ||||
| from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings | ||||
| from bot_data.model.technician_config import TechnicianConfig | ||||
| from modules.permission.abc.permission_service_abc import PermissionServiceABC | ||||
|  | ||||
|  | ||||
| class PermissionOnReadyEvent(OnReadyABC): | ||||
|     def __init__(self, logger: LoggerABC, permission_service: PermissionServiceABC, tech_config: TechnicianConfig): | ||||
|         OnReadyABC.__init__(self) | ||||
|         self._logger = logger | ||||
|         self._permission_service = permission_service | ||||
|         self._tech_config = tech_config | ||||
|  | ||||
|     async def on_ready(self): | ||||
|         if not FeatureFlagsSettings.get_flag_from_dict( | ||||
|             self._tech_config.feature_flags, FeatureFlagsEnum.permission_module | ||||
|         ): | ||||
|             return | ||||
|         self._permission_service.on_ready() | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user