blob: 1d831ce9779b40f9d5e2f9a8609f56646869b35a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
{-# LANGUAGE OverloadedStrings #-}
module Lib
( someFunc
) where
import Database.SQLite.Simple
import Bot (Bot(runBot))
import CliOptions (Options(language), parseOptions)
-- import IRC (connectIRC)
import Message
-- import Plugin
import Plugin.Base (Plugin)
import PluginList as PL (plugins)
-- TODO: tmp test
import Control.Monad.Reader (runReaderT)
import CliOptions (Options(..))
import Plugin.Help as Help (help)
import I18n (Locale(EN, FR))
import Plugin (performPlugin)
import qualified Data.Text.IO as TIO
someFunc :: IO ()
someFunc = do
-- options <- parseOptions
-- halp <- runReaderT (runBot Help.help) Options
-- { slackApiToken = "booya"
-- , language = EN
-- }
-- case performPlugin halp "hello" of
-- Left s -> TIO.putStrLn s
-- Right s -> TIO.putStrLn s
-- halp <- performPlugin Help.help "_msg"
hilp <- runReaderT
(runBot
(performPlugin Help.help Message
{ text = "_msg"
, channel = "#?"
, nick = "zyx"
}))
Options
{ slackApiToken = "booya"
, language = FR
}
case hilp of
Left x -> TIO.putStrLn x
Right x -> TIO.putStrLn x
-- connectIRC "irc.freenode.net" 6697 "test-bot-7890asdf"
initializePlugins :: Options -> [IO Plugin]
initializePlugins options =
map
(\p -> runReaderT (runBot p) options)
plugins
|