J'essaye de créer une commande qui renvoie le nombre de membres de guilde qui jouent actuellement un jeu spécifié.Discord.NET Utilisateurs jouant le même jeu
Exemple (! Est mon préfixe):! Jouer League of Legends.
S'il y a 5 membres jouent League of Legends, sortie:
There are 5 users currently playing League of Legends.
Je mis en place ce qui suit, de débogage, j'ai pu ramasser que v.Game.toString()
retourne la chaîne correcte, mais pour une raison quelconque si l'instruction ne se déclenche pas. Il attrape également une exception qui est levée lorsque les membres ne jouent pas à un jeu (j'ai supposé que c'est nul?), Y a-t-il une solution de contournement pour cela? Pourquoi cela ne compte-t-il pas combien de membres jouent à un certain jeu?
[Command("playing")]
public async Task playingGame(params string[] s)
{
string gameName = "";
int count = 0;
for (int i = 0; i < s.Length; i++)
{
gameName += s[i] + " ";
}
await Context.Channel.SendMessageAsync("Looking for: " + gameName);
var u = Context.Guild.Users;
foreach (var v in u)
{
await Context.Channel.SendMessageAsync("v = " + v.ToString());
try
{
await Context.Channel.SendMessageAsync(v.Game.ToString());
if (v.Game.ToString().ToLower().Equals(gameName.ToLower()))
{
count++;
await Context.Channel.SendMessageAsync("Found match, count = " + count);
}
}
catch (Exception x)
{
await Context.Channel.SendMessageAsync("Exception throw caught");
}
}
if (count > 1) {
await Context.Channel.SendMessageAsync("There are " + count + " users currently playing " + gameName + ".");
}
else if (count == 1)
{
await Context.Channel.SendMessageAsync("There is " + count + " user currently playing " + gameName + ".");
}
else if (count == 0)
{
await Context.Channel.SendMessageAsync("No one is currently playing " + gameName + ".");
}
}
C'est l'exception:
System.ArgumentException: Argument cannot be blank
Parameter name: Content
at Discord.Preconditions.NotNullOrEmpty(String obj, String name, String msg)
at Discord.API.DiscordRestApiClient.<CreateMessageAsync>d__77.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
Pic où instruction if doit déclencher (nom d'utilisateur bloqué pour des raisons de confidentialité):
pouvez-vous l'exception? – aloisdg
@aloisdg Ajout du message d'exception et d'une image de l'endroit où l'instruction if aurait dû être déclenchée. –
Je sais que la chaîne est nulle, car ils ne jouent pas à un jeu donc il n'est pas initialisé. Ma principale préoccupation est que l'instruction if ne déclenche pas, –