about summary refs log tree commit diff
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...")