Ejemplo n.º 1
0
def message(client, message):
    if message.text.startswith("/"):
        return

    if not is_youtube(message.text):
        message.reply_text(_("play_1"))
        return

    if "list=" in message.text:
        message.reply_text(_("play_2"))
        return

    m = message.reply_text(_("play_3"), quote=True)

    download(
        message.text,
        func(
            player.play,
            sent_by_id=message.from_user.id,
            sent_by_name=message.from_user.first_name,
            log=func(
                client.send_photo,
                chat_id=LOG_GROUP,
                caption=_("group_1").format(
                    '<a href="{}">{}</a>',
                    "{}",
                    '<a href="tg://user?id={}">{}</a>',
                ),
                parse_mode="HTML",
                reply_markup=InlineKeyboardMarkup([
                    [
                        InlineKeyboardButton(_("playlist_3"),
                                             "add_to_playlist"),
                    ],
                ]),
            ) if LOG_GROUP else None,
            on_start=func(
                message.reply_text,
                _("player_1"),
            ),
            on_end=func(
                message.reply_text,
                _("player_2"),
            ),
            on_skip=func(
                message.reply_text,
                _("skip_3"),
            ),
        ),
        func(m.edit, _("ytdl_1")),
        func(m.edit,
             _("ytdl_2").format(player.q.qsize() + 1)),
        func(m.edit, _("ytdl_3")),
        func(m.edit, _("error")),
        func(m.edit, _("ytdl_4")),
    )
Ejemplo n.º 2
0
async def youtube(bot: Bot, message: Message):
    url = ""

    try:
        url = message.command[1]
    except IndexError:
        url = message.reply_to_message.text if message.reply_to_message else ""

    if not is_youtube(url):
        await message.reply_text("Give me a YouTube link.")
    else:
        message = await message.reply_text("Downloading...")
        file_path = (await vcpb.youtube(url))[1]
        message = await message.edit_text("Joining...")

        await vcpb.join(message.chat.id, file_path)
        await message.edit_text(f"`[{file_path}] Playing...`")
Ejemplo n.º 3
0
async def message(client, message):
    if message.text.startswith("/"):
        return

    if not is_youtube(message.text):
        await message.reply_text(_("not_valid"))
        return

    if "list=" in message.text:
        await message.reply_text(_("not_playlist"))
        return

    m = await message.reply_text(_("download_scheduled"), quote=True)

    download(
        (m.edit, (_("downloading"), )),
        (m.edit, (_("downloaded_scheduled").format(player.q.qsize() + 1), )), [
            player.play,
            [
                None, (message.reply_text, (_("playing"), )),
                (message.reply_text, (_("finished_playing"), )), None, None,
                message.from_user.id, message.from_user.first_name,
                [
                    client.send_message,
                    [
                        LOG_GROUP,
                        _("group_log").format(
                            "<a href=\"{}\">{}</a>",
                            "<a href=\"tg://user?id={}\">{}</a>", "{}")
                    ]
                ] if LOG_GROUP else None, None,
                (message.reply_text, (_("on_skip"), ))
            ]
        ], (m.edit, (_("not_live"), )), message.text,
        (m.edit, (_("err_occ"), )), [m.edit, [
            _("dur_limit"),
        ]])
Ejemplo n.º 4
0
def message(client, message):
    if message.text.startswith("/"):
        return

    if not is_youtube(message.text):
        message.reply_text(_("message_1"))
        return

    if "list=" in message.text:
        message.reply_text(_("message_2"))
        return

    m = message.reply_text(_("message_3"), quote=True)

    download((m.edit, (_("ytdl_1"), )),
             (m.edit, (_("ytdl_2").format(player.q.qsize() + 1), )), [
                 player.play,
                 [
                     None, (message.reply_text, (_("player_1"), )),
                     (message.reply_text, (_("player_2"), )), None, None,
                     message.from_user.id, message.from_user.first_name,
                     [
                         client.send_message,
                         [
                             LOG_GROUP,
                             _("group_1").format(
                                 "<a href=\"{}\">{}</a>",
                                 "<a href=\"tg://user?id={}\">{}</a>", "{}")
                         ]
                     ] if LOG_GROUP else None, None,
                     (message.reply_text, (_("skip_3"), ))
                 ]
             ], (m.edit, (_("ytdl_3"), )), message.text,
             (m.edit, (_("error"), )), [m.edit, [
                 _("ytdl_4"),
             ]])
Ejemplo n.º 5
0
def message(client, message):
    if message.text.startswith("/"):
        return

    if not is_youtube(message.text):
        message.reply_text(_("play_1"))
        return

    if "list=" in message.text:
        message.reply_text(_("play_2"))
        return

    m = message.reply_text(_("play_3"), quote=True)

    download(
        (m.edit, (_("ytdl_1"), )),
        (m.edit, (_("ytdl_2").format(player.q.qsize() + 1), )),
        [
            player.play,
            [
                None,
                (message.reply_text, (_("player_1"), )),
                (message.reply_text, (_("player_2"), )),
                None,
                None,
                message.from_user.id,
                message.from_user.first_name,
                [
                    client.send_photo,
                    [
                        LOG_GROUP,
                        None,
                        _("group_1").format(
                            '<a href="{}">{}</a>',
                            "{}",
                            '<a href="tg://user?id={}">{}</a>',
                        ),
                        "HTML",
                        None,
                        None,
                        True,
                        None,
                        None,
                        InlineKeyboardMarkup([
                            [
                                InlineKeyboardButton(_("playlist_3"),
                                                     "add_to_playlist"),
                                InlineKeyboardButton(_("play_4"), "close"),
                            ],
                        ]),
                    ],
                ] if LOG_GROUP else None,
                None,
                (message.reply_text, (_("skip_3"), )),
            ],
        ],
        (m.edit, (_("ytdl_3"), )),
        message.text,
        (m.edit, (_("error"), )),
        [
            m.edit,
            [
                _("ytdl_4"),
            ],
        ],
    )