Hello There, Guest!
View New Posts  |  View Today's Posts
[C#] "MazznBot" - My lifetime project

  • 0 Vote(s) - 0 Average


07-16-2014, 08:34 PM #1
Mazzn
ლ(ಠ益ಠლ)
*******
Administrators
Posts: 199 Threads:16 Joined: Sep 2013 Reputation: 19

"MazznBot" - My lifetime project
Since I've never really showed what I'm doing in my free time, here's the project I've been working on since approximately June 2012...

MazznBot
(what a creative name)

Now what the heck is this "MazznBot" thing?
MazznBot is a Twitch chat bot, but it's different from your everyday bot. It has the task to deliver flight plan information for flight simulation streams, including (but not limited to) the current flight plan and airport information.

Why would you need that?
Initially we were looking for a way to deal with all the people who run into one of our flight sim streams and ask "where are we going", as well as a quick way to get information about airports and the flight plan for people who want to join multiplayer sessions. By having all of it combined in a bot you only set it once and are able to distribute it with a quick command instead of typing it out every time.
Later we figured out that it's very nice to have additional information when you're planning a flight, like distance, coordinates and weather.

What data is provided?
All information that is modeled in Microsoft Flight Simulator X. My database is built from it's default scenery - almost 25000 airports.
Currently I'm implementing navpoints, too, which will add up to 30000 points for navigational use.
Available information currently includes:
  • Airports
  • Related runways and their heading, length, altitude and surface
  • Location - city, country etc.
  • Latitudinal and longitudinal coordinates
  • Current real life METAR (weather report)

What does it look like?
The current interface is just console based. It used to have a GUI but that was due to a limit of one channel per instance, so I handed it out to people who use it. Thanks to KoBE's IRC class that changed, and it's now just one instance for multiple channels, though it's not running these days, due to all the changes I'm making. I run it when needed but it's still a little unstable and unpolished.

[spoiler=This is what the console is showing. Inputs and outputs.]

Beautiful, right? Colored for debugging overview. I liked and kept it.



[/spoiler]

[spoiler=And here are some screenshots of the chat in action.]

Most of this is subject to change, I'm currently rewriting all the formatting.



[/spoiler]


Where can I get it? How do I put it in my channel?
If you're really interested send me a PM. Currently it's only available to a few selected channels for testing. Once it's up and running however you'll be able to go to twitch.tv/mazznbot and type "-join" in chat. As long as channel slots are available it'll connect to your channel. The amount of slots will be limited due to the server resources I have available and Twitch limiting chat messages to 20 per 30 seconds, so if you have a lot of commands going of at the same time it'd ban the IP for 8 hours. It will automatically leave a channel if there was no command activity for 12 hours. (This is not set up yet.)
However I am working on a web based authentication system, which would allow me to add VIP slots or ban users from using it. The plan is to make that PHP and MySQL based.

How about source code?
No :) Aside from it approaching 1200 lines of mostly uncommented code you'll have a hard time understanding it's simply a private project. If you need help with a similar project feel free to ask questions in the forum, I might help you out!


I hope this showcase was somewhat interesting!
Maybe I'll add my plans for the future later, but for now I want to go to bed. It's 3:34am and I need to leave for work at 7:30am ;)

//Edit:
Plans for the future
I'm planning on creating a client for integration with Flight Simulator X (FSX) (and/or Lockheed Martin's Prepar3d, which is also built on ESP) so I'll be able to get weather information from the simulation, calculate the estimated time of arrival and live update waypoints, closest airports (for players joining after the flight has started for example) etc.
Another neat feature I'm looking into would be the automated generation of flight plan files people can download, because FSX is simply using XML with a different extension as far as I know. This saves time since longer flight plans can be quite annoying to set up.
This post was last modified: 07-17-2014, 03:37 AM by Mazzn.
Visit me at mazzn.net & blog.mazzn.net!
//This is very important :)

Self.KeepImproving(true);


07-16-2014, 09:00 PM #2
KoBE
¯\_(ツ)_/¯
******
Global Moderators
Posts: 4,862 Threads:494 Joined: Jun 2011 Reputation: 67

RE: "MazznBot" - My lifetime project
Not sure how long it's been since you've looked at the IrcClass, but it's been updated to handle the cross-thread operations. That way you don't have to worry about checking it in your actual application.

This looks pretty neat. You'll have to let us know when you're streaming next to see it in action.

07-17-2014, 02:48 AM #3
Mazzn
ლ(ಠ益ಠლ)
*******
Administrators
Posts: 199 Threads:16 Joined: Sep 2013 Reputation: 19

RE: "MazznBot" - My lifetime project
I might be able to stream on Friday, as of now I'm trying to make the formatting more consistent once I have some spare time at work.

I doubt I'll get the navpoint functionality done until then, while it's not that big of a deal I just don't have the time to implement it fully. Still need to create a new database for that, too.

Will be updating my first post with planned features soon, keep an eye out :) It's updated!
This post was last modified: 07-17-2014, 03:38 AM by Mazzn.
Visit me at mazzn.net & blog.mazzn.net!
//This is very important :)

Self.KeepImproving(true);





Forum Jump:


Possibly Related Threads...
Thread Author Replies Views Last Post
   VBConversions [Convert Your Vb.NET Full Project To C#.NET] Worth $199 For Free spicylips 5 6,066 01-10-2012, 12:35 AM
Last Post: _HAWK_


Users browsing this thread: 1 Guest(s)