tf2maps / tf2mchatbots Goto Github PK
View Code? Open in Web Editor NEWAn Application that can run various bots for TF2M, but instead just runs VBot
Home Page: http://vbot.website/
An Application that can run various bots for TF2M, but instead just runs VBot
Home Page: http://vbot.website/
Filtering spaces error
Alternatively there should be better methods around this, look into them
As there is the possibility for interfaces to use asynchronous programming, the thread.sleep in the program.cs file could cause issues for these implementations
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.Callback
1[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.Action
1 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
Bot fails to ladd MapModule.JSON
Issue has become noticeable since the list was made an observerable-collection, this is likely the cause.
This is a pretty major missing thing that'll stop future developers from utilising this project.
No clue why.
6:25 PM - Fantasmos: !update rural arena_rural_a2 https://tf2maps.net/downloads/rural.4137/
6:25 PM - [9]VBot: You are either not an admin or this isn't your map!
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
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 overtime, likely due to ASYNC methods (and thus why its not caught in a try{} catch{}
Right now the VBot class has a lot of clutter because of these methods, they can be made into a simple class however that is inherited
let people make surveys, let people answer them, idk if it's spam just allow it fucksake
If a module is turned off and on, it wont save on reboot
We can ensure that the config is sufficient to run VBot using unit tests. All it'd have to do is create an instance of VBot without crashing
These have been missing since the beginning, pretty major thing for contributors
Better than a string
Pinging would be nice.
A report feature like !report so people can post bugs and stuff would be too.
TODO Feature
As of right now, userhandlers have no way of checking if a user is online, or in the chatroom, this should be fixed as soon as possible
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).
If the bot is banned from chat it will begin the reboot cycle but then end up permanently offline.
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
Should be a way around this, but flagging it right now
It also doesn't un-assign itself a socket on close when done forcefully.
Permissions mess up if you add a map, and the bot reloads
It reutrns issue querying or something.
Also, multiple commands per server would be cool
Too much Visual noise RN, so stop returning notes if there's none
No Clue, tbh, but in the serverquery object its not returning
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
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 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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.