line-bot-sdk 0.7.1 → 0.7.2
raw patch · 2 files changed
+1/−74 lines, 2 filesdep −scientificdep −wai-extradep ~basedep ~servantdep ~servant-server
Dependencies removed: scientific, wai-extra
Dependency ranges changed: base, servant, servant-server, transformers, wai, warp
Files
- examples/Echo.hs +0/−55
- line-bot-sdk.cabal +1/−19
− examples/Echo.hs
@@ -1,55 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DisambiguateRecordFields #-}-{-# LANGUAGE NamedFieldPuns #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TypeOperators #-}--module Main (main) where--import Control.Monad (forM_)-import Control.Monad.IO.Class (liftIO)-import Control.Monad.Trans.Reader (ReaderT, ask, runReaderT)-import Data.Maybe (fromMaybe)-import Data.String (fromString)-import Line.Bot.Client (Line, replyMessage,- runLine)-import Line.Bot.Types as B-import Line.Bot.Webhook as W-import Network.Wai.Handler.Warp (run)-import Network.Wai.Middleware.RequestLogger (logStdout)-import Servant-import Servant.Server (Context ((:.), EmptyContext))-import System.Environment (getEnv, lookupEnv)--type WebM = ReaderT ChannelToken Handler--type API = "webhook" :> Webhook--echo :: Event -> Line NoContent-echo EventMessage { message = W.MessageText { text }, replyToken } =- replyMessage replyToken [B.MessageText text Nothing]-echo _ = return NoContent--handleEvents :: [Event] -> WebM NoContent-handleEvents events = do- token <- ask- _ <- liftIO $ forM_ events $ flip runLine token . echo- return NoContent--echoServer :: ServerT API WebM-echoServer = handleEvents . events--app :: ChannelToken -> ChannelSecret -> Application-app token secret = serveWithContext api context server- where- api = Proxy :: Proxy API- pc = Proxy :: Proxy '[ChannelSecret]- server = hoistServerWithContext api pc (`runReaderT` token) echoServer- context = secret :. EmptyContext--main :: IO ()-main = do- token <- fromString <$> getEnv "CHANNEL_TOKEN"- secret <- fromString <$> getEnv "CHANNEL_SECRET"- port <- fmap read <$> lookupEnv "PORT"- run (fromMaybe 8000 port) $ logStdout $ app token secret
line-bot-sdk.cabal view
@@ -1,5 +1,5 @@ name: line-bot-sdk-version: 0.7.1+version: 0.7.2 synopsis: Haskell SDK for LINE Messaging API homepage: https://github.com/moleike/line-bot-sdk#readme bug-reports: https://github.com/moleike/line-bot-sdk/issues@@ -41,9 +41,7 @@ base >= 4.14.1 && < 4.15, bytestring >= 0.10.12 && < 0.11, deepseq >= 1.4.4 && < 1.5,- scientific >= 0.3.6 && < 0.4, text >= 1.2.4 && < 1.3,- transformers >= 0.5.6 && < 0.6, time >= 1.9.3 && < 1.10, mtl >= 2.2.2 && < 2.3, base64-bytestring >= 1.1.0 && < 1.2,@@ -59,22 +57,6 @@ servant-client-core >= 0.18.2 && < 0.19, servant-server >= 0.18.2 && < 0.19, wai >= 3.2.3 && < 3.3-- default-language: Haskell2010--executable echo-server- hs-source-dirs: examples- main-is: Echo.hs- ghc-options: -threaded -rtsopts -with-rtsopts=-N- build-depends:- line-bot-sdk,- base,- servant,- servant-server,- transformers,- wai,- wai-extra >= 3.1.6 && < 3.2,- warp >= 3.3.14 && < 3.4 default-language: Haskell2010