-
Notifications
You must be signed in to change notification settings - Fork 24
Control panel for the bot #33
Comments
With the new non blocking socket implementation we can just let this hook into the Loop event and go with the flow :) I've been trying to work on a module like this but can't get a desktop application done, my C# knowledge is too limited. We should also be able to make a web control panel though. |
A web-based control panel would be the best as it would be very easily accessible from anywhere without being bound to a specific platform. |
Okay. Would you have an idea of what protocol to use to talk to the bot? |
Basically there are two options - we either make an API that can be used by anything else, in which case I'd try to go with REST and use JSON to pass the data and stuff, but that would mean having a full-featured webserver running. In which case we may as well just serve the webpages directly from the bot. Or just go with whatever, implement our own protocol that would be easiest for us, but it may not be ideal. We could use something like https://github.com/reactphp/react to handle that for us (it could actually handle the bot loop and stuff for us too... should've found out about that earlier). |
|
Removing the 3.0 milestone because this really is a module request and not a core feature. |
I've been looking into opening ports with php. Apparently we can open ports with sockets.
Because the bot can't listen to input by itself, we could make it listen to input from another socket and associated port.
The advantage to this would be we could use control panels in all kinds of formats. We can make a web based panels, graphical platform independent panels, mobile panels, you name it. You're not bound to PHP as programming language. And you can remotely control the bot instead of just locally.
Disadvantage would be that the bot needs additional components to be managed and we need a standard for interpreting commands, plus implementations for commands (and probably authentication in the meantime, so random idiots can't connect and control it).
We could possibly make this a module.
The text was updated successfully, but these errors were encountered: