Giter VIP home page Giter VIP logo

ibot's Introduction

Title

Содержание репозитория

  • IBot — файлы библиотеки;
  • Test — папка с примерами использования библиотеки:
    • Simple — простейший пример,
    • Musician — пример бота-музыканта,
    • DiscordBot — пример бота с трансляцией чата в Дискорд;
  • References — папка с вспомогательными библиотеками (для примеров).

Обзорная документация

Классы:

  • Bot — бот и сетевая работа с ним;
  • Server — сервер, за которым закрепляются боты;
  • Hooks — события (хуки) для перехвата системных сообщений, обработки сетевых процессов;
  • Player — поведение и внешний вид бота как игрового персонажа;
  • Message — обработка сообщений информационных и игрового чата;
  • Utils — различного рода инструменты ("утилиты").

Структуры:

  • Packet — сетевой пакет;
  • Buff — баффы и дебаффы;
  • Item — предметы.

Перечисления:

  • ClientVersion — ;
  • ConnectionState — ;
    • `` — ,
    • `` — ,
    • `` — ,
    • `` — ,
    • `` — ,
  • Control — ;
  • Pulley — ;
  • Miscs — ;
  • Difficulty — ;
  • Sleeping — ;
  • HideVisuals — ;
  • HideMisc — ;
  • Team — ;
  • TorchFlag — ;
  • ReadItemOrder — .

Класс сервера

Конструктор для создания объекта класса Server (сервера) содержит три необязательных аргумента:

  • ip — айпи-адрес сервера (по дефолту "127.0.0.1");
  • port — порт сервера (по дефолту 7777);
  • version — версия террарии (по дефолту ClientVersion.Version1449).

Поля:

  • Password — пароль сервера;
  • Area — прямоугольник, определяющий размеры мира;
  • Spawn — точка мирового спавна;
  • Name — название мира/сервера.

Замечания:

  • Пароль, если требуется, задавать до подключения ботов к серверу;
  • Поля Area, Spawn и Name определяются в процессе подключения ботов к серверу — дальше могут быть изменены как вами, так и сервером;
  • Каждый новый объект класса Server определяет свой поток (Thread) для обработки сетевых пакетов — привязка ботов к тому или иному объекту класса Server определяет, какой поток они используют для обработки пакетов (многопоточность).

Пример:

var server = new Server("terraria.tk");
server.Password = "12345";

Console.WriteLine(server.ToString()); //--> terraria.tk:7777

Класс бота

Конструктор для создания объекта класса Bot (бота) содержит два аргумента:

  • server — сервер, к которому бот привязывается;
  • name — ник бота, который рандомизируется, если не указывается.

Свойства:

  • ID — номер сетевой ячейки (айди), занимаемой ботом в процессе подключения — используется в некоторых пакетах для идентификации;
  • Server — закрепленный сервер;
  • Player — игровой персонаж;
  • State — сетевое состояние;
  • Version — версия террарии (определяется сервером);
  • Name — ник (определяется персонажем);

Поля:

  • UUID — идентификатор для авторизации;
  • Zones — данные для 36 пакета (опционально);
  • ResponseWaitingTime — общее (static) время ожидания ответа от сервера в миллисекундах (по дефолту 3 минуты).

Процессы подключения:

  • a
  • a
  • a
  • a
  • a
  • a

Замечания:

  • Если необходимо авторизовать бота за какой-либо аккаунт на сервере, задайте UUID перед подключением — при этом Name должен быть равен нику этого аккаунта;
  • Ваш UUID находится в файле config.json по пути ..\Документы\My Games\Terraria;
  • Старайтесь сохранять все ваши UUID в тайне и не заходите на сервера, которые могут ими злоупотреблять!

ibot's People

Contributors

diagenov avatar

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.