• Welcome to Valhalla Legends Archive.
 

Kind of annoyed

Started by MyndFyre, June 26, 2011, 12:18 AM

Previous topic - Next topic

MyndFyre

Someone sent me a private message, so I took the time to write a nice reply and the account either was deleted or never existed.  The author didn't bother to leave me any contact information.  So here it is, for the annals of time, in case you happen to be browsing.

Quote from: Piskota_TNT
Dear MyndFyre,

first of let me introduce myself. My name is Borko and as you are probably guessing I am a wanna-be-bot-creator.

That is partially correct, but I have been working with C# for almost a year and I have some experience in C as well (started off with C). I have been a shaman and a bot maintainer for a long time but since I think that SB is dying and the support on the website is awful I am trying to migrate from SB to jinxbot. As I could develop stuff for it since it's written in C#. Unfortunately your site was down when I started googling and cache version did not provide any download link :(
There isn't a proper build available for download.  However, you can SVN-checkout the latest JinxBot repository from SVN via http://jinxbot.googlecode.com/ and it should build and run fine.

Quote from: Piskota_TNT
But I am guessing that you've stopped working on it and left bnet development completely.
Eh, I come and go.  I think I might be getting back in, as I just found a library that parses JavaScript within a .NET environment (called Jurassic), so I'm thinking about adding that to JinxBot.  I've wanted to add script support to JinxBot for a long time, and now it seems like it might be workable.  So I'm investigating that.

Quote from: Piskota_TNTSo I am kindly asking you for some help in understanding how bnet works and how I should approach the logical/planning and programming phase in the development of my own bot. I have searched, I have googled, tried learning from other peoples source code, but mostly it was bad.
If you're interested in making your own bot, you might consider using BN#, which is the library I programmed to make it easy to make a bot in C# (JinxBot is built around it).  It handles all of the underlying connection pieces for you.  You can also get the latest version of that, Beta 3, from the same Google Code repository.  To make a bot using BN#, you have to do these things:
  • Implement IBattleNetSettings, which is a simple interface that provides the settings to the bot.
  • Pass your instance of IBattleNetSettings to the constructor of a BattleNetClient
  • Sign up for BattleNetClient's events, such as Connected, JoinedChannel, etc.
  • Call Connect on your instance of BattleNetClient.
Quote from: Piskota_TNT
Could you please provide me a step by step linking to what I need to know in order to start making my own bot?

Thank you,

Borko
Your alternative is to use BnetDocs, which describes the packet structure of what's actually going on under the hood.  Battle.net exchanges a series of messages with your client over port 6112.  You need to know how to prepare, send, receive, and decode those messages in order to make a bot, and is substantially out of the purview of what I'm willing to write in a PM.  You can, however, find good information by searching this forum, if that's the route you want to go.

I will say, it's good knowledge to have - understanding bytes, socket communication, and whatnot - it's a skill few people have.  However, it's a skill few have because few need it.  You may find it's a waste of time to learn how to do all that low-level stuff, in which case, BN# isn't a bad way to go.

GL.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

MysT_DooM

whoops my bad :P, thought he was a bot when I lookedup his IP info on projecthoneypot.org and it was linked with spam messages.  Anyway he's unbanned, if you read this Piskota, feel free to register again ;)


vb6, something about that combination of numbers and letters is sexy

MyndFyre

Myst, can you look at backups to see if he has an email address that I can mail?  I don't like leaving people hanging and the guy might not know what he did, or might have seen that he was deleted and got pissed and left.  If so, PM me.  Thanks.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

MyndFyre

#3
[18.32.48] Hello, JinxBot, from JavaScript!  I look forward to completing your training.

Woot!  I managed to get a few method calls to work - addChat, send - this could be good! :)


function onLoad()
{
    addChat([
        {
            text: 'Hello, JinxBot, from JavaScript!',
            color: Colors.YellowGreen
        },
        {
            text: '  I look forward to completing your training.',
            cssClass: CssClasses.Error
        }
    ]);
}


I set global objects CssClasses and Colors, and a global function addChat to the standard global functions specified by ECMAScript 5.  I also included set/clear Timeout/Interval, and a format() function that passes along its arguments to .NET's string.Format().


[18.38.55] Hello, JinxBot, from JavaScript!  I look forward to completing your training.
[18.38.55] Transparent
[18.38.55] AliceBlue
[18.38.55] AntiqueWhite
[18.38.55] Aqua
[18.38.55] Aquamarine
[18.38.55] Azure
[18.38.55] Beige
[18.38.55] Bisque
[18.38.55] Black
[18.38.55] BlanchedAlmond
[18.38.55] Blue
[18.38.55] BlueViolet
[18.38.55] Brown
[18.38.55] BurlyWood
[18.38.55] CadetBlue
[18.38.55] Chartreuse
[18.38.55] Chocolate
[18.38.55] Coral
[18.38.55] CornflowerBlue
[18.38.55] Cornsilk
[18.38.55] Crimson
[18.38.55] Cyan
[18.38.55] DarkBlue
[18.38.55] DarkCyan
[18.38.55] DarkGoldenrod
[18.38.55] DarkGray
[18.38.55] DarkGreen
[18.38.55] DarkKhaki
[18.38.55] DarkMagenta
[18.38.55] DarkOliveGreen
[18.38.55] DarkOrange
[18.38.55] DarkOrchid
[18.38.55] DarkRed
[18.38.55] DarkSalmon
[18.38.55] DarkSeaGreen
[18.38.55] DarkSlateBlue
[18.38.55] DarkSlateGray
[18.38.55] DarkTurquoise
[18.38.55] DarkViolet
[18.38.55] DeepPink
[18.38.55] DeepSkyBlue
[18.38.55] DimGray
[18.38.55] DodgerBlue
[18.38.55] Firebrick
[18.38.55] FloralWhite
[18.38.55] ForestGreen
[18.38.55] Fuchsia
[18.38.55] Gainsboro
[18.38.55] GhostWhite
[18.38.55] Gold
[18.38.55] Goldenrod
[18.38.55] Gray
[18.38.55] Green
[18.38.55] GreenYellow
[18.38.55] Honeydew
[18.38.56] HotPink
[18.38.56] IndianRed
[18.38.56] Indigo
[18.38.56] Ivory
[18.38.56] Khaki
[18.38.56] Lavender
[18.38.56] LavenderBlush
[18.38.56] LawnGreen
[18.38.56] LemonChiffon
[18.38.56] LightBlue
[18.38.56] LightCoral
[18.38.56] LightCyan
[18.38.56] LightGoldenrodYellow
[18.38.56] LightGreen
[18.38.56] LightGray
[18.38.56] LightPink
[18.38.56] LightSalmon
[18.38.56] LightSeaGreen
[18.38.56] LightSkyBlue
[18.38.56] LightSlateGray
[18.38.56] LightSteelBlue
[18.38.56] LightYellow
[18.38.56] Lime
[18.38.56] LimeGreen
[18.38.56] Linen
[18.38.56] Magenta
[18.38.56] Maroon
[18.38.56] MediumAquamarine
[18.38.56] MediumBlue
[18.38.56] MediumOrchid
[18.38.56] MediumPurple
[18.38.56] MediumSeaGreen
[18.38.56] MediumSlateBlue
[18.38.56] MediumSpringGreen
[18.38.56] MediumTurquoise
[18.38.56] MediumVioletRed
[18.38.56] MidnightBlue
[18.38.56] MintCream
[18.38.56] MistyRose
[18.38.56] Moccasin
[18.38.56] NavajoWhite
[18.38.56] Navy
[18.38.56] OldLace
[18.38.56] Olive
[18.38.56] OliveDrab
[18.38.56] Orange
[18.38.56] OrangeRed
[18.38.56] Orchid
[18.38.56] PaleGoldenrod
[18.38.56] PaleGreen
[18.38.56] PaleTurquoise
[18.38.56] PaleVioletRed
[18.38.56] PapayaWhip
[18.38.56] PeachPuff
[18.38.56] Peru
[18.38.56] Pink
[18.38.56] Plum
[18.38.56] PowderBlue
[18.38.56] Purple
[18.38.56] Red
[18.38.56] RosyBrown
[18.38.56] RoyalBlue
[18.38.56] SaddleBrown
[18.38.56] Salmon
[18.38.56] SandyBrown
[18.38.56] SeaGreen
[18.38.56] SeaShell
[18.38.56] Sienna
[18.38.56] Silver
[18.38.56] SkyBlue
[18.38.56] SlateBlue
[18.38.56] SlateGray
[18.38.56] Snow
[18.38.56] SpringGreen
[18.38.56] SteelBlue
[18.38.56] Tan
[18.38.56] Teal
[18.38.56] Thistle
[18.38.56] Tomato
[18.38.56] Turquoise
[18.38.56] Violet
[18.38.56] Wheat
[18.38.56] White
[18.38.56] WhiteSmoke
[18.38.56] Yellow
[18.38.56] YellowGreen
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.