From d7b47df5c43b47efc054fbf3c4674e85281fc331 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Thu, 26 Dec 2019 06:47:49 +0000 Subject: [PATCH] save christmas --- Dockerfile | 8 +++++++- bin/ketracel | 2 +- ketracel-scm-1.rockspec | 6 ++++-- scripts/dev_run.sh | 2 +- src/irce/modules/ngircd/init.moon | 12 +++++++++++- src/ketracel/bots/ketracel.moon | 5 ++--- 6 files changed, 26 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index c423693..c591b3f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,4 +2,10 @@ FROM xena/lua:5.3 WORKDIR /ketracel COPY . . ENV PATH $PATH:/root/.luarocks/bin -RUN ./scripts/build_docker.sh +RUN apk --no-cache add ngircd \ + && luarocks-5.3 install --local moonscript \ + && luarocks-5.3 install --local busted \ + && luarocks-5.3 install --local --only-deps ./ketracel*.rockspec \ + && ./scripts/test.sh \ + && ./scripts/build_docker.sh \ + && apk del ngircd diff --git a/bin/ketracel b/bin/ketracel index d5e42d6..226b9c3 100755 --- a/bin/ketracel +++ b/bin/ketracel @@ -2,4 +2,4 @@ export LUA_PATH='/root/.luarocks/share/lua/5.3/?.lua;/root/.luarocks/share/lua/5.3/?/init.lua' export LUA_CPATH='/root/.luarocks/lib/lua/5.3/?.so' -lua5.3 -l ketracel +lua5.3 -l ketracel.main diff --git a/ketracel-scm-1.rockspec b/ketracel-scm-1.rockspec index 4a634d0..ab6b3ab 100644 --- a/ketracel-scm-1.rockspec +++ b/ketracel-scm-1.rockspec @@ -17,15 +17,17 @@ dependencies = { "irc-engine", "luasocket", "ln", + "uuid", } build = { type = "builtin", modules = { - ["ketracel.bot.commands"] = "src/ketracel/bot/commands.lua", - ["ketracel.bot.ketracel"] = "src/ketracel/bot/ketracel.lua", + ["ketracel.bots.commands"] = "src/ketracel/bots/commands.lua", + ["ketracel.bots.ketracel"] = "src/ketracel/bots/ketracel.lua", ["ketracel.main"] = "src/ketracel/main.lua", ["ketracel.server"] = "src/ketracel/server.lua", ["irce.modules.ngircd"] = "src/irce/modules/ngircd/init.lua", + ["irce.modules.ngircd.channel"] = "src/irce/modules/ngircd/channel.lua", ["irce.modules.ngircd.modes"] = "src/irce/modules/ngircd/modes.lua", ["irce.modules.oper"] = "src/irce/modules/oper.lua", }, diff --git a/scripts/dev_run.sh b/scripts/dev_run.sh index 602bb44..1ec7d94 100755 --- a/scripts/dev_run.sh +++ b/scripts/dev_run.sh @@ -2,4 +2,4 @@ tup cd src -godotenv -f ../.env lua5.3 -l set_paths ketracel.lua +godotenv -f ../.env lua5.3 -l set_paths ./ketracel/main.lua diff --git a/src/irce/modules/ngircd/init.moon b/src/irce/modules/ngircd/init.moon index 39fe142..1b8fdb5 100644 --- a/src/irce/modules/ngircd/init.moon +++ b/src/irce/modules/ngircd/init.moon @@ -48,6 +48,16 @@ modeconv = require "irce.modules.ngircd.modes" :nick, :user, :host, modes: string.sub(modes, 2), :real, metadata: {} string.format ":%s NICK %s 1 %s %s 1 %s :%s", state.sname, nick, user, host, modes, real + ["CHANINFO"]: (state, channame) => + if state.channels[channame] == nil + state.channels[channame] = + name: channame + mode: "tn" + topic: "" + members: {} + + string.format ":%s CHANINFO %s +tn", state.sname, channame + ["NJOIN"]: (state, channame, who, prefix) => if state.channels[channame] == nil state.channels[channame] = @@ -191,7 +201,7 @@ modeconv = require "irce.modules.ngircd.modes" pfxarr = {} for i = 1, #prefix - pfxarr[i] = modes.convert string.sub prefix, i, i + pfxarr[i] = modeconv.convert string.sub prefix, i, i state.channels[chan].members[nick] = pfxarr diff --git a/src/ketracel/bots/ketracel.moon b/src/ketracel/bots/ketracel.moon index 74b505b..0fd8d96 100644 --- a/src/ketracel/bots/ketracel.moon +++ b/src/ketracel/bots/ketracel.moon @@ -16,12 +16,11 @@ class Ketracel @router = router burst: => - @irc\NICK "Ketracel", "white", "the.dominion", "+io", "Ketracel White" - @irc\NJOIN "#ketracel", "Ketracel", "&@" + @irc\NICK @name, "white", "the.dominion", "+io", "Ketracel White" njoin: (chan) => @irc\NJOIN chan, "Ketracel" - + die: (sender, target, verb, args) => @irc\handle "DIE", string.format("%s asked me to die in %s", sender, target)