2017-10-30 4 views
0

Ich verwende Discord.NET 1.0.2 und diese Frage ist spezifisch für Discord.NET.C# Discord.NET Commands Wie ein String Array als Argument

Ich verwende Discord.Commands für wie ich meine Befehle arbeiten, und ich initialisieren sie als so

var msg = message as SocketUserMessage; 
var context = new SocketCommandContext(_client, msg); 
int argPos = 0; 
if(msg.HasCharPrefix('>', ref argPos)) 
{ 
    var result = await _service.ExecuteAsync(context, argPos); 
} 

Dann in meiner eigenen Klasse für einen bestimmten Befehl Ich habe

public class Command : ModuleBase<SocketCommandContext> 
{ 
    [Command("test")] 
    public async Task balanceCommmand(String[] stringArray) 
    { 
     // code 
    } 
} 

Wenn jedoch den Lauf Programm, erhalte ich eine System.InvalidOperationException "Zusatzinformation: Für den Typ String [] wurde kein Typ Reader gefunden, es muss eine angegeben werden"

Ich habe zuvor Parameter unter der asynchronen Task verwendet, scheint aber kein Array mit Strings als Parameter zu haben.

Wie würde ich in der Lage sein, ein Array von Zeichenfolgen als ein Argument an einen Befehl mit Discord.Commands Version 1.0.2 übergeben.

Wenn es keine Möglichkeit gibt, dies zu tun, gibt es eine Möglichkeit, dies nachzuahmen, indem ich eine Alternative verwende?

Ich habe mich auf Google umgesehen und habe nicht jemanden mit einem ähnlichen Problem wie mir selbst oder sogar ähnlich gefunden.

+0

Sie können eine benutzerdefinierte Add '' 'TypeReader' AddTypeReader' Methode des CommandService' mit . –

Antwort

Verwandte Themen