Recherche avancée

Médias (91)

Autres articles (84)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (10656)

  • 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'


    


  • lavc/speedhqdec : Add AV_CODEC_CAP_SLICE_THREADS

    13 mai 2024, par Tomas Härdin
    lavc/speedhqdec : Add AV_CODEC_CAP_SLICE_THREADS
    

    Each field slice is assigned to one thread.
    Serial performance is unaffected.

    • [DH] libavcodec/speedhqdec.c
  • M3U8. Convert all parts to mp4 [closed]

    5 juin 2020, par Zikrulloh Tolibjonov

    My name is Zikrullah. I have the m3u8 file of the serial. 1 m3u8 file contains all parts of the series and all audio languages for the player. The parts in it were saved in ts format for 10 seconds (as far as I understand). When I opened the m3u8 file, it contained a link to other m3u8 files. If I'm not mistaken, these are separate m3u8s for audio languages. but all m3u8 and ts files related to the video are on a other server. I need to upload all the files to my server while keeping them all in order. Of course using php. I'm sorry if I made a mistake. I don't know English well, but I tried :)