0.3.9.2.a3
Attempted fix at docker boot issue
This commit is contained in:
		
							parent
							
								
									e6ccc86629
								
							
						
					
					
						commit
						b152440241
					
				
							
								
								
									
										22
									
								
								bot.py
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								bot.py
									
									
									
									
									
								
							@ -8,7 +8,7 @@ from modules.common.boot_notice import post_boot_notice
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Version consists of:
 | 
					# Version consists of:
 | 
				
			||||||
# Major.Enhancement.Minor.Patch.Test  (Test is alphanumeric; doesn’t trigger auto update)
 | 
					# Major.Enhancement.Minor.Patch.Test  (Test is alphanumeric; doesn’t trigger auto update)
 | 
				
			||||||
VERSION = "0.3.9.2.a2"
 | 
					VERSION = "0.3.9.2.a3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ---------- Env & config loading ----------
 | 
					# ---------- Env & config loading ----------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -25,21 +25,25 @@ if 'DEFAULT' not in config:
 | 
				
			|||||||
    config['DEFAULT'] = {}
 | 
					    config['DEFAULT'] = {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def _overlay_env_into_config(cfg: ConfigParser):
 | 
					def _overlay_env_into_config(cfg: ConfigParser):
 | 
				
			||||||
    """
 | 
					 | 
				
			||||||
    Overlay all SHAI_* environment variables into cfg['DEFAULT'] so env wins.
 | 
					 | 
				
			||||||
    Also accept SHAI_DATA_FILE or SHAI_DATA for data_file.
 | 
					 | 
				
			||||||
    """
 | 
					 | 
				
			||||||
    d = cfg['DEFAULT']
 | 
					    d = cfg['DEFAULT']
 | 
				
			||||||
    for k, v in os.environ.items():
 | 
					    for k, v in os.environ.items():
 | 
				
			||||||
        if not k.startswith('SHAI_'):
 | 
					        if not k.startswith('SHAI_'):
 | 
				
			||||||
            continue
 | 
					            continue
 | 
				
			||||||
        key = k[5:].lower()  # drop 'SHAI_'
 | 
					        key = k[5:].lower()
 | 
				
			||||||
        if key == 'data':
 | 
					        if key == 'data':
 | 
				
			||||||
            key = 'data_file'
 | 
					            key = 'data_file'
 | 
				
			||||||
        d[key] = str(v)
 | 
					        if v is None:
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        vv = str(v).strip().strip('"').strip("'")
 | 
				
			||||||
 | 
					        if key == 'data_file' and not vv:
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        d[key] = vv
 | 
				
			||||||
    if not d.get('data_file', '').strip():
 | 
					    if not d.get('data_file', '').strip():
 | 
				
			||||||
        d['data_file'] = '/data/data.json'
 | 
					        d['data_file'] = '/data/data.json'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print("[Config] SHAI_CONFIG:", os.getenv('SHAI_CONFIG', '(unset)'))
 | 
				
			||||||
 | 
					print("[Config] DEFAULT keys now:", list(config['DEFAULT'].keys()))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# IMPORTANT: apply env overlay BEFORE we read values from config
 | 
					# IMPORTANT: apply env overlay BEFORE we read values from config
 | 
				
			||||||
_overlay_env_into_config(config)
 | 
					_overlay_env_into_config(config)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -55,9 +59,11 @@ intents.voice_states = True
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# ---------- Bot + DataManager ----------
 | 
					# ---------- Bot + DataManager ----------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
data_file = config['DEFAULT']['data_file']  # guaranteed present by overlay
 | 
					ddefault = config['DEFAULT']
 | 
				
			||||||
 | 
					data_file = (ddefault.get('data_file', '') or '').strip() or '/data/data.json'
 | 
				
			||||||
if not TOKEN:
 | 
					if not TOKEN:
 | 
				
			||||||
    print("[Config] WARNING: DISCORD_TOKEN not set (env). Bot will fail to log in.")
 | 
					    print("[Config] WARNING: DISCORD_TOKEN not set (env). Bot will fail to log in.")
 | 
				
			||||||
 | 
					print(f"[Config] Using data_file: {data_file}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bot = commands.Bot(command_prefix='!', intents=intents)
 | 
					bot = commands.Bot(command_prefix='!', intents=intents)
 | 
				
			||||||
bot.config = config
 | 
					bot.config = config
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user