From 5dea96ad915692e9abbc0620930756c51c256179 Mon Sep 17 00:00:00 2001
From: ubq323 <ubq323@ubq323.website>
Date: Thu, 27 Feb 2025 23:23:57 +0000
Subject: restructure, refactor, a bit

---
 discord/pylon.lua | 37 +++++++++++--------------------------
 1 file changed, 11 insertions(+), 26 deletions(-)

(limited to 'discord')

diff --git a/discord/pylon.lua b/discord/pylon.lua
index 1ecc042..f84db64 100644
--- a/discord/pylon.lua
+++ b/discord/pylon.lua
@@ -1,23 +1,15 @@
 local consts = require'discord.consts'
 local websocket = require'http.websocket'
 local json = require 'dkjson'
-local Queue = require 'util.queue'
+local Queue = require 'queue'
 local exec_webhook = require'discord.the'
 local cqueues = require 'cqueues'
+local pylon = require 'pylon'
 
-local Discord = {}
+local Discord = pylon.subclass "discord"
 
-function Discord.make(wilson, conf)
-	local self = setmetatable(conf, {__index=Discord})
-
-	for k,v in pairs {
-		wilson = wilson,
-		inbox = Queue.make(),
-	} do self[k] = v end
-
-	assert(self.token)
-
-	return self
+function Discord.init(self)
+	self:check_config "token"
 end
 
 local function identify_payload(token)
@@ -44,14 +36,6 @@ function Discord._connect(self)
 	-- end
 end
 
-function Discord.run(self)
-	local cq = cqueues.new()
-	self:_connect()
-	cq:wrap(self.recving, self)
-	cq:wrap(self.sending, self)
-	print('discord', cq:loop())
-end
-
 function Discord.recving(self)
 	for event in self.ws:each() do
 		print(event)
@@ -59,11 +43,12 @@ function Discord.recving(self)
 end
 
 function Discord.sending(self)
-	local i = 1
-	while true do
-		exec_webhook(self.temp_wh, { username = "god", content = "h"..("i"):rep(i) })
-		i = i + 1
-		cqueues.sleep(1)
+	for dest_channel, message in self.inbox:iter() do
+		print('DDD',message.sender,message.body)
+		exec_webhook(self.temp_wh, {
+			username = message.sender,
+			content = message.body,
+		})
 	end
 end
 
-- 
cgit v1.2.3