@classmethod
def validate(cls):
"""Validate configuration on startup"""
errors = []
warnings = []
# Check required
for var in cls.REQUIRED:
if not os.getenv(var):
errors.append(f"Missing required: {var}")
# Check optional
for var, feature in cls.OPTIONAL.items():
if not os.getenv(var):
warnings.append(f"Missing {var} - {feature} disabled")
return errors, warnings
In main:
if name == "main":
errors, warnings = ConfigValidator.validate()
if errors:
for error in errors:
logger.error(error)
exit(1)
for warning in warnings:
logger.warning(warning)
client.run(os.getenv('DISCORD_TOKEN'))
class ConfigValidator:
REQUIRED = ['DISCORD_TOKEN', 'GUILD_ID']
OPTIONAL = {
'MINECRAFT_RCON_PASSWORD': 'Minecraft commands',
'PELICAN_API_KEY': 'Pelican integration',
'OLLAMA_URL': '/ask command'
}
@classmethod
def validate(cls):
"""Validate configuration on startup"""
errors = []
warnings = []
# Check required
for var in cls.REQUIRED:
if not os.getenv(var):
errors.append(f"Missing required: {var}")
# Check optional
for var, feature in cls.OPTIONAL.items():
if not os.getenv(var):
warnings.append(f"Missing {var} - {feature} disabled")
return errors, warnings
# In main:
if __name__ == "__main__":
errors, warnings = ConfigValidator.validate()
if errors:
for error in errors:
logger.error(error)
exit(1)
for warning in warnings:
logger.warning(warning)
client.run(os.getenv('DISCORD_TOKEN'))
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
class ConfigValidator:
REQUIRED = ['DISCORD_TOKEN', 'GUILD_ID']
OPTIONAL = {
'MINECRAFT_RCON_PASSWORD': 'Minecraft commands',
'PELICAN_API_KEY': 'Pelican integration',
'OLLAMA_URL': '/ask command'
}
In main:
if name == "main":
errors, warnings = ConfigValidator.validate()