рдпрд╣ рд▓реЗрдЦ рдЖрд▓рд╕реА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА "рднрд░рд╛рдИ" рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВредрд╕рдореВрд╣ рдкреНрд░рд╢рд┐рдХреНрд╖рдг
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдХ рд╕рдореБрджрд╛рдп рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдмреЙрдЯ рд╕реЗ рдмрдВрдзрд╛ рд╣реЛрдЧрд╛редрдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рд╕рдореБрджрд╛рдп" рдЕрдиреБрднрд╛рдЧ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ "рд╕рдореБрджрд╛рдп рдмрдирд╛рдПрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдЕрдм рд╣рдо рдЗрд╕реЗ рдХреЙрд▓рдмреИрдХ-рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрдЧреЗ // рдХреЙрд▓рдмреИрдХ-рдПрдкреАрдЖрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ"рдкреНрд░рдмрдВрдзрди" рдкрд░ рдЬрд╛рдПрдВ >> >>
>> "рд╕реЗрдЯрд┐рдВрдЧреНрд╕" >> "рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛"
рд╣рдо рд╕рднреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдореЗрдВ рдЖрдПрдЧрд╛ред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдХреЙрд▓рдмреИрдХ-рдПрдкреАрдЖрдИ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, рдПрдкреАрдЖрдИ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреБрд╖реНрдЯрд┐ рдХреЛрдб рд▓рд┐рдЦреЗрдВред рдЗрд╕рдореЗрдВ
рд╕рдВрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИред рдЕрдиреБрднрд╛рдЧ "рд╕рдВрджреЗрд╢" >> "рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕" рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ
рд╕рд░реНрд╡рд░ рдХреА рддреИрдпрд╛рд░реА
рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреЙрдЯ рдХреЛ рдПрдХ рдЬрдЧрд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреЛрдИ рднреА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реЗ .NET рдХреЛрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредрдореИрдВрдиреЗ рдЙрдмрдВрдЯреВ 18.04 рдкрд░ рд╡реАрдкреАрдПрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛редрдмреЙрдЯ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдл рд╕рд░реНрд╡рд░ рдкрд░, рдЖрдкрдХреЛ .NET рдХреЛрд░ рдХреЛ рдХрдо рд╕реЗ рдХрдо рд╕рдВрд╕реНрдХрд░рдг 2.2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИредрд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ:Microsoft рдХреБрдВрдЬреА рдФрд░ рд╡реЗрдм рдлрд╝реАрдб рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб:> wget -q https://packages.microsoft.com/config/ubuntu/19.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдирд╛:> sudo apt-get update
> sudo apt-get install apt-transport-https
> sudo apt-get update
рдЕрдм рдиреЗрдЯ рдХреЛрд░ рдЦреБрдж рдХреЛ рд╕реНрдерд╛рдкрд┐рддредрдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо рд╕рдВрд╕реНрдХрд░рдг, рдЖрджреЗрд╢ рджрд░реНрдЬ рдХрд░реЗрдВ:> sudo apt-get install aspnetcore-runtime-3.1
рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг:> sudo apt-get install dotnet-sdk-3.1
рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рддрддреНрдкрд░рддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ:> dotnet --info
рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк
рд╣рдо рд╕реАрдзреЗ рдмреЙрдЯ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВредрдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЕрдирд▓реЛрдб рдХрд░реЗрдВред Appsettings.jsonрдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ ред AccessToken рдорд╛рди рдФрд░ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдорд╛рди
рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╕рд╣реЗрдЬреА рдЧрдИ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХреБрдВрдЬреА рдбрд╛рд▓реЗрдВ ред рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдХрдВрд╕реЛрд▓ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред Folder the рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде, рдЕрд╕реЗрдВрдмрд▓реА рдлреЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:
cd " "
> dotnet vkBotCore.dll
рдпрд╣ рдмреЙрдЯ рдХреЛ рд╕рдореВрд╣ рдореЗрдВ рдмрд╛рдБрдзрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрд▓рдмреИрдХ-рдПрдкреАрдЖрдИ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдкрддрд╛ рдлрд╝реАрд▓реНрдб рдореЗрдВ, рдЙрд╕ рдбреЛрдореЗрди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрде / рдПрдкреАрдЖрдИ / рдХреЙрд▓рдмреИрдХ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреБрд╖реНрдЯрд┐ рдХреЗ рдмрд╛рдж рдПрдХ рд╣рд░реЗ рд░рдВрдЧ рдХрд╛ рдЪреЗрдХрдорд╛рд░реНрдХ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛редрдкреНрд▓рдЧрдЗрди рдирд┐рд░реНрдорд╛рдг
рдЪреИрдЯрдмреЙрдЯ рдХреЗ рд░реВрдк рдореЗрдВ VkBotCore рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ 2 рдХрдорд╛рдВрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: / рдорджрдж рдФрд░ / рд╕рднреАредрдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИредрдкреНрд▓рдЧрдЗрдиреНрд╕ рдПрдХ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИрдВ, рдЬрд┐рд╕реЗ рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИредрдЪрд▓реЛ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред vkBotCore.dll
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЕрд╕реЗрдВрдмрд▓реА рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред vkBotCore.Plugins
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдкреНрд▓рдЧрд┐рди рд╕реЗ рдореБрдЦреНрдп рд╡рд░реНрдЧ рд╡рд╛рд░рд┐рд╕ рдХрд░реЗрдВusing vkBotCore.Plugins;
namespace myPlugin
{
public class MyFirstPlugin : Plugin
{
}
}
рдирдорд╕реНрддреЗ рдХрдорд╛рдВрдб рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рд╣рд╛рдп {рдирд╛рдо} рдХрд╛ рдЬрд╡рд╛рдм рджреЗusing vkBotCore.Plugins;
using vkBotCore.Plugins.Attributes;
namespace myPlugin
{
public class MyFirstPlugin : Plugin
{
[Command]
public void Hello(CommandContext context)
{
context.Chat.SendMessage($" {context.Sender.GetMentionLine()}");
}
}
}
рдЕрдм рдЕрд╕реЗрдВрдмрд▓реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдирдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ рдЬрд┐рд╕реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИредрдЗрд╕рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓ рдХрд┐рдП рдЧрдП рдкреНрд▓рдЧрдЗрди
p.s. рдХреЛ рд╕реЗрд╡ рдХрд░реЗрдВ ред рдЖрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Calback-API >> рдЗрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ, рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪрдирд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЪрд▓рд╛рдПрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ:
рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдордЧреНрд░реА
рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкреНрд▓рдЧрдЗрди рдХреЗ
рдЕрднрд┐рд▓реЗрдЦ VkBotCore рд╕реНрд░реЛрдд рдХреЛрдб
ASP.NET рдХреЛрд░, VkNet # # рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЪреИрдЯ рдмреЙрдЯ рдХреЗ рд╕рд╛рде рдЕрдиреБрдЪреНрдЫреЗрдж