private void PublishIncompatibleMic() { SnackbarManager.SnackbarMessage("Incompatible Mic Settings", SnackbarManager.SnackbarAction.Log); Util.IO.LogManager.LogException(null, "BotModule/BotHandler", "Incompatible Mic Settings. To prevent distorted audio, set your device to " + BotWave.sampleRate + " Hz and " + BotWave.channelCount + " channels.", false); }
/// <summary> /// list of all clients /// </summary> /// <param name="acceptOffline">also show clients which are currently offline</param> /// <returns>list of all serves each with a list of all channels</returns> public new async Task <List <List <SocketGuildUser> > > getAllClients(bool acceptOffline = false) { if (!await connectToServerAsync()) { return(null); } List <List <SocketGuildUser> > userList = null; try { userList = base.getAllClients(acceptOffline); } catch (Exception ex) { Util.IO.LogManager.LogException(ex, "BotModule/BotHandler", "Exception when trying to GET client-list from Discord Servers"); SnackbarManager.SnackbarMessage("Cannot get clients. Retry later", SnackbarManager.SnackbarAction.Log); return(null); } return(userList); }
/// <summary> /// get a list of all channels of all servers /// </summary> /// <returns>list of all serves each with a list of all channels </returns> public new async Task <List <List <SocketVoiceChannel> > > getAllChannels() { if (!await connectToServerAsync()) { return(null); } List <List <SocketVoiceChannel> > channelList = null; try { channelList = base.getAllChannels(); } catch { SnackbarManager.SnackbarMessage("Cannot request channel list"); return(null); } return(channelList); }
private static async Task <Video> prepareYTCacheAsync(string url) { //download video YouTube yt = YouTube.Default; Video mpAudio; VideoClient videoClient = new VideoClient(); try { //get video file var videos = await YouTube.Default.GetAllVideosAsync(url); //get audios, only aac var audios = videos .Where(v => v.AudioFormat != AudioFormat.Unknown && v.AudioFormat != AudioFormat.Vorbis).ToList(); //save audio into Video, only with audio mpAudio = audios.FirstOrDefault(x => x.AudioBitrate > 0); } catch (VideoLibrary.Exceptions.UnavailableStreamException ex) { SnackbarManager.SnackbarMessage("Livestreams are not supported", SnackbarManager.SnackbarAction.None); return(null); } catch (Exception ex) { SnackbarManager.SnackbarMessage("Could not load video, unknown reason", SnackbarManager.SnackbarAction.Log); Util.IO.LogManager.LogException(ex, "StreamModule/YTManager", "Error in requesting Video/Audio information, please report on GitHub"); return(null); } return(mpAudio); }
private void handleReplayException(Exception ex, string msg, int btnId = -1) { const string location = "BotModule/BotHandler"; string btnStr; //resolve button number/name if (btnId >= 0) { //show button Number NOT Id btnStr = "File of Button number " + (btnId + 1); } else { btnStr = "The file "; } if (ex == null) { return; } switch (ex) { case System.IO.DirectoryNotFoundException iEx: SnackbarManager.SnackbarMessage(btnStr + " could not be found."); break; case System.IO.FileNotFoundException iEx: SnackbarManager.SnackbarMessage(btnStr + " could not be found."); break; case System.IO.InvalidDataException iEx: SnackbarManager.SnackbarMessage(btnStr + " is damaged."); break; case System.Runtime.InteropServices.COMException iEx: SnackbarManager.SnackbarMessage(btnStr + " is not supported."); break; case System.TimeoutException iEx: SnackbarManager.SnackbarMessage("Cannot get channel(s). Check permission"); Util.IO.LogManager.LogException(iEx, location, "No permission to join/download channel"); break; case TaskCanceledException iEx: SnackbarManager.SnackbarMessage("Task cancelled"); break; case System.DllNotFoundException iEx: SnackbarManager.SnackbarMessage("Missing dll"); Util.IO.LogManager.LogException(iEx, location, "Missing dll", true); break; case Discord.Net.HttpException iEx: SnackbarManager.SnackbarMessage("Invalid Token", SnackbarManager.SnackbarAction.Settings); Util.IO.LogManager.LogException(iEx, location, "Invalid Token"); break; case System.Net.Http.HttpRequestException iEx: SnackbarManager.SnackbarMessage("Can't reach the Discord-Servers"); Util.IO.LogManager.LogException(iEx, location, "Cannot reach Discord servers"); break; case System.ArgumentException iEx: string iExMsg = msg; if (iEx.Message == "Unsupported Wave Format") { iExMsg = "Mic not supported"; } SnackbarManager.SnackbarMessage(iExMsg, SnackbarManager.SnackbarAction.None); Util.IO.LogManager.LogException(iEx, location, iExMsg); break; case Exception iEx: SnackbarManager.SnackbarMessage(msg, SnackbarManager.SnackbarAction.Log); Util.IO.LogManager.LogException(iEx, location, msg, true); break; } }