Sohbet Botları oluşturma
Notlar
İpucu
Şimdilik bu sayfa Chat Bot API'sinin yalnızca temellerini, size temel Chat Bot'ları nasıl yapacağınızı öğretmeye yetecek kadar ayrıntı içeriyor. Ayrıntılar için ChatBot.cs ve Examples bölümlerine bakın. Bu sayfa gelecekte geliştirilecektir.
Minecraft Konsol İstemcisi, normal sciptlerin yapamayacağı, kompleks otomasyonlar oluşturmanıza yardımcı olabilecek Sohbet Botlarınızı (etkili eklentiler) oluşturmanıza olanak tanıyan zengin bir C# API'ye sahiptir.
Gereksinimler
- Basit C# Programlama dili bilgisi
- Metin editörü
C# Dilini bilmiyorsanız, Şu kaynaklara bakın:
Çökme Nedenleri:
Daha fazlası için:
- C#'ı YouTube'ın Microsoft oynatma listesinden öğren.
- C#'ı Öğrenmeye Başlamak (Öğreticiler ve belgeler dizini) Microsoft tarafından
Hızlı giriş
Bu giriş senin C# dilinin azıcık bildiğini gösterir
İpucu
Burada Sohbet Bot ve Kod (Script) terimlerini birbirinin yerine kullanacağız
Yeni bir boş dosya oluştur ve isimlendir ExampleChatBot.cs
Dikkat et ve bu klasörü MCC'yi nereye kurduysan oraya yerleştir.
Bu örnek kodu kopyala:
//MCCScript 1.0
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
// The code and comments above are defining a "Script Metadata" section
// Every single chat bot (script) must be a class which extends the ChatBot class.
// Your class must be instantiates in the "Script Metadata" section and passed to MCC.LoadBot function.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
// Here you can initialize variables, eg. Dictionaries. vb...
public override void Initialize()
{
LogToConsole("An example Chat Bot has been initialized!");
}
// This is a function that will be run when we get a chat message from a server
// In this example it just detects the type of the message and prints it out
public override void GetText(string text)
{
string message = "";
string username = "";
text = GetVerbatim(text);
if (IsPrivateMessage(text, ref message, ref username))
{
LogToConsole(username + " has sent you a private message: " + message);
}
else if (IsChatMessage(text, ref message, ref username))
{
LogToConsole(username + " has said: " + message);
}
}
}
MCC'yi başlat, Bir sunucuya katıl ve bu komudu yaz: /script ExampleChatBot.cs
.
Herşeyi doğru yaptıysan şunu görmelisin:[Örnek Sohbet Botu] Bir örnek Sohbet Botu tarafından başlatıldı!
mesaj Konsol Odunun'a gelmiştir....
Sohbet Botlarının temeli
Sohbet botu (Kod) bunu takip ediyor
<script metadata>
<chat bot class>
Script Metadata is a section with a custom format that mixes in C# with our format using comments.
Every single Chat Bot (Script) must have this section at the beginning in order to work.
Kod Metadata formatı.
//MCCScript 1.0
marks the beginning of the Script Metadata section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
//MCCScript Extensions
marks the end of the Script Metadata section, this must be defined before a Chat Bot (Script) class.
In order for your Chat Bot (Script) to properly load in-between the //MCCScript 1.0
and the //MCCScript Extensions
lines you must instantiate your Chat Bot (Script) class and pass it to the MCC.LoadBot
function.
Örnek kod:
MCC.LoadBot(new YourChatBotClassNameHere());
Script Metadata section allows for including C# packages and libraries with: //using <namespace>
and /dll <dll name>
.
İpucu
Avoid adding whitespace between //
and keywords
By the default the following packages are loaded:
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Threading;
using MinecraftClient;
using MinecraftClient.Mapping;
using MinecraftClient.Inventory;
Örnek kullanım:
//using System.Collections.Immutable
//dll MyDll.dll
Bütün Örnek:
//MCCScript 1.0
//using System.Collections.Immutable
//dll MyDll.dll
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
Chat Bot Class
After the end of the Script Metadata section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend ChatBot
class.
There are no required methods, everything is optional.
When the Chat Bot (Script) has been initialized for the first time the Initialize
method will be called.
In it you can initialize variables, eg. Dictionaries, etc..
İpucu
For allocating resources like a database connection, we recommend allocating them in AfterGameJoined
and freeing them in OnDisconnect
Örnekler
You can find a lot of examples in our Git Hub Repository at ChatBots and config.
C# API
As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the ChatBot.cs for reference.
Each method is well documented with standard C# documentation comments.
In the future we will make a script to auto-generate this section based on the documentation in the code.