TS3AudioBot: YouTube-DL seems to not work - Possible duplicate?

Fresh start, moved to channel, private messaged: !play https://www.youtube.com/watch?v=AjPau5QYtYs

Console output:

root@pentium:/media/ZFS-Pools/HGST-3TB-Mirror/Audio-Bots/TS3AudioBot/bin/Release# mono TS3AudioBot.exe
[20:47:56]   Info: [============ TS3AudioBot started =============]
[20:47:56]   Info: [=== Date/Time: Sunday, August 20, 2017 8:47:56 PM
[20:47:56]   Info: [=== Version: 0.5.1/master/f9631a01
[20:47:56]   Info: [==============================================]
[20:47:56]   Info: [============ Initializing Commands ===========]
[20:47:56]   Info: [============ Initializing Modules ============]
[20:47:56]   Info: [=========== Initializing Factories ===========]
[20:47:56]   Info: [=========== Registering callbacks ============]
[20:47:56]   Info: [================= Finalizing =================]
[20:47:57]   Info: [==================== Done ====================]
[20:48:09]  Debug: MB Got message from <Removed for GitHub issue post>: !play [URL]https://www.youtube.com/watch?v=<Removed for GitHub issue post>[/URL]
[20:48:09]  Debug: SM User Pawkow created session with the bot
[20:48:09]Warning: TH Web error: [403] Forbidden
[20:48:09]  Debug: YT Ruined!
[20:48:12]  Debug: YT Saved!
[20:48:12]  Debug: PM ar start: Youtube ID:<Removed for GitHub issue post>
[20:48:12]  Error: MB Unexpected command error: MSG: Specified cast is not valid.
TYPE:InvalidCastException
STACK:  at (wrapper castclass) System.Object:__castclass_with_cache (object,intptr,intptr)
  at LiteDB.PageService.GetPage[T] (System.UInt32 pageID) [0x00056] in <fd3cfe54fa504c7989678d84ffcd090b>:0
  at LiteDB.PageService.GetFreePage[T] (System.UInt32 startPageID, System.Int32 size) [0x00004] in <fd3cfe54fa504c7989678d84ffcd090b>:0
  at LiteDB.DataService.Insert (LiteDB.CollectionPage col, System.Byte[] data) [0x0000d] in <fd3cfe54fa504c7989678d84ffcd090b>:0
  at LiteDB.LiteEngine.InsertDocument (LiteDB.CollectionPage col, LiteDB.BsonDocument doc) [0x0007a] in <fd3cfe54fa504c7989678d84ffcd090b>:0
  at LiteDB.LiteEngine+<>c__DisplayClass61_0.<Insert>b__0 (LiteDB.CollectionPage col) [0x00017] in <fd3cfe54fa504c7989678d84ffcd090b>:0
  at LiteDB.LiteEngine.Transaction[T] (System.String collection, System.Boolean addIfNotExists, System.Func`2[T,TResult] action) [0x0000f] in <fd3cfe54fa504c7989678d84ffcd090b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <a3c4aef09b90421281b772cc05a43e75>:0
  at TS3AudioBot.CommandSystem.FunctionCommand.ExecuteFunction (System.Object[] parameters) [0x00020] in <b85d892caaef4136823531a944000a7d>:0
  at TS3AudioBot.CommandSystem.FunctionCommand.Execute (TS3AudioBot.CommandSystem.ExecutionInformation info, System.Collections.Generic.IEnumerable`1[T] arguments, System.Collections.Generic.IEnumerable`1[T] returnTypes) [0x00145] in <b85d892caaef4136823531a944000a7d>:0
  at TS3AudioBot.CommandSystem.BotCommand.Execute (TS3AudioBot.CommandSystem.ExecutionInformation info, System.Collections.Generic.IEnumerable`1[T] arguments, System.Collections.Generic.IEnumerable`1[T] returnTypes) [0x0002c] in <b85d892caaef4136823531a944000a7d>:0
  at TS3AudioBot.CommandSystem.CommandGroup.Execute (TS3AudioBot.CommandSystem.ExecutionInformation info, System.Collections.Generic.IEnumerable`1[T] arguments, System.Collections.Generic.IEnumerable`1[T] returnTypes) [0x000bd] in <b85d892caaef4136823531a944000a7d>:0
  at TS3AudioBot.CommandSystem.RootCommand.Execute (TS3AudioBot.CommandSystem.ExecutionInformation info, System.Collections.Generic.IEnumerable`1[T] arguments, System.Collections.Generic.IEnumerable`1[T] returnTypes) [0x00062] in <b85d892caaef4136823531a944000a7d>:0
  at TS3AudioBot.CommandSystem.AppliedCommand.Execute (TS3AudioBot.CommandSystem.ExecutionInformation info, System.Collections.Generic.IEnumerable`1[T] arguments, System.Collections.Generic.IEnumerable`1[T] returnTypes) [0x00013] in <b85d892caaef4136823531a944000a7d>:0
  at TS3AudioBot.CommandSystem.XCommandSystem.Execute (TS3AudioBot.CommandSystem.ExecutionInformation info, System.String command, System.Collections.Generic.IEnumerable`1[T] returnTypes) [0x00018] in <b85d892caaef4136823531a944000a7d>:0
  at TS3AudioBot.CommandSystem.XCommandSystem.Execute (TS3AudioBot.CommandSystem.ExecutionInformation info, System.String command) [0x00000] in <b85d892caaef4136823531a944000a7d>:0
  at TS3AudioBot.MainBot.TextCallback (System.Object sender, TS3Client.Messages.TextMessage textMessage) [0x001c8] in <b85d892caaef4136823531a944000a7d>:0

Error call Stack:
Void TextCallback(System.Object, TS3Client.Messages.TextMessage)@0
Void ExtendedTextMessage(System.Object, System.Collections.Generic.IEnumerable`1[TS3Client.Messages.TextMessage])@0
Void InvokeEvent(TS3Client.LazyNotification)@0
Void DispatchLoop()@0
Void ThreadStart_Context(System.Object)@0
Void RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)@0
Void Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)@0
Void Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)@0
Void ThreadStart()@0 T:TS3Query MessageLoop
[20:48:12]Warning: SongStoppedHook could not play Next: No next song could be played

configTS3AudioBot.cfg contents:

# The default volume a song should start with
AudioFramework::DefaultVolume=10
# The maximum volume a normal user can request
AudioFramework::MaxUserVolume=30
# How the bot should play music. Options are: whisper, voice, (!...)
AudioFramework::AudioMode=voice
# The address of the TeamSpeak3 server
QueryConnection::Host=<Removed for GitHub issue post>
# The port of the TeamSpeak3 server
QueryConnection::Port=9987
# | DO NOT MAKE THIS KEY PUBLIC | The client identity
QueryConnection::Identity=<Removed for GitHub issue post>
# The client identity security offset
QueryConnection::IdentityOffset=1178
# The client identity security level which should be reached.
QueryConnection::IdentityLevel=8
# The server password. Leave empty for none.
QueryConnection::ServerPassword=
# Set this to true, if the server password is hashed.
QueryConnection::ServerPasswordIsHashed=False
# Enable this to automatically hash and store unhashed passwords.
# (Be careful since this will overwrite the 'ServerPassword' field with the hashed value once computed)
QueryConnection::ServerPasswordAutoHash=False
# The path to ffmpeg
QueryConnection::FfmpegPath=/usr/local/bin/ffmpeg
# Specifies the bitrate (in kbps) for sending audio.
# Values between 8 and 98 are supported, more or less can work but without guarantees.
# Reference values: 32 - ok (~5KiB/s), 48 - good (~7KiB/s), 64 - very good (~9KiB/s), 92 - superb (~13KiB/s)
QueryConnection::AudioBitrate=92
# Version for the client in the form of <version build>|<plattform>|<version sign>
# Leave empty for default.
QueryConnection::ClientVersion=
# Default Nickname when connecting
QueryConnection::DefaultNickname=<Removed for GitHub issue post>
# Allows to enable or disable history features completely to save resources.
HistoryManager::EnableHistory=True
# The Path to the history database file
HistoryManager::HistoryFile=history.db
# Whether or not deleted history ids should be filled up with new songs
HistoryManager::FillDeletedIds=True
# The path to the pugins
PluginManager::PluginPath=Plugins
# Path the playlist folder
PlaylistManager::PlaylistPath=Playlists
# A youtube apiv3 'Browser' type key
YoutubeFactory::ApiKey=<Removed for GitHub issue post>
# Path to the youtube-dl binary or local git repository
YoutubeFactory::YoutubedlPath=/usr/local/bin/youtube-dl
# A space seperated list of all urls the web api should be possible to be accessed with
WebData::HostAddress=
# The port for the api server
WebData::Port=8180
# If you want to start the web api server.
WebData::EnableApi=False
# If you want to start the webinterface server
WebData::EnableWebinterface=False
# Path to the config file
RightsManager::RightsFile=rights.toml
# Path to the logfile
MainBot::LogFile=log_ts3audiobot
# Teamspeak group id giving the Bot enough power to do his job
MainBot::BotGroupId=18
# Generate fancy status images as avatar
MainBot::GenerateStatusAvatar=True

I expect this to work normally and use my YouTube-DL binary path I specified. There is a cron job setup to check for YouTube-DL updates every 15 minutes; YouTube-DL IS up to date. I compiled FFMPEG from source with all of the modules, it works, I use it very often.

Perhaps I’m missing something in TS3AudioBot?

Kind regards

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 16 (7 by maintainers)

Most upvoted comments

I have sent an email containing the details for the server.