def METHOD_NAME(notification_id: Text, bot: Text, user: Text, config: Dict):
    if not config.get("scheduler_config"):
        raise AppException("scheduler_config is required!")
    try:
        settings = MessageBroadcastSettings.objects(id=notification_id, bot=bot, status=True).get()
        settings.name = config["name"]
        settings.connector_type = config["connector_type"]
        settings.broadcast_type = config["broadcast_type"]
        settings.scheduler_config = SchedulerConfiguration(**config["scheduler_config"])
        settings.recipients_config = RecipientsConfiguration(**config["recipients_config"]) if config.get("recipients_config") else None
        settings.template_config = [TemplateConfiguration(**template) for template in config.get("template_config") or []]
        settings.pyscript = config.get("pyscript")
        settings.user = user
        settings.timestamp = datetime.utcnow()
        settings.save()
    except DoesNotExist as e:
        logger.exception(e)
        raise AppException("Notification settings not found!")