feat: push for isaac

This commit is contained in:
Nick 2024-12-05 15:44:50 -06:00
parent 5ada6b4d25
commit e6b3e90698
27 changed files with 377 additions and 4 deletions

View file

@ -5,6 +5,9 @@ version: 0.1.0.0
executable main
main-is: Main.hs
build-depends:
, base
, base
, discord-haskell
, text
, unliftio
default-language: Haskell2010
hs-source-dirs: src

View file

@ -0,0 +1,25 @@
{-# LANGUAGE NoRebindableSyntax #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -w #-}
module PackageInfo_example (
name,
version,
synopsis,
copyright,
homepage,
) where
import Data.Version (Version(..))
import Prelude
name :: String
name = "example"
version :: Version
version = Version [0,1,0,0] []
synopsis :: String
synopsis = ""
copyright :: String
copyright = ""
homepage :: String
homepage = ""

View file

@ -0,0 +1,77 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
#if __GLASGOW_HASKELL__ >= 810
{-# OPTIONS_GHC -Wno-prepositive-qualified-module #-}
#endif
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -w #-}
module Paths_example (
version,
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
getDataFileName, getSysconfDir
) where
import qualified Control.Exception as Exception
import qualified Data.List as List
import Data.Version (Version(..))
import System.Environment (getEnv)
import Prelude
#if defined(VERSION_base)
#if MIN_VERSION_base(4,0,0)
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#else
catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
#endif
#else
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#endif
catchIO = Exception.catch
version :: Version
version = Version [0,1,0,0] []
getDataFileName :: FilePath -> IO FilePath
getDataFileName name = do
dir <- getDataDir
return (dir `joinFileName` name)
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
bindir = "/home/nick/.cabal/bin"
libdir = "/home/nick/.cabal/lib/x86_64-linux-ghc-9.6.6/example-0.1.0.0-inplace-main"
dynlibdir = "/home/nick/.cabal/lib/x86_64-linux-ghc-9.6.6"
datadir = "/home/nick/.cabal/share/x86_64-linux-ghc-9.6.6/example-0.1.0.0"
libexecdir = "/home/nick/.cabal/libexec/x86_64-linux-ghc-9.6.6/example-0.1.0.0"
sysconfdir = "/home/nick/.cabal/etc"
getBinDir = catchIO (getEnv "example_bindir") (\_ -> return bindir)
getLibDir = catchIO (getEnv "example_libdir") (\_ -> return libdir)
getDynLibDir = catchIO (getEnv "example_dynlibdir") (\_ -> return dynlibdir)
getDataDir = catchIO (getEnv "example_datadir") (\_ -> return datadir)
getLibexecDir = catchIO (getEnv "example_libexecdir") (\_ -> return libexecdir)
getSysconfDir = catchIO (getEnv "example_sysconfdir") (\_ -> return sysconfdir)
joinFileName :: String -> String -> FilePath
joinFileName "" fname = fname
joinFileName "." fname = fname
joinFileName dir "" = dir
joinFileName dir fname
| isPathSeparator (List.last dir) = dir ++ fname
| otherwise = dir ++ pathSeparator : fname
pathSeparator :: Char
pathSeparator = '/'
isPathSeparator :: Char -> Bool
isPathSeparator c = c == '/'

View file

@ -0,0 +1,160 @@
/* DO NOT EDIT: This file is automatically generated by Cabal */
/* package example-0.1.0.0 */
#ifndef VERSION_example
#define VERSION_example "0.1.0.0"
#endif /* VERSION_example */
#ifndef MIN_VERSION_example
#define MIN_VERSION_example(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 1 || \
(major1) == 0 && (major2) == 1 && (minor) <= 0)
#endif /* MIN_VERSION_example */
/* package base-4.18.2.1 */
#ifndef VERSION_base
#define VERSION_base "4.18.2.1"
#endif /* VERSION_base */
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(major1,major2,minor) (\
(major1) < 4 || \
(major1) == 4 && (major2) < 18 || \
(major1) == 4 && (major2) == 18 && (minor) <= 2)
#endif /* MIN_VERSION_base */
/* package discord-haskell-1.16.1 */
#ifndef VERSION_discord_haskell
#define VERSION_discord_haskell "1.16.1"
#endif /* VERSION_discord_haskell */
#ifndef MIN_VERSION_discord_haskell
#define MIN_VERSION_discord_haskell(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 16 || \
(major1) == 1 && (major2) == 16 && (minor) <= 1)
#endif /* MIN_VERSION_discord_haskell */
/* package text-2.0.2 */
#ifndef VERSION_text
#define VERSION_text "2.0.2"
#endif /* VERSION_text */
#ifndef MIN_VERSION_text
#define MIN_VERSION_text(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 0 || \
(major1) == 2 && (major2) == 0 && (minor) <= 2)
#endif /* MIN_VERSION_text */
/* package unliftio-0.2.25.0 */
#ifndef VERSION_unliftio
#define VERSION_unliftio "0.2.25.0"
#endif /* VERSION_unliftio */
#ifndef MIN_VERSION_unliftio
#define MIN_VERSION_unliftio(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 2 || \
(major1) == 0 && (major2) == 2 && (minor) <= 25)
#endif /* MIN_VERSION_unliftio */
/* tool cpphs-1.20.9 */
#ifndef TOOL_VERSION_cpphs
#define TOOL_VERSION_cpphs "1.20.9"
#endif /* TOOL_VERSION_cpphs */
#ifndef MIN_TOOL_VERSION_cpphs
#define MIN_TOOL_VERSION_cpphs(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 20 || \
(major1) == 1 && (major2) == 20 && (minor) <= 9)
#endif /* MIN_TOOL_VERSION_cpphs */
/* tool gcc-13.3.0 */
#ifndef TOOL_VERSION_gcc
#define TOOL_VERSION_gcc "13.3.0"
#endif /* TOOL_VERSION_gcc */
#ifndef MIN_TOOL_VERSION_gcc
#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\
(major1) < 13 || \
(major1) == 13 && (major2) < 3 || \
(major1) == 13 && (major2) == 3 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_gcc */
/* tool ghc-9.6.6 */
#ifndef TOOL_VERSION_ghc
#define TOOL_VERSION_ghc "9.6.6"
#endif /* TOOL_VERSION_ghc */
#ifndef MIN_TOOL_VERSION_ghc
#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 6 || \
(major1) == 9 && (major2) == 6 && (minor) <= 6)
#endif /* MIN_TOOL_VERSION_ghc */
/* tool ghc-pkg-9.6.6 */
#ifndef TOOL_VERSION_ghc_pkg
#define TOOL_VERSION_ghc_pkg "9.6.6"
#endif /* TOOL_VERSION_ghc_pkg */
#ifndef MIN_TOOL_VERSION_ghc_pkg
#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 6 || \
(major1) == 9 && (major2) == 6 && (minor) <= 6)
#endif /* MIN_TOOL_VERSION_ghc_pkg */
/* tool haddock-2.29.2 */
#ifndef TOOL_VERSION_haddock
#define TOOL_VERSION_haddock "2.29.2"
#endif /* TOOL_VERSION_haddock */
#ifndef MIN_TOOL_VERSION_haddock
#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 29 || \
(major1) == 2 && (major2) == 29 && (minor) <= 2)
#endif /* MIN_TOOL_VERSION_haddock */
/* tool hpc-0.68 */
#ifndef TOOL_VERSION_hpc
#define TOOL_VERSION_hpc "0.68"
#endif /* TOOL_VERSION_hpc */
#ifndef MIN_TOOL_VERSION_hpc
#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hpc */
/* tool hsc2hs-0.68.9 */
#ifndef TOOL_VERSION_hsc2hs
#define TOOL_VERSION_hsc2hs "0.68.9"
#endif /* TOOL_VERSION_hsc2hs */
#ifndef MIN_TOOL_VERSION_hsc2hs
#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 9)
#endif /* MIN_TOOL_VERSION_hsc2hs */
/* tool hscolour-1.25 */
#ifndef TOOL_VERSION_hscolour
#define TOOL_VERSION_hscolour "1.25"
#endif /* TOOL_VERSION_hscolour */
#ifndef MIN_TOOL_VERSION_hscolour
#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 25 || \
(major1) == 1 && (major2) == 25 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hscolour */
/* tool runghc-9.6.6 */
#ifndef TOOL_VERSION_runghc
#define TOOL_VERSION_runghc "9.6.6"
#endif /* TOOL_VERSION_runghc */
#ifndef MIN_TOOL_VERSION_runghc
#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 6 || \
(major1) == 9 && (major2) == 6 && (minor) <= 6)
#endif /* MIN_TOOL_VERSION_runghc */
/* tool strip-2.43 */
#ifndef TOOL_VERSION_strip
#define TOOL_VERSION_strip "2.43"
#endif /* TOOL_VERSION_strip */
#ifndef MIN_TOOL_VERSION_strip
#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 43 || \
(major1) == 2 && (major2) == 43 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_strip */
#ifndef CURRENT_COMPONENT_ID
#define CURRENT_COMPONENT_ID "example-0.1.0.0-inplace-main"
#endif /* CURRENT_COMPONENT_ID */
#ifndef CURRENT_PACKAGE_VERSION
#define CURRENT_PACKAGE_VERSION "0.1.0.0"
#endif /* CURRENT_PACKAGE_VERSION */

BIN
backend/dist-newstyle/cache/compiler vendored Normal file

Binary file not shown.

BIN
backend/dist-newstyle/cache/config vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

1
backend/dist-newstyle/cache/plan.json vendored Normal file

File diff suppressed because one or more lines are too long

BIN
backend/dist-newstyle/cache/solver-plan vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
backend/dist-newstyle/cache/up-to-date vendored Normal file

Binary file not shown.

View file

@ -1,4 +1,41 @@
-- allows "string literals" to be Text
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Monad (void, when)
import Data.Text (Text, isPrefixOf, toLower)
import Data.Text.IO as TIO
import Discord
import Discord.Requests as R
import Discord.Types
import UnliftIO.Concurrent
-- | Replies "pong" to every message that starts with "ping"
main :: IO ()
main = putStrLn "Hello, World!"
main = do
userFacingError <-
runDiscord $
def
{ discordToken = "Bot ZZZZZZZZZZZZZZZZZZZ",
discordOnEvent = eventHandler,
discordOnLog = \s -> TIO.putStrLn s >> TIO.putStrLn ""
} -- if you see OnLog error, post in the discord / open an issue
TIO.putStrLn userFacingError
-- userFacingError is an unrecoverable error
-- put normal 'cleanup' code in discordOnEnd (see examples)
eventHandler :: Event -> DiscordHandler ()
eventHandler event = case event of
MessageCreate m -> when (isPing m && not (fromBot m)) $ do
void $ restCall (R.CreateReaction (messageChannelId m, messageId m) "eyes")
threadDelay (2 * 10 ^ 6)
void $ restCall (R.CreateMessage (messageChannelId m) "Pong!")
_ -> return ()
fromBot :: Message -> Bool
fromBot = userIsBot . messageAuthor
isPing :: Message -> Bool
isPing = ("ping" `isPrefixOf`) . toLower . messageContent

View file

@ -81,7 +81,7 @@ subscriptions model =
view : Model -> View Msg
view model =
{ title = homeName
{ title = ""
, attributes = []
, element = homeContainer
}

View file

@ -0,0 +1,69 @@
module Pages.NotFound_ exposing (Model, Msg, page)
import Effect exposing (Effect)
import Html exposing (..)
import Page exposing (Page)
import Route exposing (Route)
import Route.Path
import Shared
import View exposing (View)
page : Shared.Model -> Route () -> Page Model Msg
page shared route =
Page.new
{ init = init
, update = update
, subscriptions = subscriptions
, view = view
}
-- INIT
type alias Model =
{}
init : () -> ( Model, Effect Msg )
init () =
( {}
, Effect.none
)
-- UPDATE
type Msg
= NoOp
update : Msg -> Model -> ( Model, Effect Msg )
update msg model =
case msg of
NoOp ->
( model
, Effect.none
)
-- SUBSCRIPTIONS
subscriptions : Model -> Sub Msg
subscriptions model =
Sub.none
-- VIEW
view : Model -> View Msg
view model =
View.fromString "IT'S NOT HERE YO"

View file

@ -1,6 +1,7 @@
{
pkgs,
config,
pkgs-stable,
...
}: {
haskellProjects.default = {
@ -33,7 +34,7 @@
;
inherit
(pkgs.elmPackages)
(pkgs-stable.elmPackages)
elm
elm-format
elm-land