-
Notifications
You must be signed in to change notification settings - Fork 0
/
STRUCTURE
51 lines (41 loc) · 1.45 KB
/
STRUCTURE
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
TechBot - A Twitch Bot written in C# running a LUA "container" for each channel.
```
Folder structure: (TODO)
TechBot
│ TechBot.sh
│ TechBot.exe
│ Dependencies.dll
│
└───Modules
│ └───Official
│ │ │ URLProtection.lua
│ │ │ SomeModuleName.lua
│ |
│ └───Username
│ │ ModuleName.lua
│
└───Channels
│ └───Username
│ │ Main.lua
│
└───Web
│ To be decided
```
Goals:
- Mono-compatible (Primarily Windows and Linux support)
- Asynchronous LUA and channel threads (Each channel running it's own thread)
- Modules loaded inside each LUA container by adding module ID to DEPENDENCIES file (Or custom function?)
- Community distribution of LUA modules
- Webpanel for administration, managing community modules
(ASP.net or Nancy maybe?)
- Ability for streamer to watch requested videos/songs etc
- View comment history of user.
(Probably should use SQLite for this? Or Web API)
- Restricted LUA access to prevent server damage.
(Should probably use LUA sandbox? Or just restrict working area if that's possible somehow)
http://lua-users.org/wiki/SandBoxes
https://github.com/kikito/sandbox.lua/blob/master/sandbox.lua (Could use this)
Dependencies:
- IrcDotNet (https://github.com/IrcDotNet/IrcDotNet)
- NLUA (https://github.com/NLua/NLua)
- Config-parser (https://github.com/salaros/config-parser)