Exemplo n.º 1
0
async def addService(client: Client, message: Message):
    chatId = await extra.getChatId(client, message)
    limitExists: list = findall(r"\(([0-9]+)\)", message.text)
    if limitExists:
        message.text = message.text.replace(f"({limitExists[0]})", "")
        limit = int(limitExists[0])
    else:
        limit = 0
    args = message.text.split()
    if len(args) == 1:
        await message.reply("Informe o link do serviço!")
        return
    informedUrl = args[1].strip()
    rssService: dict = getNews(informedUrl)
    if "title" not in rssService["feed"]:
        await message.reply("Este não é um serviço RSS válido!")
        return
    realUrl: str = rssService["href"]
    title: str = rssService["feed"]["title"]
    try:
        client.database.addUrl(title, realUrl)
    except Exception:
        pass
    serviceExists = any(filter(
        lambda service: service.url == realUrl,
        client.database.getServices(chatId)
    ))
    if serviceExists:
        await message.reply("O serviço informado já existe!")
        return
    client.database.addService(
        chatId=chatId,
        url=realUrl,
        tags=" ".join(args[2:]).strip(),
        limit=limit
    )
    await message.reply(
        f"Ok, O serviço de noticias {title} foi adicionado."
    )
Exemplo n.º 2
0
async def func(client: Client, message: Message):
    message.text = "/" + COMMAND.LEECH + " " + message.text
    return await leech_handler.func(client, message)