示例#1
0
def loli(bot, update, args, session):
    logger.info("Ricevuto comando loli da: %s con parametri %s",
                update.message.from_user.username, ' '.join(args))
    data = models.registerUpdate(session, update)

    if len(args) > 0:
        try:
            count = int(args[0])
            logger.info("Richiesto invio di %i immagini con parametro %s",
                        count, ' '.join(args[1:]))
            if 0 < count <= 10 and checkPermission(
                    data['user'], 4, chat=data['chat']):
                param = ' '.join(args[1:]) if not '' else None
                for i in range(0, count):
                    sendImage(update, models.Session(), param)
            else:
                logger.info(
                    "Numero di immagini oltre il limite o mancanza di permessi"
                )
        except ValueError:
            param = ' '.join(args)
            logger.info("Richiesta loli con parametro di ricerca: %s", param)
            sendImage(update, session, param)
    else:
        sendImage(update, session)
示例#2
0
def voice(bot, update, args, session):
    logger.info("Ricevuto comando save_audio da: %s",
                update.message.from_user.username)
    args = ' '.join(args)
    data = models.registerUpdate(session, update)
    if not checkPermission(data['user'], 3, data['chat']):
        update.message.reply_text(
            "Non hai i permessi per usare questo comando", quote=False)
        return
    if update.message.reply_to_message is None:
        update.message.reply_text(
            "Utilizzare il comando save_voice in risposta ad un messagio vocale per salvarlo",
            quote=False)
        return
    if update.message.reply_to_message.voice is None:
        update.message.reply_text("Non è presente un messaggio vocale",
                                  quote=False)
        return
    if args is None or args is '':
        update.message.reply_text(
            "Non è presente il comando con cui salvare il messaggio vocale",
            quote=False)
        return

    if save_voice(session, update.message.reply_to_message.voice, data['chat'],
                  args):
        update.message.reply_text("Messaggio vocale salvato con comando '%s'" %
                                  args,
                                  quote=False)
    else:
        update.message.reply_text("Creazione del comando %s" % args,
                                  quote=False)
示例#3
0
def restart(bot, update, session):
    logger.info("Ricevuto comando restart da: %s",
                update.message.from_user.username)
    data = models.registerUpdate(session, update)
    if checkPermission(data['user'], 2):
        logger.info("Riavvio del bot")
        bot.send_message(update.message.chat_id, "Riavvio del bot...")
        time.sleep(0.2)
        os.execl(sys.executable, sys.executable, *sys.argv)
示例#4
0
def commands(bot, update, session):
    logger.info("Ricevuto comando commands da: %s",
                update.message.from_user.username)
    data = models.registerUpdate(session, update)
    if checkPermission(data['user'], 1):
        items = COMMANDS.items()
        text = ""
        for item in items:
            text += item[0] + " - " + item[1] + "\n"
        update.message.reply_text(text, quote=False)
示例#5
0
def chatId(bot, update, session):
    logger.info("Ricevuto comando chatId da: %s",
                update.message.from_user.username)
    data = models.registerUpdate(session, update)
    #if update.message.from_user.id == OWNER:
    if checkPermission(data['user'], 2, chat=data.chat):
        update.message.reply_text("Chat ID: " + str(update.message.chat_id),
                                  quote=False)
    else:
        update.message.reply_text(
            "Scusa onii-san, ma non hai i permessi per usare questo comando :(",
            quote=False)
示例#6
0
def echo(bot, update, session):
    data = models.registerUpdate(session, update)
    if update.channel_post != None:
        logger.info("Ricevuto post dal canale: [%s]",
                    str(update.channel_post.chat_id))
        if update.channel_post.chat_id == CHANNEL:
            logger.info(
                "Messaggio ricevuto dal canale, inoltro nel fangroup con citazione"
            )
            update.channel_post.forward(FANGROUP)
    else:
        logger.info("Ricevuto testo da: %s [%s]",
                    update.message.from_user.username,
                    str(update.message.from_user.id))
        if checkPermission(data['user'], 3):
            logger.info("Messaggio ricevuto dall'owner, inoltro nel fangroup")
            mess = update.message
            if mess.sticker != None:
                bot.sendSticker(chat_id=FANGROUP, sticker=mess.sticker.file_id)
            elif mess.video != None:
                bot.sendVideo(chat_id=FANGROUP,
                              video=mess.video.file_id,
                              duration=mess.video.duration,
                              caption=mess.caption)
            elif mess.voice != None:
                bot.sendVoice(chat_id=FANGROUP,
                              voice=mess.voice.file_id,
                              duration=mess.voice.duration,
                              caption=mess.caption)
            elif mess.audio != None:
                bot.sendVoice(chat_id=FANGROUP,
                              audio=mess.audio.file_id,
                              duration=mess.audio.duration,
                              caption=mess.caption,
                              performer=mess.audio.performer,
                              title=mess.audio.title)
            elif mess.photo:
                bot.sendPhoto(chat_id=FANGROUP,
                              photo=mess.photo[0].file_id,
                              caption=mess.caption)
            elif mess.document != None:
                bot.sendDocument(chat_id=FANGROUP,
                                 document=mess.document.file_id,
                                 file_name=mess.document.file_name,
                                 caption=mess.caption)
            elif mess.text != '':
                bot.sendMessage(chat_id=FANGROUP,
                                text=mess.text,
                                parse_mode="markdown")
            else:
                logger.warning("Messaggio invalido ricevuto dall'owner")
示例#7
0
def ilaria(bot, update, args, session):
    logger.info("Ricevuto comando ilaria da: %s",
                update.message.from_user.username)
    args = ' '.join(args)
    data = models.registerUpdate(session, update)
    if checkPermission(data['user'], 3, data['chat']):
        logger.info("Permessi validi, esecuzione del comando")
        if args:
            voice = session.query(models.Voice).filter_by(
                command=args).order_by(func.random()).first()
        else:
            voice = session.query(models.Voice).order_by(func.random()).first()
        if voice:
            update.message.reply_voice(voice=voice.file_id,
                                       duration=voice.duration,
                                       quote=False)
        else:
            update.message.reply_text("Nessun audio trovato con comando '%s'" %
                                      args)
    else:
        logger.info("Permesso negato")