示例#1
0
def skip(client, message):
    if player.STATE in (State.Playing, State.Streaming, State.Paused):
        player.STATE = State.Skipped
        player.abort()
        message.reply_text(_("skip_1"))
    else:
        message.reply_text(_("skip_2"))
示例#2
0
async def clear_downloads(client, message):
    player.abort()
    try:
        for file in os.listdir("downloads"):
            try:
                os.remove("downloads/" + file)
            except:
                pass
        await message.reply_text(_("cleaned_downloads"))
    except:
        await message.reply_text(_("err_occ"))
示例#3
0
async def skip(client, message):
    if player.STATE in (State.Playing, State.Streaming, State.Paused):
        player.STATE = State.Skipped
        player.abort()
        m = await message.reply_text(_("skip_1"))
    else:
        m = await message.reply_text(_("skip_2"))

    if m and message.chat.type != "private":
        await sleep(5)
        await m.delete()

        try:
            await message.delete()
        except:
            pass
示例#4
0
async def clear_downloads(client, message):
    player.abort()
    try:
        for file in os.listdir("downloads"):
            try:
                os.remove("downloads/" + file)
            except:
                pass
        m = await message.reply_text(_("cleardownloads"))
    except:
        m = await message.reply_text(_("error"))

    if m and message.chat.type != "private":
        await sleep(5)
        await m.delete()

        try:
            await message.delete()
        except:
            pass
示例#5
0
def clear_downloads(client, message):
    for i in range(len(player.q_list)):
        player.abort(False)
        sleep(0.5)

    try:
        for file in os.listdir("downloads"):
            try:
                os.remove("downloads/" + file)
            except:
                pass

        m = message.reply_text(_("cleardownloads"))
    except:
        m = message.reply_text(_("error"))

    if m and message.chat.type != "private":
        sleep(5)
        m.delete()

        try:
            message.delete()
        except:
            pass
示例#6
0
 def stop_and_restart():
     app.stop()
     player.q = None
     player.abort()
     os.system("git pull")
     os.execl(sys.executable, sys.executable, *sys.argv)
示例#7
0
async def callback(client, query):
    if query.from_user.id not in SUDO_USERS:
        await query.answer()
        return

    if query.data.endswith("volume"):
        current_volume = int(query.message.text.split()[-1].replace("%", ""))

    if query.data == "decrease_volume":
        volume = current_volume - 1

        if volume < 0:
            volume = 0

        volume = f"{volume}%"

        subprocess.Popen(
            ["pactl", "set-sink-volume", "MySink", volume]
        ).wait()

        await query.message.reply_text(
            _("current_volume").format(volume),
            reply_markup=InlineKeyboardMarkup(
                [
                    [
                        InlineKeyboardButton(
                            "➖",
                            callback_data="decrease_volume"
                        ),
                        InlineKeyboardButton(
                            "➕",
                            callback_data="increase_volume"
                        )
                    ]
                ]
            ),
            quote=False
        )
        await query.message.delete()
        await query.answer()
    elif query.data == "increase_volume":
        volume = current_volume + 1

        if volume > 100:
            volume = 100

        volume = f"{volume}%"

        subprocess.Popen(
            ["pactl", "set-sink-volume", "MySink", volume]
        ).wait()

        await query.message.reply_text(
            _("current_volume").format(volume),
            reply_markup=InlineKeyboardMarkup(
                [
                    [
                        InlineKeyboardButton(
                            "➖",
                            callback_data="decrease_volume"
                        ),
                        InlineKeyboardButton(
                            "➕",
                            callback_data="increase_volume"
                        )
                    ]
                ]
            ),
            quote=False
        )
        await query.message.delete()
        await query.answer()
    else:
        if query.data == "refresh":
            await query.message.edit_text(
                f10(),
                disable_web_page_preview=True,
                reply_markup=rm()
            )
            await query.answer()
        elif query.data == "skip":
            player.STATE = State.Skipped
            player.abort()
            await query.message.edit_text(
                f10(),
                disable_web_page_preview=True,
                reply_markup=rm()
            )
            await query.answer()
        elif query.data == "pause":
            if player.STATE == State.Paused:
                player.STATE = State.Playing
            elif player.STATE == State.Playing:
                player.STATE = State.Paused
            player.pause_resume()
            await query.message.edit_text(
                f10(),
                disable_web_page_preview=True,
                reply_markup=rm()
            )
            await query.answer()
示例#8
0
async def skip(client, message):
    if player.abort():
        await message.reply_text(_("skipped"))
    else:
        await message.reply_text(_("nothing_playing_skip"))