
Recherche avancée
Autres articles (14)
-
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...) -
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...) -
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)
Sur d’autres sites (5634)
-
avformat/scd : add demuxer
1er décembre 2021, par Zane van Iperenavformat/scd : add demuxer
Adds demuxer for Square Enux SCD files.
Based off [1] and personal investigation.
This has only been tested against Drakengard 3 (PS3) *_SCD.XXX files
(big-endian). As it is highly likely that FFXIV (PC) files are little-endian,
this demuxer is marked as experimental until this can be confirmed.[1] : http://ffxivexplorer.fragmenterworks.com/research/scd%20files.txt
Reviewed-by : Peter Ross <pross@xvid.org>
Reviewed-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by : Zane van Iperen <zane@zanevaniperen.com> -
How do I loop audio files in discord.py ?
25 septembre 2021, par Jonah AlexanderI cannot for the life of me find or figure out a solution that works anymore. here is both the bit of code that is actually important, and the whole file if you would like to see that too


async def play(self, ctx: commands.Context, url, lp):
 channel = ctx.author.voice.channel

 if lp == 'loop':
 await channel.connect()

 async with ctx.typing():
 player = await YTDLSource.from_url(url, loop=self.bot.loop)
 ctx.voice_client.play(player, after=lambda e: print('Player error: %s' % e) if e else None)
 await ctx.send('Now playing: {}'.format(player.title))
 while True:
 if not ctx.voice_client.is_playing():
 async with ctx.typing():
 ctx.voice_client.play(player, after=lambda e: print('Player error: %s' % e) if e else None)
 time.sleep(0.5)
 else:
 async with ctx.typing():
 await channel.connect()
 player = await YTDLSource.from_url(url, loop=self.bot.loop)
 ctx.voice_client.play(player, after=lambda e: print('Player error: %s' % e) if e else None)
 await ctx.send('Now playing: {}'.format(player.title))



from discord.ext import commands
import ffmpeg
import youtube_dl.YoutubeDL
import asyncio
import time


ytdl_format_options = {
 'format': 'bestaudio/best',
 'outtmpl': '%(extractor)s-%(id)s-%(title)s.%(ext)s',
 'restrictfilenames': True,
 'noplaylist': True,
 'nocheckcertificate': True,
 'ignoreerrors': False,
 'logtostderr': False,
 'quiet': True,
 'no_warnings': True,
 'default_search': 'auto',
 'source_address': '0.0.0.0' # bind to ipv4 since ipv6 addresses cause issues sometimes
}

ffmpeg_options = {
 'options': '-vn'
}


ytdl = youtube_dl.YoutubeDL(ytdl_format_options)


class YTDLSource(discord.PCMVolumeTransformer):
 def __init__(self, source, *, data, volume=0.5):
 super().__init__(source, volume)

 self.data = data

 self.title = data.get('title')
 self.url = data.get('url')

 @classmethod
 async def from_url(cls, url, *, loop=None, stream=False):
 loop = loop or asyncio.get_event_loop()
 data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=not stream))

 if 'entries' in data:
 # take first item from a playlist
 data = data['entries'][0]

 filename = data['url'] if stream else ytdl.prepare_filename(data)
 return cls(discord.FFmpegPCMAudio(filename, **ffmpeg_options), data=data)


class MyBoi(commands.Cog):
 def __init__(self, bot: commands.Bot):
 self.bot = bot
 self.voice_states = {}

 @commands.command(name='leave')
 async def leave(self, ctx: commands.Context):
 await ctx.voice_client.disconnect()

 @commands.command(name='play')
 async def play(self, ctx: commands.Context, url, lp):
 channel = ctx.author.voice.channel

 if lp == 'loop':
 await channel.connect()

 async with ctx.typing():
 player = await YTDLSource.from_url(url, loop=self.bot.loop)
 ctx.voice_client.play(player, after=lambda e: print('Player error: %s' % e) if e else None)
 await ctx.send('Now playing: {}'.format(player.title))
 while True:
 if not ctx.voice_client.is_playing():
 async with ctx.typing():
 ctx.voice_client.play(player, after=lambda e: print('Player error: %s' % e) if e else None)
 time.sleep(0.5)
 else:
 async with ctx.typing():
 await channel.connect()
 player = await YTDLSource.from_url(url, loop=self.bot.loop)
 ctx.voice_client.play(player, after=lambda e: print('Player error: %s' % e) if e else None)
 await ctx.send('Now playing: {}'.format(player.title))


intents = discord.Intents.all()

clnt = commands.Bot(command_prefix='#', intents=intents)
clnt.add_cog(MyBoi(clnt))

lop = {0: False}
plr = {}


@clnt.event
async def on_ready():
 print("ready")


clnt.run("the actual key normally")



is the code poorly made and/or badly organized ? probably. but this is a personal project and did not expect to be sharing this with anyone. If you need clarification on anything lmk.


with the code here, the issue im getting is when I do the looped version, the bot disconnects for a frame and reconnects, then I get this error




discord.ext.commands.errors.CommandInvokeError : Command raised an exception : ClientException : Not connected to voice.




the bot does not disconnect immediately when not using the looped version, and trying to manually reconnect it at the start of the loop gives me an error saying it's already connected.


also sidenote I did not write the YTDLSource class or the ytdl_format_options.


-
Our release signature has changed
8 mars 2022, par justin — SecurityWe have been cryptographically signing Matomo releases since 2014, so you can verify the signature of the release you downloaded. Up until Matomo 4.8.0 releases were signed with Matthieu Aubry’s personal signature. In Matomo 4.8.0 we made some improvements to our release systems including automating the release builds. As part of these improvements it makes sense to now use a Matomo signature, which means a few changes are required for verifying releases. There is no security issue around the previous key, which can still be used to verify older release builds.
There is a new signature here : builds.matomo.org/signature.asc. You can use this signature according to our updated instructions to verify releases for Matomo version 4.8.0 and newer. You will need to import this signature to verify new releases.
If you want to verify the signature of a release prior to Matomo 4.8.0 you can now find Matthieu’s signature here : builds.matomo.org/signature-pre-4.8.0.asc, and the same instructions apply. If you already imported Matthieu’s signature, you won’t need to do this again.