aboutsummaryrefslogtreecommitdiffstats
path: root/src/CliOptions.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/CliOptions.hs')
-rw-r--r--src/CliOptions.hs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/CliOptions.hs b/src/CliOptions.hs
new file mode 100644
index 0000000..861f48e
--- /dev/null
+++ b/src/CliOptions.hs
@@ -0,0 +1,28 @@
+module CliOptions
+ ( parseOptions
+ ) where
+
+import Data.Semigroup ((<>))
+import Options.Applicative
+
+data Options = Options
+ { slackApiToken :: String
+ }
+
+options :: Parser Options
+options = Options
+ <$> strOption
+ ( long "slack-token"
+ <> metavar "TOKEN"
+ <> value ""
+ <> help "Token to access Slack's real-time messaging API" )
+
+parseOptions :: IO ()
+parseOptions = do
+ execParser opts
+ return ()
+ where
+ opts = info (options <**> helper)
+ ( fullDesc
+ <> progDesc "A chat bot with a plugin interface that does a bunch of \
+ \random things." )