ProHoster > Blog > Pulega > Fausiaina o le Discord bot i luga o le .NET Core ma le faʻapipiʻiina i le VPS server
Fausiaina o le Discord bot i luga o le .NET Core ma le faʻapipiʻiina i le VPS server
Talofa Khabrovites!
I aso nei o le a e vaʻai i se tusiga o le a faʻaali atu ia te oe le auala e fai ai se bot e faʻaaoga ai le C # i luga ole .NET Core ma le auala e faʻatautaia ai i luga ole server mamao.
O le tusiga o le a aofia ai se talaaga, se laasaga sauniuni, tusitusi manatu ma fesiitai le bot i se server mamao.
Ou te faʻamoemoe o le a fesoasoani lenei tusiga i le tele o tagata amata.
prehistory
Na amata uma i se tasi po o le tautoulu e leai se moe na ou faʻaaluina i luga o le server Discord. Talu ai sa ou auai talu ai nei ia te ia, sa amata ona ou suesue ia te ia i luga ma lalo. I le mauaina o le laina tusitusiga "Vacancies", na ou fiafia, tatalaina, ma maua i totonu o ofo e le fiafia ia te aʻu, o mea nei:
"Fa'apolokalame (botant developer) Manaoga:
malamalama i gagana polokalame;
tomai mo le aoaoina e le tagata lava ia.
Moomooga:
mafai ona malamalama i tulafono a isi tagata;
malamalama i galuega a le DISCORD.
Galuega:
atinae bot;
lagolago ma le tausiga o le bot.
O lou manuia:
Avanoa e lagolago ma fa'aosofia le poloketi e te fiafia i ai;
Mauaina o le poto masani i le galue i se 'au;
Avanoa e fa'aalia ma fa'aleleia tomai o iai.
O lenei mea na vave ona ou fiafia i ai. Ioe, latou te leʻi totogiina lenei galuega, ae latou te leʻi manaʻomia soʻo se noataga mai ia te oe, ma o le a le sili atu i le faila. O le mea lea, na ou tusi atu ai i le server admin, ma na ia fai mai ia te aʻu e tusi se bot e faʻaalia ai fuainumera a le tagata taalo i le World of Tanks.
Tapenaga sauniuni
Discrod
Ae tatou te leʻi amata tusia la tatou bot, e tatau ona tatou fatuina mo Discord. E te mana'omia:
Matou te alu i le "My Applications" ma kiliki i le "Add a new application" button, tuʻuina atu le igoa o le talosaga ma filifili lona ituaiga
Faasaoina le ID Talosaga
polokalama
Ua uma ona iai le saolotoga e filifili ai. E faʻaaogaina e se tasi le Visual Studio, o se tasi Rider, o se tasi e masani ona malosi, ma tusia le code i Vim (pe a uma, o tagata fai polokalame moni e faʻaaogaina naʻo le piano, saʻo?). Ae ui i lea, ina ia le faʻaaogaina le Discord API, e mafai ona e faʻaogaina le faletusi C # le aloaia "DSharpPlus". E mafai ona e faʻapipiʻi mai NuGet, poʻo le fausiaina o punaoa oe lava mai le fale teu oloa.
Mo i latou e le iloa pe ua galo pe faʻafefea ona faʻapipiʻi tusi talosaga mai NuGet.Faatonuga mo Visual Studio
Alu i le tab Project - Pulea NuGet Packages;
Kiliki i luga o le iloiloga ma i totonu o le fanua suʻesuʻe ulufale i le "DSharpPlus";
Filifili ma faapipii auivi;
TUPE MAUA!
Ua maeʻa le laasaga sauniuni, e mafai ona e faʻaauau le tusiaina o le bot.
Fa'atonuga tusitusi
Matou te le mafaufau i le faʻaogaina atoa o le talosaga, o le a naʻo le faʻaalia o le auala e galue ai ma le faʻalavelaveina o feʻau e le bot, ma le auala e galue ai ma le Wargaming API.
O le galue ma le Discord bot e tupu i le static async Task MainTask(string[] args);
Ina ia valaau lenei galuega, i le Main e tatau ona e lesitala
O fea le fa'ailoga o le fa'ailoga a lau bot.
Ona, e ala i le lambda, matou te tusia tulafono talafeagai e tatau ona faia e le bot:
discord.MessageCreated += async e =>
{
string message = e.Message.Content;
if (message.StartsWith("&"))
{
await e.Message.RespondAsync(“Hello, ” + e.Author.Username);
}
};
O fea e maua ai e.Author.Username le igoa tauvalaau o le tagata fa'aoga.
I lenei auala, pe a e lafoina soʻo se feʻau e amata i le &, o le a faʻafeiloaʻi oe e le bot.
I le faaiuga o lenei galuega, e tatau ona e tusi faatali discord.ConnectAsync(); ma fa'atali Galuega.Tuai(-1);
O lenei mea o le a faʻatagaina oe e faʻatino poloaiga i tua e aunoa ma le faʻaogaina o le filo autu.
Ole taimi nei e tatau ona tatou feagai ma le Wargaming API. E faigofie mea uma iinei - tusi talosaga CURL, maua se tali i le tulaga o se manoa JSON, toso ese mai faʻamatalaga talafeagai mai iina ma fai togafiti i luga.
O se faʻataʻitaʻiga o le galue ma WargamingAPI
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;
}
Fa'alogo! E matua le fautuaina e teu uma faʻailoga ma ID faʻaoga i tusitusiga manino! I se tulaga maualalo, Discord faʻasaina ia faʻailoga pe a latou ulufale atu i le lalolagi atoa, ma i le maualuga, o le bote amata ona faʻaaogaina e tagata osofaʻi.
Fa'asoa ile VPS - server
O le taimi lava e te faia ai le bot, e manaʻomia le talimalo i luga o se 'auʻaunaga o loʻo faʻaauau pea 24/7. E mafua ona o le mea moni pe a faʻagasolo lau talosaga, o loʻo tamoe foi le bot. O le taimi lava e te tapeina ai le talosaga, e moe foi lau bot.
E tele sapalai VPS o loʻo i ai i lenei lalolagi, i luga o Windows ma luga o Linux, peitaʻi, i le tele o tulaga, e sili atu le taugofie le talimalo i Linux.
I luga o le Discord server, na fautuaina aʻu vscale.io, ma na vave ona ou fatuina se server virtual i luga o le Ubuntu ma faʻapipiʻi le bot. O le a ou le faʻamatalaina pe faʻafefea ona galue lenei 'upega tafaʻilagi, ae o le a alu saʻo i le faʻatulagaina o bot.
O le isi, e manaʻomia le tuʻuina atu o le bot i le Git service, pei o GitHub ma isi mea, ma faʻapipiʻi i se VPS server, pe download lau bot i isi auala. Faamolemole ia matau o le a na'o lau fa'amafanafanaga, leai se GUI. O na uma lava.
A maeʻa ona e siiina lau bot, e tatau ona e taʻavale. Mo lenei mea, e te manaʻomia:
Toe fa'afo'i uma fa'alagolago: dotnet restore
Fausia le talosaga: dotnet fausia name_project.sln -c Fa'asa'oloto
Alu ile fausiaina DLL;
dotnet name_of_file.dll
Fa'afetai! O lo'o tamo'e lau bot. Ae ui i lea, o le bot, o le mea e leaga ai, o loʻo nofoia le faʻamafanafanaga, ma e le faigofie ona alu ese mai le VPS server. E le gata i lea, i le tulaga o se server restart, e tatau ona e amataina le bot i se auala fou. E lua auala e alu ese ai mai le tulaga. O ia mea uma e fesoʻotaʻi ma le faʻalauiloaina i le amataga o le server:
Fa'aopoopo le fa'asologa fa'asologa i /etc/init.d
Fausia se 'auʻaunaga o le a tamoʻe ile amataga.
Ou te le o vaʻavaʻai i le mea e mafaufau ai i latou i auiliiliga, o mea uma o loʻo faʻamatalaina i auiliiliga i luga ole Initaneti.
sailiiliga
Ua ou fiafia ua ou tauaveina lenei tofiga. O la'u uluai poto i le atina'eina o bot, ma ua ou fiafia ua ou maua se malamalama fou ile C #, ma galue ma Linux.