Мне нужна помощь с Discord. Net. У меня записана следующая команда:
[Command("project", RunMode=RunMode.Async)]
public async Task Project(string action, string id="")
{
switch(action)
{
case "post":
{
StringCreator tagger = new StringCreator();
string index = tagger.Get(5);
var project=await Context.Guild.CreateTextChannelAsync("project-id-" + index);
var message = await project.SendMessageAsync("What language is this project in?");
var rMessage = message.Id;
await message.AddReactionAsync(new Emoji("??"));
await message.AddReactionAsync(new Emoji("??"));
await message.AddReactionAsync(new Emoji("??"));
break;
}
}
Теперь я попытался создать событие, подобное этому:
public async Task OnReactionAddedEvent(SocketReaction reaction)
{
if (reaction.Emote.Name == "??")
{
vars.projectLang = "English";
}
if (reaction.Emote.Name == "??")
{
vars.projectLang = "Hebrew";
}
if (reaction.Emote.Name == "??")
{
vars.projectLang = "Romanian";
}
}
Если я попытаюсь использовать его таким образом, прямо перед перерывом в моем командная функция:
_discord.ReactionAdded += OnReactionAddedEvent;
Я попытался отредактировать свой метод событий, чтобы взять мараметр как кешируемый, но безуспешно:
public async Task OnReactionAddedEvent(Cacheable<SocketReaction> reaction)
{
if (reaction.Emote.Name == "??")
{
vars.projectLang = "English";
}
if (reaction.Emote.Name == "??")
{
vars.projectLang = "Hebrew";
}
if (reaction.Emote.Name == "??")
{
vars.projectLang = "Romanian";
}
}
Что бы я ни делал, объявляя его в методе команды, все утверждение отображается как ошибка. Я в растерянности, пожалуйста, помогите. Заранее спасибо!