mIRC-скрипт, запускающий программу на C#, но получающий ошибку FileNotFound
Я пытаюсь настроить бота mIRC для своего канала, и мой текущий проект воспроизводит аудиофайл на моем компьютере, когда происходит определенное событие.
Я написал короткое консольное приложение на C#, которое получает имя файла из аргументов и воспроизводит этот файл.
Это работает, запуская его из cmd или используя ярлык, но когда я ввожу команду на своем канале, программа запускается, но выдает исключение FileNotFound.
Я написал код, используя try{} catch{}, чтобы точно увидеть, что происходит. Если файл не воспроизводится, он сначала перечислит предоставленный аргумент, расширение (я собираюсь изменить это позже) и, наконец, объединенную строку. Что это приходит с этим это:
args[0]: audiofile
extension: .wav
filename: audiofile.wav
Какое именно имя файла, и это отлично воспроизводится из командной строки.
Кто-нибудь знает, что здесь происходит?
static void Main(string[] args)
{
string extension = ".wav";
string filename = "null";
if (args == null || args.Length == 0)
{
Console.WriteLine("No arguments provided!");
Console.ReadLine();
return;
}
filename = args[0] + extension;
Console.Write("Press enter to play grenade... ");
Console.ReadLine();
try
{
Console.WriteLine("Playing file " + filename);
(new SoundPlayer(filename)).Play();
}
catch
{
Console.WriteLine("Error!");
Console.WriteLine("args[0]: " + args[0]);
Console.WriteLine("extension: " + extension);
Console.WriteLine("filename: " + filename);
}
Console.ReadLine();
}
скрипт mIRC:
on $*:text:!grenade:#: {
/run "c:/users/electrospeed/documents/visual studio 2013/projects/audioplayer/audioplayer/bin/debug/audioplayer.exe" audiofile
}
2 ответа
В коде mIRC вы написали audiofile
в конце, поправьте меня, если я ошибаюсь, но я думаю, вы имели в виду %audiofile
как в переменной.