Giter VIP home page Giter VIP logo

tf2mchatbots's People

Contributors

bkrajancic avatar fantasmos avatar maxdup avatar monster860 avatar trainfire avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tf2mchatbots's Issues

WebSite Crash Stack Trace

Exception Handled: System.IO.IOException: Unable to write data to the transport connection: Connection reset by peer. ---> System.Net.Sockets.SocketException: Connection reset by peer
at System.Net.Sockets.Socket.Send (System.Byte[] buffer, Int32 offset, Int32 size, SocketFlags flags) <0x40696320 + 0x000db> in :0
at System.Net.Sockets.NetworkStream.Write (System.Byte[] buffer, Int32 offset, Int32 size) <0x40695f30 + 0x000bf> in :0
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Write (System.Byte[] buffer, Int32 offset, Int32 size) <0x40695f30 + 0x00273> in :0
at System.Net.ResponseStream.InternalWrite (System.Byte[] buffer, Int32 offset, Int32 count) <0x40755880 + 0x0008f> in :0
at System.Net.ResponseStream.Close () <0x40755c20 + 0x0010b> in :0
at System.Net.HttpConnection.Close (Boolean force_close) <0x40755970 + 0x0004f> in :0
at System.Net.HttpListener.Cleanup (Boolean close_existing) <0x40784af0 + 0x00517> in :0
at System.Net.HttpListener.Close (Boolean force) <0x40783cb0 + 0x0002f> in :0
at System.Net.HttpListener.Stop () <0x40783c70 + 0x0001f> in :0
at SteamBotLite.MapWebServer.CloseWebServer () <0x40783c00 + 0x0002b> in :0
at SteamBotLite.MapWebServer+RebootModule.exec (SteamBotLite.MessageEventArgs Msg, System.String param) <0x40783ba0 + 0x0001b> in :0
at SteamBotLite.BaseCommand.run (SteamBotLite.MessageEventArgs Msg, System.String message) <0x40762870 + 0x000ac> in :0
at SteamBotLite.VBot.ChatMessageHandler (SteamBotLite.MessageEventArgs Msg, System.String Message) <0x407573d0 + 0x00277> in :0
at SteamBotLite.VBot.ProcessPrivateMessage (System.Object sender, SteamBotLite.MessageEventArgs e) <0x4076c4f0 + 0x00087> in :0
at (wrapper delegate-invoke) System.EventHandler1[SteamBotLite.MessageEventArgs]:invoke_void_object_TEventArgs (object,SteamBotLite.MessageEventArgs) at SteamBotLite.ApplicationInterface.PrivateMessageProcessEvent (SteamBotLite.MessageEventArgs e) <0x4076c4b0 + 0x0002f> in <filename unknown>:0 at SteamBotLite.SteamInterface.ReceivePrivateMessage (SteamKit2.FriendMsgCallback callback) <0x4076c250 + 0x00217> in <filename unknown>:0 at SteamKit2.Callback1[TCall].Run (System.Object callback) <0x406a0c60 + 0x000e9> in :0
at SteamKit2.CallbackManager+<>c__DisplayClass11_0.b__1 (SteamKit2.Internal.CallbackBase callback) <0x406a0c30 + 0x0001f> in :0
at System.Collections.Generic.List1[T].ForEach (System.Action1 action) <0x406a0b40 + 0x0007f> in :0
at SteamKit2.CallbackManager.Handle (ICallbackMsg call) <0x406a0780 + 0x001db> in :0
at SteamKit2.CallbackManager.RunCallbacks () <0x4069e530 + 0x00037> in :0
at SteamBotLite.SteamInterface.tick () <0x4069e4b0 + 0x0002b> in :0

MapModule Not loading On boot

Bot fails to ladd MapModule.JSON
Issue has become noticeable since the list was made an observerable-collection, this is likely the cause.

Case Sensitive issues

Maps should warn users when not all lower-case, and !delete and similar commands are case sensitive as of right now, which isn't exactly good

Ghost Check resets regardless of who sent the message

For instance, if discord sends a message the count resets.

To fix this, a userhandler only assigned to the SteamInterface should be constructed, and upon detecting a ghost fire the event to leave and the event to join.

Server Module Causes Crashes

Server Module causes crashes overtime, likely due to ASYNC methods (and thus why its not caught in a try{} catch{}

Survey feature

let people make surveys, let people answer them, idk if it's spam just allow it fucksake

Small feature ideas:

Pinging would be nice.

A report feature like !report so people can post bugs and stuff would be too.

Unable to send methods to particular interface

This is a much more generic issue, but some methods which independently run (such as deleting maps on server running) the userhandler would aim to only send a private message to the platform that it set initially from. However, as of right now the UserHandler can only fire the event across all of its interfaces (and trying to store the interface as data causes issues upon saving and reloading the data), this could causes crashes as types are cast.

A method to solve this, is for userhandlers to store a list of applicationinterfaces when assigning, and store the applicationinterface.type alongside identifier objects, so any time the identifier is stored or called it would know which interface type it should appropriately receive data from. However the major hurdle to overcome is if there are multiple implementations of the same interface (however, an implementation like that could easily instead make an abstract class of the abstract class).

Reboot Not Working

If the bot is banned from chat it will begin the reboot cycle but then end up permanently offline.

Configuration File for applicationinterface needed, Tokens Visible

The discord API token is visible and should be deleted as soon as possible.

To solve this and further improve the code, the abstract class should implement an _config.json class to automatically grab data from. The CONFIG file should also include the username intended for the Bot, and the mainchatroom ID, but also allow for the individual interface to have configurations necessary for that class

Link to impnao API

This is a tracking issue for linking VBot's map list to the impnao API. Impnao currently has 3 endpoints, get, add and remove. The API is location at http://carbidegames.com/impnao/api/maps.

"GET: /impnao/api/maps" will get a full list of maps.
"POST: /impnao/api/maps" will post a new map entry, using the same format as GET returns.
"DELETE: /impnao/api/maps/{name}" will remove the map {name}.

For reference, the API code can be found here:
https://github.com/TF2Maps/impnao/blob/master/src/controllers/api.rs

Start utilising lock? Start ensuring only certain receivers for events?

I made a basic discovery, could/should the lock statement be used when opening/editing files?
SHould the lock thread be used when running events perhaps?

https://msdn.microsoft.com/en-us/library/c5kehkcz.aspx?f=255&MSPPError=-2147217396

Similarly this outlines methods to deal with sending events to only key classes, i'm considering to utilise a parameter on the message to allow users to specify which Interface the messages are sent to.
http://www.codeproject.com/Articles/36760/C-events-fundamentals-and-exception-handling-in-mu

VBot doesn't renew server list in some conditions

Vbot experienced difficulties alongside STEAMPP when trying to connect to a server. However upon manually changing steampp's it was able to connect. VBot needs to automatically know that a server wont work and aim for another

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.