Recherche avancée

Médias (91)

Autres articles (65)

  • 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 ) (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

Sur d’autres sites (6755)

  • cbs_h266 : expand the bit depth range to 16 bits

    5 juillet 2023, par Frank Plowman
    cbs_h266 : expand the bit depth range to 16 bits
    

    Signed-off-by : James Almer <jamrial@gmail.com>

    • [DH] libavcodec/cbs_h266_syntax_template.c
  • Restricting credit card validator to include length check. Closes gh-772

    25 juin 2013, par DelvarWorld
    Restricting credit card validator to include length check. Closes gh-772
    

    Without this, '41111' is considered a valid credit card number.

  • How to make a basic youtube music bot work with searching titles instead of the URL

    21 janvier 2021, par Brandon

    Hello so i've followed this tutorial and added this code to my current bot to make it have a music bot function. Im wondering how to make the following code work with the youtube search function, for example right now I have to do !play URL but I would also like to be able to do !play name of song then the bot will search and play the most matched song.

    &#xA;&#xA;

    I am new to javascript but I know I shouldn't be looking for handouts, but some help would be appreciated.

    &#xA;&#xA;

    const Discord = require("discord.js");&#xA;const { prefix, token } = require("./config.json");&#xA;const ytdl = require("ytdl-core");&#xA;&#xA;const client = new Discord.Client();&#xA;&#xA;const queue = new Map();&#xA;&#xA;client.once("ready", () => {&#xA;  console.log("Ready!");&#xA;});&#xA;&#xA;client.once("reconnecting", () => {&#xA;  console.log("Reconnecting!");&#xA;});&#xA;&#xA;client.once("disconnect", () => {&#xA;  console.log("Disconnect!");&#xA;});&#xA;&#xA;client.on("message", async message => {&#xA;  if (message.author.bot) return;&#xA;  if (!message.content.startsWith(prefix)) return;&#xA;&#xA;  const serverQueue = queue.get(message.guild.id);&#xA;&#xA;  if (message.content.startsWith(`${prefix}play`)) {&#xA;    execute(message, serverQueue);&#xA;    return;&#xA;  } else if (message.content.startsWith(`${prefix}skip`)) {&#xA;    skip(message, serverQueue);&#xA;    return;&#xA;  } else if (message.content.startsWith(`${prefix}stop`)) {&#xA;    stop(message, serverQueue);&#xA;    return;&#xA;  } else {&#xA;    message.channel.send("You need to enter a valid command!");&#xA;  }&#xA;});&#xA;&#xA;async function execute(message, serverQueue) {&#xA;  const args = message.content.split(" ");&#xA;&#xA;  const voiceChannel = message.member.voice.channel;&#xA;  if (!voiceChannel)&#xA;    return message.channel.send(&#xA;      "You need to be in a voice channel to play music!"&#xA;    );&#xA;  const permissions = voiceChannel.permissionsFor(message.client.user);&#xA;  if (!permissions.has("CONNECT") || !permissions.has("SPEAK")) {&#xA;    return message.channel.send(&#xA;      "I need the permissions to join and speak in your voice channel!"&#xA;    );&#xA;  }&#xA;&#xA;  const songInfo = await ytdl.getInfo(args[1]);&#xA;  const song = {&#xA;    title: songInfo.title,&#xA;    url: songInfo.video_url&#xA;  };&#xA;&#xA;  if (!serverQueue) {&#xA;    const queueContruct = {&#xA;      textChannel: message.channel,&#xA;      voiceChannel: voiceChannel,&#xA;      connection: null,&#xA;      songs: [],&#xA;      volume: 5,&#xA;      playing: true&#xA;    };&#xA;&#xA;    queue.set(message.guild.id, queueContruct);&#xA;&#xA;    queueContruct.songs.push(song);&#xA;&#xA;    try {&#xA;      var connection = await voiceChannel.join();&#xA;      queueContruct.connection = connection;&#xA;      play(message.guild, queueContruct.songs[0]);&#xA;    } catch (err) {&#xA;      console.log(err);&#xA;      queue.delete(message.guild.id);&#xA;      return message.channel.send(err);&#xA;    }&#xA;  } else {&#xA;    serverQueue.songs.push(song);&#xA;    return message.channel.send(`${song.title} has been added to the queue!`);&#xA;  }&#xA;}&#xA;&#xA;function skip(message, serverQueue) {&#xA;  if (!message.member.voice.channel)&#xA;    return message.channel.send(&#xA;      "You have to be in a voice channel to stop the music!"&#xA;    );&#xA;  if (!serverQueue)&#xA;    return message.channel.send("There is no song that I could skip!");&#xA;  serverQueue.connection.dispatcher.end();&#xA;}&#xA;&#xA;function stop(message, serverQueue) {&#xA;  if (!message.member.voice.channel)&#xA;    return message.channel.send(&#xA;      "You have to be in a voice channel to stop the music!"&#xA;    );&#xA;  serverQueue.songs = [];&#xA;  serverQueue.connection.dispatcher.end();&#xA;}&#xA;&#xA;function play(guild, song) {&#xA;  const serverQueue = queue.get(guild.id);&#xA;  if (!song) {&#xA;    serverQueue.voiceChannel.leave();&#xA;    queue.delete(guild.id);&#xA;    return;&#xA;  }&#xA;&#xA;  const dispatcher = serverQueue.connection&#xA;    .play(ytdl(song.url))&#xA;    .on("finish", () => {&#xA;      serverQueue.songs.shift();&#xA;      play(guild, serverQueue.songs[0]);&#xA;    })&#xA;    .on("error", error => console.error(error));&#xA;  dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);&#xA;  serverQueue.textChannel.send(`Start playing: **${song.title}**`);&#xA;}&#xA;&#xA;client.login(token);&#xA;

    &#xA;