Do you think I could just leave this part blank and it'd be okay? We're just going to replace the whole thing with a header image anyway, right?
You are not logged in.
Pages: 1
Read from the protocol directly, and add reverse compatibility to your bot.
I decided to make this, but basically, it reads from the protocol and allows you to read messages from the protocol into an easy format.
Everything you need to know can be found on github in the readme
Nuget:
PM> Install-Package ProtocolLookup
https://www.nuget.org/packages/ProtocolLookup/1.0.0
Mediafire:
https://www.mediafire.com/?z18sbdes5rn8gbq
Funny enough, it was actually pretty easy to create...
** Note **
As of right now, it can only grab the "recieve" and "send" messages of the protocol. I will be working on some of the stuff mentioned here.
Offline
Can you throw out an example of this usage?
Also, for future reference, WebClient can download strings, saving you the bother of deleting the file.
Looks pretty cool. If I understand it, this could use some expanding to make streamlined (right?). But it certainly makes a pointed effort
Offline
Can you throw out an example of this usage?
Also, for future reference, WebClient can download strings, saving you the bother of deleting the file.Looks pretty cool. If I understand it, this could use some expanding to make streamlined (right?). But it certainly makes a pointed effort
Did two examples, https://github.com/SirJosh3917/Protocol … r/Examples
Both tested.
One example is for the (un)famous bot breaking fix - the init world width and height message.
The other is to send an "m" message, to move the bot around without breaking it during any update, passing "null so to speak" (not null, but for example, an int set to 0, a boolean set to false, a double set to 0) to any parameter required
Offline
So instead of using the protocol in your code, you've written a library that downloads it, searches for text to
add reverse compatibility
- But the text could change in the protocol.
I really don't see the hassle with just reading it, instead of adding a bunch of arguably redundant code...
I'd use it, just I don't _really_ see a point. At all. In the slightest...
Offline
But the text could change in the protocol.
Thanel said in this post that the names can be considered official and probably won't change anytime soon.
Being honest I am going to make my own implementation of this, though the usage of it will be some different.
(don't worry ninja, I won't copy code if that's a concern to you)
Anyways. The point of such a lib is to, not necessarily make it reverse compatible, but most importantly make it robust. Keep it alive in the next update and the ones coming. Keep your public or private bot working after a couple months without having touched it (this might not actually work though).
Using things like this saves you the annoyance of fixing your message id's with every update.
Offline
(don't worry ninja, I won't copy code if that's a concern to you)
I don't mind
Anyways. The point of such a lib is to, not necessarily make it reverse compatible, but most importantly make it robust. Keep it alive in the next update and the ones coming. Keep your public or private bot working after a couple months without having touched it (this might not actually work though).
Using things like this saves you the annoyance of fixing your message id's with every update.
That's exactly the function and even if the protocol happens the change, I want the dll to be "backwards compatible", so to speak, so if there was a bot made with the really early version of this DLL (the current version at the time of posting) and stuff really changed in the EE Protocol, you could download the latest DLL and replace the older one the bot had, so it keeps functioning just like it did before.
Offline
you could download the latest DLL and replace the older one the bot had, so it keeps functioning just like it did before.
edit: realized my entire post was "here's how I'd do things bro"
I'll still say this: I'd do some research into what changes you can make to a DLL and still have it work.
Offline
Koya recently mentioned in the other topic setting up a master (repository?) with the schema, which would fit your "download the latest DLL" idea, except the user doesn't actually have to do that.
Master bot which outputs a JSON file to the web for bots to read - the master bot would keep track of message IDs and changes.
It would be faster and easier to use with this method as the syntax is unchanged.
Thank you eleizibeth ^
I stack my signatures rather than delete them so I don't lose them
Offline
hummerz5 wrote:Koya recently mentioned in the other topic setting up a master (repository?) with the schema, which would fit your "download the latest DLL" idea, except the user doesn't actually have to do that.
Master bot which outputs a JSON file to the web for bots to read - the master bot would keep track of message IDs and changes.
It would be faster and easier to use with this method as the syntax is unchanged.
Why JSON?
If you'd upload it to the web generally XML is most logical, some ways of getting "web pages" actually give you an XML object so you don't have to generate an object yourself.
Offline
Something like this would only be useful if the protocol is always updated as soon as an update is pushed. Is it?
One bot to rule them all, one bot to find them. One bot to bring them all... and with this cliché blind them.
Offline
Offline
Or, idea, you just keep your bot up to date
It's far easier than writing a whole library to analyse the protocol, then if wording or sections change, try to guess what they were meaning. This would become more difficult with each change.
Offline
Calyfornia, that's a valid point. However, some of us tire easily from doing those tasks repeatedly. If yo have more than one, the time grows linearly. Plus, what are bots for, but to do what humans can do with ease and speed?
If the name changes, that's on the EE admin for swapping that information out; even then, having an intermediate source would allow a caretaker to fix all easily.
Offline
Calyfornia, that's a valid point. However, some of us tire easily from doing those tasks repeatedly. If yo have more than one, the time grows linearly. Plus, what are bots for, but to do what humans can do with ease and speed?
If the name changes, that's on the EE admin for swapping that information out; even then, having an intermediate source would allow a caretaker to fix all easily.
Offline
hummerz5 wrote:Calyfornia, that's a valid point. However, some of us tire easily from doing those tasks repeatedly. If yo have more than one, the time grows linearly. Plus, what are bots for, but to do what humans can do with ease and speed?
If the name changes, that's on the EE admin for swapping that information out; even then, having an intermediate source would allow a caretaker to fix all easily.
In this "line of work" Laziness generally means productivity which would mean less work for you and less money spent for the company. Obviously occasionally you think you make a tool which would satisfy your laziness but end up taking way too long to make it. But I think a tool like this could easily grow into something very robust. Only little machine learning is required to make it even more robust (and there are plenty of libraries out there that do almost everything for you).
Offline
With this whole name changing thing and different stuff changing in the protocol, the user could just replace the dll, as my goal is to try have the dll be backwards compatible.
I'd do some research into what changes you can make to a DLL and still have it work.
I'd follow c++, they keep all of their old usages, so you can make c++ program for 1990 while programming in c++13.
Offline
Pages: 1
[ Started around 1732420758.1451 - Generated in 0.103 seconds, 12 queries executed - Memory usage: 1.69 MiB (Peak: 1.93 MiB) ]