チャンネル用に 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
}