-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBroadcaster.lua
66 lines (52 loc) · 1.74 KB
/
Broadcaster.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Broadcaster = {}
Broadcaster.__index = Broadcaster
function Broadcaster:new(app, db)
local self = {}
setmetatable(self, Broadcaster)
self.app = app
self.db = db
return self
end
function Broadcaster:UpdateDB(db)
self.db = db
end
function Broadcaster:StartSession(name, players)
self:SendBufferedMessage(format("Attendance check started (%s)", name))
local message = "People on time: "
for k, v in pairs(players) do
message = message .. v.name .. " "
end
self:SendBufferedMessage(message)
self:SendBufferedMessage("Whisper to be added to the list")
end
function Broadcaster:PeriodicCheck(players)
self:SendBufferedMessage(format("Checking attendance"))
local message = "People here: "
for k, v in pairs(players) do
message = message .. v.name .. " "
end
self:SendBufferedMessage(message)
self:SendBufferedMessage("Whisper to be added to the list")
end
function Broadcaster:StopSession(players)
self:SendBufferedMessage(format("Stopped attendance check"))
local message = "People here: "
for k, v in pairs(players) do
message = message .. v.name .. " "
end
self:SendBufferedMessage(message)
self:SendBufferedMessage("Thanks for coming!")
end
function Broadcaster:SendBufferedMessage(message)
local switch = {
["GUILD"] = function(message) self:SendBufferedMessageGuild(message) end,
["DEBUG"] = function(message) self:SendBufferedMessagePrint(message) end,
}
if switch[self.db.type] then switch[self.db.type](message) end
end
function Broadcaster:SendBufferedMessagePrint(message)
self.app:Print(message)
end
function Broadcaster:SendBufferedMessageGuild(message)
SendChatMessage(message, "GUILD")
end