Exemplo n.º 1
0
            protected override void ProcessTextMessage(Message message)
            {
                try
                {
                    SendTextMessage(message, "brb ...");

                    Log.Info($"{message.From.Username} + {message.From.FirstName} requested {message.Text}");
                    var         youtubeSource = new YoutubeDlSource(message.Text, Enums.AudioFormat.mp3, true);
                    IFileSource source        = new FileSource(youtubeSource,
                                                               Path.Combine(Path.GetTempPath(), "TicTacTube"));

                    if (!_chatMapping.TryAdd(source, message.Chat))
                    {
                        throw new Exception("File source could not be added.");
                    }

                    Execute(source);

                    Log.Info($"{message.From.Username} + {message.From.FirstName} downloading {source.FileName}");
                }
                catch (Exception e)
                {
                    SendTextMessage(message, e.Message);
                    Log.Error(e);
                }
            }
Exemplo n.º 2
0
            protected override void ProcessTextMessage(Message message)
            {
                Task.Run(() =>
                {
                    try
                    {
                        SendTextMessage(message, "brb ...");

                        Log.Info($"{message.From.Username} + {message.From.FirstName} requested {message.Text}");
                        var youtubeSource  = new YoutubeDlSource(message.Text, Enums.AudioFormat.mp3, true);
                        IFileSource source = new FileSource(youtubeSource,
                                                            Path.Combine(Path.GetTempPath(), "TicTacTube"));

                        Execute(source);

                        Log.Info($"{message.From.Username} + {message.From.FirstName} downloaded {source.FileName}");

                        var f = TagLib.File.Create(source.FileInfo.FullName, ReadStyle.Average);

                        SendTextMessage(message,
                                        $"{source.FileName}\nTitle:\t{f.Tag.Title}\nArtists:\t{string.Join(", ", f.Tag.Performers)}");


                        BotClient.SendAudioAsync(message.Chat.Id,
                                                 new FileToSend(source.FileInfo.FullName, File.OpenRead(source.FileInfo.FullName)), f.Tag.Lyrics,
                                                 (int)f.Properties.Duration.TotalSeconds, string.Join(' ', f.Tag.Performers), f.Tag.Title);
                    }
                    catch (Exception e)
                    {
                        SendTextMessage(message, e.Message);
                        Log.Error(e);
                    }
                });
            }