aboutsummaryrefslogtreecommitdiff
path: root/pkg/bot
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-08-11 01:25:47 +0000
committerMel <einebeere@gmail.com>2022-08-11 01:25:47 +0000
commit86f31acf6789be116dcc54ed85b069a37c0f7aa8 (patch)
treebc7afd6a8c340825996d29c6cfd392ae42b4fbd5 /pkg/bot
parentc46b2bc7ce6df1f2c6c9494ef08015ec29992da5 (diff)
downloadjinx-86f31acf6789be116dcc54ed85b069a37c0f7aa8.tar.zst
jinx-86f31acf6789be116dcc54ed85b069a37c0f7aa8.zip
Actual modules and core
Diffstat (limited to 'pkg/bot')
-rw-r--r--pkg/bot/cmds.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/pkg/bot/cmds.go b/pkg/bot/cmds.go
index b5ded6f..32b1bfe 100644
--- a/pkg/bot/cmds.go
+++ b/pkg/bot/cmds.go
@@ -4,6 +4,7 @@ import (
"fmt"
"jinx/pkg/discord/events"
"jinx/pkg/lang/compiler"
+ "jinx/pkg/lang/modules"
"jinx/pkg/lang/parser"
"jinx/pkg/lang/scanner"
"jinx/pkg/lang/vm"
@@ -35,7 +36,7 @@ func vmCmd(b *Bot, content string, msg events.Message) error {
return err
}
- vm := vm.New(&bc, nil)
+ vm := vm.New(modules.NewUnknownModule(&bc))
if err := vm.Run(); err != nil {
return err
@@ -66,8 +67,8 @@ func langCmd(b *Bot, content string, msg events.Message) error {
return err
}
- comp := compiler.New(program)
- bc, err := comp.Compile()
+ comp := compiler.New("chat program", msg.Author.Username, program)
+ module, err := comp.Compile()
if err != nil {
b.logger.Error().Err(err).Msg("error compiling code")
return err
@@ -75,12 +76,12 @@ func langCmd(b *Bot, content string, msg events.Message) error {
b.client.SendMessage(msg.ChannelID, "successfully compiled code")
- decomp := text.NewDecompiler(bc)
+ decomp := text.NewDecompiler(*module.Code())
decompRes := decomp.Decompile()
b.client.SendMessage(msg.ChannelID, fmt.Sprintf("resulting decompiled bytecode:\n```\n%s\n```", decompRes))
- vm := vm.New(&bc, nil)
+ vm := vm.New(module)
b.client.SendMessage(msg.ChannelID, "executing code...")