2017-02-08 5 views
0

명령을 작성한 후 DiscordBot이 입력을 처리하는 방법을 가르쳐야합니다.C# Discord Bot - 명령 매개 변수에서 Userinput 가져 오기

private void CreateCommand(string commandName, string parameterName, ParameterType parameterType , string commandValue) // Register this command by the name and the answer value 
     { 
      commands.CreateCommand(commandName).Parameter(parameterName, parameterType).Do(async (e) => 
      { 
       await e.Channel.SendMessage(commandValue); // Bots answer 
      }); 
     } 

내가 짧은에 다음 방법 내 코드이 방법을 사용하십시오 :

나는 명령이 방법으로 만들

private void Add(string commandName, string commandValue, string commandDescription) // Add a simple command to the List 
     { 
      singleCommandList.Add(new Tuple<string, string, string>(commandName, commandValue, commandDescription)); 
     } 

     private void Add(string commandName, string parameterName, ParameterType parameterType, string commandValue, string commandDescription) // Add commands with Parameters to the List 
     { 
      parameterCommandList.Add(new Tuple<string, string, ParameterType, string, string>(commandName, parameterName, parameterType, commandValue, commandDescription)); 
     } 

을 그리고 이것은 내 CommandList를 작성하는 방법입니다

private void FillCommandList() // Add all the commands to the List 
     { 
      Add("test", "success", "test"); // simple Command 
      Add("search", "onlineSearch", ParameterType.Multiple, Search("text to look for"), "Google it"); 
     } 

내 문제는 내가 모르는 방법의 매개 변수를 채우는 방법 Search(). 거기에 내가 뭘 넣어야 할까? e.User ..와 함께 뭔가?

답변

0

나는이 비공식 불화 C# 래퍼를 사용하여 내 자신의 Discord.Net 봇 만들었습니다 그들은 거대한를 만든 이후

An unofficial .NET API Wrapper for the Discord client
Their Discord Server

문서에 주어진 예제는 항상 최신 상태로 유지하지를 코드 작성을 통해 API를 다시 작성할 수 있지만 비동기 패턴을 사용하면 실제로 잘 수행됩니다.
아이디어를 계속 진행하는 방법에 대한 아이디어와 아이디어를 더 많이 제공해야합니다.

dev 버전을 사용하고 있는지 확인하십시오. (현재)

다른 모든 것은 Github에 설명되어 있습니다. 그래도 답이 필요하다면 불화에 합류하십시오. 그들은 매우 도움이됩니다.

0

"parameterName"이라는 매개 변수를 가져 오려면 e.GetArg("parameterName")을 사용하십시오. 이 경우 ParameterTypeOptional 또는 Required 인 경우 작동합니다. 당신의 ParameterTypeMultiple 경우

, 시도 :

string search = string.Join(" ", e.Args) 

전체 "onlineSearch"매개 변수를 얻을 수 있습니다.

+0

사실 전체 API가 변경되었습니다. – TheOnlyMrCat

관련 문제