Mandehana any amin'ny "My Applications" izahay ary tsindrio ny bokotra "Add a new application", manome ny anaran'ny rindranasa ary misafidy ny karazana azy.
Mitahiry ny ID Application
Software
Efa misy ny fahalalahana misafidy. Misy mampiasa Visual Studio, olona Rider, olona matanjaka amin'ny ankapobeny, ary manoratra kaody ao amin'ny Vim (raha ny marina, ny tena mpandrindra fandaharana dia tsy mampiasa afa-tsy ny klavier, sa tsy izany?). Na izany aza, mba tsy hampiharana ny Discord API dia azonao ampiasaina ny tranomboky C# tsy ofisialy "DSharpPlus". Azonao atao ny mametraka izany na avy amin'ny NuGet, na amin'ny fananganana loharano avy amin'ny tahiry.
Ho an'ireo izay tsy mahalala na nanadino ny fomba fametrahana rindranasa avy amin'ny NuGet.TorolΓ lana ho an'ny Visual Studio
Mandehana any amin'ny tabilao Project - Manage NuGet Packages;
Tsindrio ny famerenana ary ao amin'ny sehatry ny fikarohana midira ny "DSharpPlus";
Misafidiana ary mametraka rafitra;
MAHASOA!
Tapitra ny dingana fanomanana, afaka miroso amin'ny fanoratana ny bot ianao.
Lojika fanoratana
Tsy hojerentsika ny lojika manontolo amin'ny fampiharana, hasehoko fotsiny ny fomba fiasa amin'ny fisakanana ny hafatra avy amin'ny bot, ary ny fomba fiasa miaraka amin'ny Wargaming API.
Ny fiasana amin'ny bot Discord dia mitranga amin'ny alΓ lan'ny Task MainTask async static (string[] args);
Raha hiantso an'io fiasa io ianao dia mila misoratra anarana ao amin'ny Main
Aiza no misy ny token'ny bot-nao.
Avy eo, amin'ny alΓ lan'ny lambda, dia manoratra ireo baiko ilaina izay tokony hotanterahin'ny bot:
discord.MessageCreated += async e =>
{
string message = e.Message.Content;
if (message.StartsWith("&"))
{
await e.Message.RespondAsync(βHello, β + e.Author.Username);
}
};
Aiza no ahazoan'ny e.Author.Username ny anaram-bositra.
Amin'izany fomba izany, rehefa mandefa hafatra manomboka amin'ny & ianao, dia hiarahaba anao ny bot.
Amin'ny faran'ity asa ity dia tsy maintsy manoratra miandry ny discord.ConnectAsync(); ary miandry ny Asa. Fahatarana (-1);
Izany dia ahafahanao manatanteraka baiko ao ambadika nefa tsy maka ny loha-hevitra.
Ankehitriny dia mila miatrika ny Wargaming API isika. Tsotra ny zava-drehetra eto - manorata fangatahana CURL, mahazo valiny amin'ny endriky ny tady JSON, esory ny angon-drakitra ilaina ary manaova manipulations amin'izy ireo.
public Player FindPlayer(string searchNickname)
{
//https://api.worldoftanks.ru/wot/account/list/?application_id=y0ur_a@@_id_h3r3search=nickname
urlRequest = resourceMan.GetString("url_find_player") + appID + "&search=" + searchNickname;
Player player = null;
string resultResponse = GetResponse(urlRequest);
dynamic parsed = JsonConvert.DeserializeObject(resultResponse);
string status = parsed.status;
if (status == "ok")
{
int count = parsed.meta.count;
if (count > 0)
{
player = new Player
{
Nickname = parsed.data[0].nickname,
Id = parsed.data[0].account_id
};
}
else
{
throw new PlayerNotFound("ΠΠ³ΡΠΎΠΊ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½");
}
}
else
{
string error = parsed.error.message;
if (error == "NOT_ENOUGH_SEARCH_LENGTH")
{
throw new PlayerNotFound("ΠΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ");
}
else if (error == "INVALID_SEARCH")
{
throw new PlayerNotFound("ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ");
}
else if (error == "SEARCH_NOT_SPECIFIED")
{
throw new PlayerNotFound("ΠΡΡΡΠΎΠΉ Π½ΠΈΠΊΠ½Π΅ΠΉΠΌ");
}
else
{
throw new Exception("Something went wrong.");
}
}
return player;
}
Attention! Tsy soso-kevitra ny hitahiry ny famantarana rehetra sy ny ID fampiharana amin'ny lahatsoratra mazava! Farafaharatsiny, mandrara ny famantarana toy izany ny Discord rehefa miditra amin'ny tambajotra manerantany, ary amin'ny fara-tampony dia manomboka ampiasain'ny mpanafika ny bot.
Apetraho amin'ny VPS - mpizara
Raha vantany vao vita ny bot dia mila fampiantranoana amin'ny mpizara izay mandeha tsy tapaka 24/7. Izany dia noho ny zava-misy fa rehefa mandeha ny fampiharanao dia mandeha ihany koa ny bot. Raha vao vonoinao ny fampiharana dia renoky ny torimaso koa ny bot-nao.
Mpizara VPS maro no misy eto amin'ity tontolo ity, na amin'ny Windows na amin'ny Linux, na izany aza, amin'ny ankamaroan'ny tranga dia mora kokoa ny mampiantrano amin'ny Linux.
Ao amin'ny mpizara Discord, nanoro hevitra aho vscale.io, ary avy hatrany dia namorona mpizara virtoaly ao amin'ny Ubuntu aho ary nampiakatra ny bot. Tsy hamariparitra ny fomba fiasan'ity tranokala ity aho, fa handeha mivantana amin'ny fikandrana bot.
Voalohany indrindra, mila mametraka ny rindrambaiko ilaina ianao izay hampandeha ny botsika voasoratra ao amin'ny .NET Core. Ny fomba hanaovana izany dia voalaza eto.
Avy eo, mila mampakatra ny bot amin'ny serivisy Git ianao, toa an'i GitHub sy ny toy izany, ary clone izany amin'ny mpizara VPS, na misintona ny bot anao amin'ny fomba hafa. Mariho fa console ihany no hanananao, tsy misy GUI. Na izany aza.
Rehefa avy nisintona ny bot ianao dia mila mihazakazaka izany. Mba hanaovana izany dia mila:
Arahabaina! Mihazakazaka ny bot-nao. Na izany aza, ny bot, indrisy, dia mitana ny console, ary tsy mora ny miala amin'ny mpizara VPS. Ary koa, raha toa ka misy restart ny mpizara dia tsy maintsy manomboka ny bot amin'ny fomba vaovao ianao. Misy fomba roa hialana amin'ilay toe-javatra. Ireo rehetra ireo dia mifandraika amin'ny fanombohana amin'ny fanombohan'ny server: