Announcement

Collapse
No announcement yet.

[Question] What is the best programming language to make bots?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Question] What is the best programming language to make bots?

    Hello!

    I'm wondering what is the best programming language to make a bot for Tibia(or other games like Tibia too), I don't have much knowledge about that subject, I developed a bot for Tibia called OldBot, it's made with AutoHotkey but I feel like the language is very limited in some ways, so I would like to know a better language for that purpose, any thoughts on it?

    Thanks!
    Last edited by debbie; 26-07-2018, 12:47 PM.

  • #2
    C# is the best choice.

    Comment


    • #3
      Originally posted by Jona View Post
      C# is the best choice.
      Thanks for your reply Jona! But could you explain why C# is the best choice?

      Comment


      • #4
        Honestly it's hard to say without knowing who you are, and what you intend to do.

        For most people, the language they know will be best. If that's C#, C++, VB, Python, etc it doesn't matter. Most languages have some integration with whatever OS functionality you need so it's just a case of knowing what you want to do and doing it.

        Personally, I use Python for practically everything. On Linux it has bindings to ptrace and to process_vm_readv/process_vm_writev as well as libraries to emulate input. On Windows it has bindings to WinAPI which are equally useful. Obviously this functionality is native to Windows/Linux and is available by default to C++, but it's also made available to .NET via the core libraries.

        Java and JavaScript will be a bit more difficult but they still have libraries which will let you do the same stuff. These technologies are kinda focused towards web so I wouldn't recommend them for any desktop development really, but aside from that it's buyers choice. Use what you know best and enjoy using it.

        Worth noting that if you want to do some kinda DLL injection, you'll most certainly want to be using C++. It's possible to inject a DLL from any language, but to create an injectable DLL is a more complex task. If you're trying to inject a .NET DLL, you'll have to load the runtime environment also which will be difficult, though it should be possible.

        Comment


        • #5
          Originally posted by Josh View Post
          Honestly it's hard to say without knowing who you are, and what you intend to do.

          For most people, the language they know will be best. If that's C#, C++, VB, Python, etc it doesn't matter. Most languages have some integration with whatever OS functionality you need so it's just a case of knowing what you want to do and doing it.

          Personally, I use Python for practically everything. On Linux it has bindings to ptrace and to process_vm_readv/process_vm_writev as well as libraries to emulate input. On Windows it has bindings to WinAPI which are equally useful. Obviously this functionality is native to Windows/Linux and is available by default to C++, but it's also made available to .NET via the core libraries.

          Java and JavaScript will be a bit more difficult but they still have libraries which will let you do the same stuff. These technologies are kinda focused towards web so I wouldn't recommend them for any desktop development really, but aside from that it's buyers choice. Use what you know best and enjoy using it.

          Worth noting that if you want to do some kinda DLL injection, you'll most certainly want to be using C++. It's possible to inject a DLL from any language, but to create an injectable DLL is a more complex task. If you're trying to inject a .NET DLL, you'll have to load the runtime environment also which will be difficult, though it should be possible.
          Thanks so much for your answer Josh!

          Comment

          Working...
          X