# Publishes a message export def publish [ topic: string message: string --title: string --priority: number --tags: list --actions: list --icon: string ] { let cfg = ( get_config ) let request_body = ({ topic: $topic title: $title message: $message tags: ( $tags | append ( hostname ) ) priority: $priority actions: $actions icon: $icon } | to json ) http put -u $cfg.username -p $cfg.password $cfg.url $request_body } def get_config [] { let cfg_path = ( $env.HOME | path join ".config/cntfy/config.toml" ) if ($cfg_path | path exists ) == false { let span = (metadata $cfg_path).span error make { msg: $"Config file ($cfg_path) does not exist", label: { text: "This file does not exist", start: $span.start, end: $span.end } } } ( $cfg_path | open ) }