Как проверить наличие гиперссылок в содержании сообщения (желательно через Discord.py) - PullRequest
0 голосов
/ 03 октября 2019

Я хочу иметь возможность определять, когда пользователь с разногласиями отправляет URL-ссылку, будь то видео, веб-сайт или приглашение с разногласиями, и чтобы сохранить ссылку, существуют ли какие-либо уже существующие библиотеки?

1 Ответ

0 голосов
/ 03 октября 2019

Regex - мое любимое решение для этого.

    def _match_url(url):
        regex = re.compile(
            "(([\w]+:)?//)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,63}(:[\d]+)?(/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?"
        )
        if regex.match(url):
            return True
        else:
            return False
...