
Recherche avancée
Autres articles (60)
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...)
Sur d’autres sites (5569)
-
Happy Ada Lovelace Day to Women in Multimedia R&D
24 mars 2010, par silviaIn my field of interest, namely Multimedia, there are not many women active in research and technology development. The more reasons to expose them and point to their great achievements. In my time as a young researcher at the University of Mannheim, I met Prof Wendy Hall of the University of (...)
-
Python Discord Music Bot : Playing next song while current song is playing
8 février, par DeltracI've been working on a Discord bot and got it working 90% of the time. On some occasions, the bot will be playing a song and it will stop playing and just move to the next song. My assumption is that it's because of how I am handling my
play
command and theplay_next
command as well.

I've tried to re-arrange the code, change functionality, etc. without success.


Here are the two commands :


@client.command(name="p")
async def play(ctx, *, search_query: str):
 global bot_disconnect
 try:
 # Only start a song if the user trying to play a song is in a voice channel
 if ctx.author.voice:
 voice_channel = ctx.author.voice.channel
 voice_client = await voice_channel.connect() # Find who played the song and have the bot enter that channel
 voice_clients[voice_client.guild.id] = voice_client
 else:
 await ctx.channel.send("Get in a voice channel")
 return
 except Exception as e:
 print(e)
 try:
 if is_youtube_url(search_query):
 loop = asyncio.get_event_loop() # Let's the bot multi-task (Similar behavior to interrupts in C/C++)
 data = await loop.run_in_executor(None, lambda: ytdl.extract_info(search_query, download = False))
 video_url = data["webpage_url"] # Save the youtube video URL to variable
 song_url = data["url"] # Save the extracted URL to a variable
 title = data["title"]
 else:
 url = f"ytsearch:{search_query}"
 loop = asyncio.get_event_loop() # Let's the bot multi-task (Similar behavior to interrupts in C/C++)
 data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download = False)) 
 entry = data['entries'][0]
 video_url = entry["webpage_url"] # Save the youtube video URL to variable
 song_url = entry["url"] # Save the extracted URL to a variable
 title = entry["title"]

 if ctx.guild.id in voice_clients and voice_clients[ctx.guild.id].is_playing():
 await queue(ctx, search_query = video_url, title = title)
 else:
 player = discord.FFmpegOpusAudio(song_url, **ffmpeg_options) # THIS IS WHAT PLAYS THE ACTUAL SONG!!!!!!
 await ctx.channel.send(f"Now Playing: {video_url} \n[DOWNLOAD LINK HERE]({song_url})") # Send the video URL to discord channel and include a download link as well
 bot_disconnect = False
 voice_clients[ctx.guild.id].play(player, after=lambda e: asyncio.run_coroutine_threadsafe(play_next(ctx), client.loop))
 except Exception as e:
 print(e)



async def play_next(ctx):
 if len(queues) != 0 and queues.get(ctx.guild.id): 
 search_query = queues[ctx.guild.id].pop(0)[0] # Pull the URL from the next index
 loop = asyncio.get_event_loop() # Let's the bot multi-task (Similar behavior to interrupts in C/C++)
 print(f"{search_query}")
 data = await loop.run_in_executor(None, lambda: ytdl.extract_info(search_query, download = False))
 player = discord.FFmpegOpusAudio(data["url"], **ffmpeg_options)
 voice_client = voice_clients[ctx.guild.id]
 voice_client.play(player, after=lambda e: asyncio.run_coroutine_threadsafe(play_next(ctx), client.loop))
 await ctx.channel.send(f"Now Playing: {data['webpage_url']} \n[DOWNLOAD LINK HERE]({data['url']})") # Send the video URL to discord channel and include a download link as well
 else:
 await ctx.send("No songs in queue")



I can also link the full code, if required.


-
Discord.js Music bot TypeError [ERR_INVALID_ARG_TYPE] : The "file" argument must be of type string. Received type object
21 février 2020, par Cole PerryI’m new to Discord.js and I’m trying to have the bot join a voice channel and play an audio file on my computer. I have been following this guide : https://discord.js.org/#/docs/main/stable/topics/voice . Here is the Index.js page :
const Discord = require('discord.js');
const Colesbot = new Discord.Client();
const token = '***********************************************';
Colesbot.on('ready', () =>{
console.log('Slamsbot is online.');
})
Colesbot.on('message', msg=>{
if(msg.content == "What up bot?"){
msg.reply("Whats good pimp?")
}
});
Colesbot.on('message', message=>{
if (message.content === '/join') {
// Only try to join the sender's voice channel if they are in one themselves
if (message.member.voiceChannel) {
message.member.voiceChannel.join().then(connection => {
message.reply('I have successfully connected to the channel!');
// To play a file, we need to give an absolute path to it
const dispatcher = connection.playFile('C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\Assets\Glory.mp3');
dispatcher.on('end', () => {
// The song has finished
console.log('Finished playing!');
});
dispatcher.on('error', e => {
// Catch any errors that may arise
console.log(e);
});
dispatcher.setVolume(0.5); // Set the volume to 50%
}).catch(console.log);
} else {
message.reply('You need to join a voice channel first!');
}
}
});
//Event listener for new guild members
Colesbot.on('guildMemberAdd', member =>{
// Send the message to a designated channel on a server:
const channel = member.guild.channels.find(ch => ch.name === 'general');
// Do nothing if the channel wasn't found on this server
if (!channel) return;
// Send the message, mentioning the member
channel.send(`Welcome to the server, ${member}. Please use the bot-commands channel to assign yourself a role.`);
})
Colesbot.login(token);
exports.run = (client, message, args) => {
let user = message.mentions.users.first || message.author;
}FFMPEG is installed and I have set the environment path for it. When I type FFMPEG in the command line I get the proper response.
Some have said I need to install the ffmpeg binaries but when I run npm install ffmpeg-binaries I get this error message :
npm WARN deprecated ffmpeg-binaries@4.0.0: ffmpeg-binaries is no longer being maintained. use ffmpeg-static, or just install ffmpeg
> lzma-native@3.0.8 install C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
> node-pre-gyp install --fallback-to-build && node node_modules/rimraf/bin.js build
node-pre-gyp ERR! Tried to download(404): https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.8-node-v72-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for lzma-native@3.0.8 and node@12.14.1 (node-v72 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp ERR! Tried to download(undefined): https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.8-node-v72-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for lzma-native@3.0.8 and node@12.14.1 (node-v72 ABI, unknown) (falling back to source compile with node-gyp)
gyp ERR! find Python
gyp ERR! find Python Python is not set from command line or npm configuration
gyp ERR! find Python Python is not set from environment variable PYTHON
gyp ERR! find Python checking if "python" can be used
gyp ERR! find Python - "python" is not in PATH or produced an error
gyp ERR! find Python checking if "python2" can be used
gyp ERR! find Python - "python2" is not in PATH or produced an error
gyp ERR! find Python checking if "python3" can be used
gyp ERR! find Python - "python3" is not in PATH or produced an error
gyp ERR! find Python checking if the py launcher can be used to find Python 2
gyp ERR! find Python - "py.exe" is not in PATH or produced an error
gyp ERR! find Python checking if Python is C:\Python27\python.exe
gyp ERR! find Python - "C:\Python27\python.exe" could not be run
gyp ERR! find Python checking if Python is C:\Python37\python.exe
gyp ERR! find Python - "C:\Python37\python.exe" could not be run
gypgyp ERR! find PythonERR!
find Pythongyp
gyp ERR!ERR! find Pythonfind Python Python is not set from command line or npm configuration
**********************************************************
gypgyp ERR!ERR! find Pythonfind Python Python is not set from environment variable PYTHON
You need to install the latest version of Python.
gypgyp ERR!ERR! find Pythonfind Python checking if "python" can be used
Node-gyp should be able to find and use Python. If not,
gypgyp ERR!ERR! find Pythonfind Python - "python" is not in PATH or produced an error
you can try one of the following options:
gypgyp ERR!ERR! find Pythonfind Python checking if "python2" can be used
- Use the switch --python="C:\Path\To\python.exe"
gypgyp ERR! ERR!find Python - "python2" is not in PATH or produced an error
find Pythongyp (accepted by both node-gyp and npm)
gypERR! ERR!find Python checking if "python3" can be used
find Pythongyp - Set the environment variable PYTHON
gypERR! ERR!find Python - "python3" is not in PATH or produced an error
find Pythongyp - Set the npm configuration variable python:
gypERR! ERR!find Python checking if the py launcher can be used to find Python 2
find Pythongyp npm config set python "C:\Path\To\python.exe"
gypERR! ERR!find Python - "py.exe" is not in PATH or produced an error
find Pythongyp For more information consult the documentation at:
gypERR! ERR!find Python checking if Python is C:\Python27\python.exe
gypfind Python https://github.com/nodejs/node-gyp#installation
ERR!gyp find PythonERR! - "C:\Python27\python.exe" could not be run
gypfind Python **********************************************************
ERR!gyp find PythonERR! checking if Python is C:\Python37\python.exe
gypfind Python
ERR! find Python - "C:\Python37\python.exe" could not be run
gypgyp ERR!ERR! configure errorfind Python
gypgyp ERR!ERR! stackfind Python Error: Could not find any Python installation to use
**********************************************************
gyp gypERR! ERR!stack at PythonFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47)
find Pythongyp You need to install the latest version of Python.
ERR!gyp stack at PythonFinder.runChecks (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21)
ERR!gyp ERR!find Python Node-gyp should be able to find and use Python. If not,
stack at PythonFinder.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16)
gypgyp ERR!ERR! find Pythonstack you can try one of the following options:
at PythonFinder.execFileCallback (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16)
gypgyp ERR!ERR! stackfind Python at exithandler (child_process.js:302:5)
gyp - Use the switch --python="C:\Path\To\python.exe"
gypERR! stackERR! at ChildProcess.errorhandler (child_process.js:314:5)
gyp find PythonERR! (accepted by both node-gyp and npm)
stack at ChildProcess.emit (events.js:223:5)
gypgyp ERR!ERR! stackfind Python at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
- Set the environment variable PYTHON
gypgyp ERR!ERR! stack at onErrorNT (internal/child_process.js:456:16)
find Pythongyp - Set the npm configuration variable python:
gypERR! ERR!stack at processTicksAndRejections (internal/process/task_queues.js:81:21)
find Python npm config set python "C:\Path\To\python.exe"
gypgyp ERR!ERR! find PythonSystem For more information consult the documentation at:
Windows_NT 10.0.17763
gypgyp ERR!ERR! find Pythoncommand https://github.com/nodejs/node-gyp#installation
"C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64\\lzma_native.node" "--module_name=lzma_native" "--module_path=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64"
gypgyp ERR!ERR! find Pythoncwd **********************************************************
C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
gypgyp ERR!ERR! find Pythonnode -v
v12.14.1
gyp ERR! node-gyp -vgyp v5.0.5
gyp ERR!ERR! configure errornot ok
gyp ERR! stack Error: Could not find any Python installation to use
gyp ERR! stack at PythonFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47)
gyp ERR! stack at PythonFinder.runChecks (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21)
gyp ERR! stack at PythonFinder.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16)
gyp ERR! stack at PythonFinder.execFileCallback (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16)
gyp ERR! stack at exithandler (child_process.js:302:5)
gyp ERR! stacknode-pre-gyp at ChildProcess.errorhandler (child_process.js:314:5)
gypERR! ERR!build error
stack at ChildProcess.emit (events.js:223:5)
node-pre-gypgyp ERR!ERR! stackstack at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64\lzma_native.node --module_name=lzma_native --module_path=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64' (1)
node-pre-gypgyp ERR! ERR!stack at ChildProcess.<anonymous> (C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
stacknode-pre-gyp at onErrorNT (internal/child_process.js:456:16)
gypERR! ERR!stack at ChildProcess.emit (events.js:223:5)
stacknode-pre-gyp at processTicksAndRejections (internal/process/task_queues.js:81:21)
ERR! stackgyp at maybeClose (internal/child_process.js:1021:16)
node-pre-gypERR! ERR!System stack Windows_NT 10.0.17763
at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
gyp ERR! node-pre-gypcommand "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64\\lzma_native.node" "--module_name=lzma_native" "--module_path=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64"
ERR!gyp SystemERR! Windows_NT 10.0.17763
node-pre-gypcwd C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
ERR!gyp commandERR! "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gypnode -v v12.14.1
ERR!gyp cwdERR! C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
node-pre-gypnode-gyp -v v5.0.5
ERR!gyp ERR!node -v v12.14.1
not ok
node-pre-gyp ERR! node-pre-gyp -v v0.6.39
node-pre-gyp ERR! not ok
Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64\lzma_native.node --module_name=lzma_native --module_path=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64' (1)
npm WARN discord.js@11.5.1 requires a peer of @discordjs/uws@^10.149.0 but none is installed. You must install peer dependencies yourself.
npm WARN spotifybot@1.0.0 No description
npm WARN spotifybot@1.0.0 No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! lzma-native@3.0.8 install: `node-pre-gyp install --fallback-to-build && node node_modules/rimraf/bin.js build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the lzma-native@3.0.8 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\bobal\AppData\Roaming\npm-cache\_logs\2020-02-21T19_25_47_323Z-debug.log
</anonymous></anonymous></anonymous>So then I tried installing an older version and I’m now using ffmpeg-binaries@3.2.2-3 but when I type /join I get this : [ERR_INVALID_ARG_TYPE] : The "file" argument must be of type string. Received type object