private async void OnFriendMsg(SteamFriends.FriendMsgCallback callback)
{
if (callback == null)
{
return;
}
if (callback.EntryType != EChatEntryType.ChatMsg)
{
return;
}
ulong steamID = callback.Sender;
if (steamID != SteamMasterID)
{
return;
}
string message = callback.Message;
if (string.IsNullOrEmpty(message))
{
return;
}
if (message.Length == 17 && message[5] == '-' && message[11] == '-')
{
ArchiHandler.RedeemKey(message);
return;
}
if (!message.StartsWith("!"))
{
return;
}
if (!message.Contains(" "))
{
switch (message)
{
case "!exit":
await ShutdownAllBots().ConfigureAwait(false);
break;
case "!farm":
await CardsFarmer.StartFarming().ConfigureAwait(false);
SendMessageToUser(steamID, "Done!");
break;
case "!restart":
await Program.Restart().ConfigureAwait(false);
break;
case "!status":
ResponseStatus(steamID);
break;
case "!stop":
await Shutdown().ConfigureAwait(false);
break;
}
}
else
{
string[] args = message.Split(' ');
switch (args[0])
{
case "!start":
ResponseStart(steamID, args[1]);
break;
case "!stop":
await ResponseStop(steamID, args[1]).ConfigureAwait(false);
break;
}
}
}