Recherche avancée

Médias (1)

Mot : - Tags -/stallman

Autres articles (30)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

Sur d’autres sites (3432)

  • error on Heroku application log after deployment

    30 juin 2021, par SDB PROGRAM LEARNER

    I had made a discord bot and deploy it to Heroku in this bot I can play youtube songs normally but after deploying on Heroku it gives me errors on application logs when I am trying to play my song

    


    My code :-

    


    import discord,requests, sys, webbrowser, bs4
import youtube_dl
import os
from dotenv import load_dotenv
import ffmpeg
from discord.ext import *
from discord.ext import commands
from discord.ext.commands import Bot
from discord.voice_client import VoiceClient
import asyncio
@client.command(pass_context=True)                      #====================================Join
async def join(ctx):
    channel = ctx.author.voice.channel
    await channel.connect()
@client.command()                                         #==================================Play
async def play(ctx, url:str):
    song_there = os.path.isfile("song.mp3")
    try:
        if song_there:
            os.remove("song.mp3")
            player.clear()
    except PermissionError:
        await ctx.send("Wait for the current playing music end or use the 'stop' command...")
        return
    await ctx.send("Getting everything ready, playing audio soon, depends on your internet speed...")
    print("Someone wants to play music let me get that ready for them...")
    voice = discord.utils.get(client.voice_clients, guild=ctx.guild)
    ydl_opts = {
        'format': 'bestaudio/best',
            'postprocessors': [{
            'key': 'FFmpegExtractAudio',
            'preferredcodec': 'mp3',
            'preferredquality': '192',
        }],
    }
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download([url])
    for file in os.listdir("./"):
        if file.endswith(".mp3"):
            os.rename(file, 'song.mp3')
    voice.play(discord.FFmpegPCMAudio("song.mp3"))
    
    voice.volume = 100


    


    It works properly on localhost from vscode

    


    but when I trying to use this after deployment on Heroku it gives me the error below

    


    2021-06-30T07:41:09.476383+00:00 app[worker.1]: The above exception was the direct cause of the following exception:
2021-06-30T07:41:09.476384+00:00 app[worker.1]: 
2021-06-30T07:41:09.476384+00:00 app[worker.1]: Traceback (most recent call last):
2021-06-30T07:41:09.476422+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/discord/ext/commands/bot.py", line 939, in invoke
2021-06-30T07:41:09.476423+00:00 app[worker.1]:     await ctx.command.invoke(ctx)
2021-06-30T07:41:09.476427+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/discord/ext/commands/core.py", line 863, in invoke
2021-06-30T07:41:09.476427+00:00 app[worker.1]:     await injected(*ctx.args, **ctx.kwargs)
2021-06-30T07:41:09.476451+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/discord/ext/commands/core.py", line 94, in wrapped
2021-06-30T07:41:09.476452+00:00 app[worker.1]:     raise CommandInvokeError(exc) from exc
2021-06-30T07:41:09.476487+00:00 app[worker.1]: discord.ext.commands.errors.CommandInvokeError: Command raised an exception: DownloadError: ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please install one.


    


    Please help me to solve this problem

    


  • Why is my discord bot not able to find the file that is there when I open the folder manually ?

    22 juin 2021, par Toma

    I made a discord bot that should play music using ffmpeg.

    


    It's connecting and downloading the youtube webm file after which it should convert and rename it to song.mp3 but it doesn't manage to do so. I check the folder and the error message doesn't match what I see - the file is there and has been renamed.

    


      

    1. Am I using the replace command correctly to move the file ?
    2. 


    3. I'd note that I'm using windows10 and that the folders are all read only and that although I'm the admin I can't change that no matter what I do (I guess it's a win10 bug). Does that have anything to do with it ?
    4. 


    5. Is there another mistake in the code that'd prevent the file from being found by the bot ?
    6. 


    


    My code :

    


    import discord
from discord.ext import commands
import youtube_dl #for url music command
import os

client = commands.Bot(command_prefix = '><')

#connect to voice channel
@client.command(aliases = ['c'])
async def connect(ctx, vcName):
    voice = discord.utils.get(client.voice_clients, guild=ctx.guild)
    voiceChannel = discord.utils.get(ctx.guild.channels, name=str(vcName))
    if voice == None: #if voice is not connected to any channel
        await voiceChannel.connect()
    else:
        if voice.channel == vcName: #if trying to connect to the same channel
            await ctx.send('already connected to this channel')
        else:
            await voice.move_to(vcName)

@client.command(aliases = ['d'])
async def delFile(ctx):
    song_there = os.path.exists(os.getcwd()+'/music/current/song.mp3') #true when song.mp3 exists in 'current' folder in 'music' folder
    if song_there:
        await ctx.send('song was detected')
        os.remove('song.mp3')
        if song_there:
            await ctx.send('song was not deleted')
    else:
        await ctx.send('File is not found. check the name again')

#play music from url

@client.command(aliases = ['p'])
async def playMusic(ctx, vcName, url : str): #play music file
    song_there = os.path.exists(os.path.join(os.getcwd(),'/music/current/song.mp3'))
    try:
        if song_there:
            print('previous song found')
            os.remove(os.path.join(os.getcwd(),'/music/current/song.mp3')) #removes the song in current to make room for a new song
            if song_there:
                print('song was not deleted')
            else:
                print('song deleted')
    except PermissionError:
        await ctx.send('A song is currently playing')
        return
    voiceChannel = discord.utils.get(ctx.guild.channels, name=str(vcName))
    ydl_opts = {
        'format': 'bestaudio/best',
        'postprocessors': [{
            'key': 'FFmpegExtractAudio',
            'preferredcodec': 'mp3',
            'preferredquality': '192',
        }]
    }


   for file in os.listdir('./'):
        if file.endswith('.mp3'):       #if song.mp3 already exists delete it to make room for a new download
            os.remove('song.mp3')
        else:                           #download the file from youtube
            with youtube_dl.YoutubeDL(ydl_opts) as ydl:
                ydl.download([url])
    for file in os.listdir('./'):       #after downloading rename the file and move it to current folder
        if not file == ('song.mp3') and file.endswith('.mp3'):
            os.rename(file, 'song.mp3')
            print(os.path.join(os.getcwd(), 'song.mp3'))
            print(os.path.join(os.getcwd(), '/music/current/song.mp3'))
            os.replace(os.path.join(os.getcwd(), 'song.mp3'), os.path.join(os.getcwd(), '/music/current/song.mp3'))   #move file to current

    voice = discord.utils.get(client.voice_clients, guild=ctx.guild)
    if not voice is None:               #if voice is already created
        if not voice.is_connected():    #and is not connected
            await voiceChannel.connect()
        voice.play(discord.FFmpegPCMAudio('song.mp3'))
    else:
        await ctx.send('Bot made an oopsy. Cast mending and heal bot.')
client.run('token')


    


    Error :

    


    [youtube] wkJ7oDMqz0A: Downloading webpage
[download] The Minor Bee-wkJ7oDMqz0A.webm has already been downloaded
[download] 100% of 5.13MiB
[ffmpeg] Destination: The Minor Bee-wkJ7oDMqz0A.mp3
Deleting original file The Minor Bee-wkJ7oDMqz0A.webm (pass -k to keep)
[youtube] wkJ7oDMqz0A: Downloading webpage
[download] Destination: The Minor Bee-wkJ7oDMqz0A.webm
[download] 100% of 5.13MiB in 00:00                   
[ffmpeg] Destination: The Minor Bee-wkJ7oDMqz0A.mp3
Deleting original file The Minor Bee-wkJ7oDMqz0A.webm (pass -k to keep)
[youtube] wkJ7oDMqz0A: Downloading webpage
[download] Destination: The Minor Bee-wkJ7oDMqz0A.webm
[download] 100% of 5.13MiB in 00:00                  
[ffmpeg] Destination: The Minor Bee-wkJ7oDMqz0A.mp3
Deleting original file The Minor Bee-wkJ7oDMqz0A.webm (pass -k to keep)
C:.....song.mp3 -> **C:/music/current/song.mp3**
Ignoring exception in command playMusic:
Traceback (most recent call last):
  File "C:\Program Files\Python38\lib\site-packages\discord\ext\commands\core.py", line 85, in wrapped
    ret = await coro(*args, **kwargs)
  File "C:...tut-bot.py", line 84, in playMusic
    os.replace(os.path.join(os.getcwd(), 'song.mp3'), os.path.join(os.getcwd(), '/music/current/song.mp3'))   #move file to current
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\....\\song.mp3' -> 'C:/music/current/song.mp3'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files\Python38\lib\site-packages\discord\ext\commands\bot.py", line 939, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Program Files\Python38\lib\site-packages\discord\ext\commands\core.py", line 863, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "C:\Program Files\Python38\lib\site-packages\discord\ext\commands\core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\...\\song.mp3' -> 'C:/music/current/song.mp3'


    


  • Why does my discord bot not able to find the file that is there when I open the folder manually ?

    22 juin 2021, par Toma

    I made a discord bot that should play music using ffmpeg.

    


    It's connecting and downloading the youtube webm file after which it should convert and rename it to song.mp3 but it doesn't manage to do so. I check the folder and the error message doesn't match what I see - the file is there and has been renamed.

    


      

    1. Am I using the replace command correctly to move the file ?
    2. 


    3. I'd note that I'm using windows10 and that the folders are all read only and that although I'm the admin I can't change that no matter what I do (I guess it's a win10 bug). Does that have anything to do with it ?
    4. 


    5. Is there another mistake in the code that'd prevent the file from being found by the bot ?
    6. 


    


    My code :

    


    import discord
from discord.ext import commands
import youtube_dl #for url music command
import os

client = commands.Bot(command_prefix = '><')

#connect to voice channel
@client.command(aliases = ['c'])
async def connect(ctx, vcName):
    voice = discord.utils.get(client.voice_clients, guild=ctx.guild)
    voiceChannel = discord.utils.get(ctx.guild.channels, name=str(vcName))
    if voice == None: #if voice is not connected to any channel
        await voiceChannel.connect()
    else:
        if voice.channel == vcName: #if trying to connect to the same channel
            await ctx.send('already connected to this channel')
        else:
            await voice.move_to(vcName)

@client.command(aliases = ['d'])
async def delFile(ctx):
    song_there = os.path.exists(os.getcwd()+'/music/current/song.mp3') #true when song.mp3 exists in 'current' folder in 'music' folder
    if song_there:
        await ctx.send('song was detected')
        os.remove('song.mp3')
        if song_there:
            await ctx.send('song was not deleted')
    else:
        await ctx.send('File is not found. check the name again')

#play music from url

@client.command(aliases = ['p'])
async def playMusic(ctx, vcName, url : str): #play music file
    song_there = os.path.exists(os.path.join(os.getcwd(),'/music/current/song.mp3'))
    try:
        if song_there:
            print('previous song found')
            os.remove(os.path.join(os.getcwd(),'/music/current/song.mp3')) #removes the song in current to make room for a new song
            if song_there:
                print('song was not deleted')
            else:
                print('song deleted')
    except PermissionError:
        await ctx.send('A song is currently playing')
        return
    voiceChannel = discord.utils.get(ctx.guild.channels, name=str(vcName))
    ydl_opts = {
        'format': 'bestaudio/best',
        'postprocessors': [{
            'key': 'FFmpegExtractAudio',
            'preferredcodec': 'mp3',
            'preferredquality': '192',
        }]
    }


   for file in os.listdir('./'):
        if file.endswith('.mp3'):       #if song.mp3 already exists delete it to make room for a new download
            os.remove('song.mp3')
        else:                           #download the file from youtube
            with youtube_dl.YoutubeDL(ydl_opts) as ydl:
                ydl.download([url])
    for file in os.listdir('./'):       #after downloading rename the file and move it to current folder
        if not file == ('song.mp3') and file.endswith('.mp3'):
            os.rename(file, 'song.mp3')
            print(os.path.join(os.getcwd(), 'song.mp3'))
            print(os.path.join(os.getcwd(), '/music/current/song.mp3'))
            os.replace(os.path.join(os.getcwd(), 'song.mp3'), os.path.join(os.getcwd(), '/music/current/song.mp3'))   #move file to current

    voice = discord.utils.get(client.voice_clients, guild=ctx.guild)
    if not voice is None:               #if voice is already created
        if not voice.is_connected():    #and is not connected
            await voiceChannel.connect()
        voice.play(discord.FFmpegPCMAudio('song.mp3'))
    else:
        await ctx.send('Bot made an oopsy. Cast mending and heal bot.')
client.run('token')


    


    Error :

    


    [youtube] wkJ7oDMqz0A: Downloading webpage
[download] The Minor Bee-wkJ7oDMqz0A.webm has already been downloaded
[download] 100% of 5.13MiB
[ffmpeg] Destination: The Minor Bee-wkJ7oDMqz0A.mp3
Deleting original file The Minor Bee-wkJ7oDMqz0A.webm (pass -k to keep)
[youtube] wkJ7oDMqz0A: Downloading webpage
[download] Destination: The Minor Bee-wkJ7oDMqz0A.webm
[download] 100% of 5.13MiB in 00:00                   
[ffmpeg] Destination: The Minor Bee-wkJ7oDMqz0A.mp3
Deleting original file The Minor Bee-wkJ7oDMqz0A.webm (pass -k to keep)
[youtube] wkJ7oDMqz0A: Downloading webpage
[download] Destination: The Minor Bee-wkJ7oDMqz0A.webm
[download] 100% of 5.13MiB in 00:00                  
[ffmpeg] Destination: The Minor Bee-wkJ7oDMqz0A.mp3
Deleting original file The Minor Bee-wkJ7oDMqz0A.webm (pass -k to keep)
C:.....song.mp3 -> **C:/music/current/song.mp3**
Ignoring exception in command playMusic:
Traceback (most recent call last):
  File "C:\Program Files\Python38\lib\site-packages\discord\ext\commands\core.py", line 85, in wrapped
    ret = await coro(*args, **kwargs)
  File "C:...tut-bot.py", line 84, in playMusic
    os.replace(os.path.join(os.getcwd(), 'song.mp3'), os.path.join(os.getcwd(), '/music/current/song.mp3'))   #move file to current
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\....\\song.mp3' -> 'C:/music/current/song.mp3'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files\Python38\lib\site-packages\discord\ext\commands\bot.py", line 939, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Program Files\Python38\lib\site-packages\discord\ext\commands\core.py", line 863, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "C:\Program Files\Python38\lib\site-packages\discord\ext\commands\core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\...\\song.mp3' -> 'C:/music/current/song.mp3'