kyb3r / dhooks

A simple python Discord webhook API wrapper
https://discord.gg/etJNHCQ
MIT License
190 stars 50 forks source link

"ValueError: Invalid webhook URL provided" #37

Open sboulah opened 4 years ago

sboulah commented 4 years ago

Discord appears to have changed webhooks and now whenever I try to use it I get a ValueError message, this only happens with the newly generated webhooks, all the old ones seem to work fine.

My Sample Code: Code

Error message: ErrorMessage

mischievousdev commented 4 years ago

What is your dhooks version?

sboulah commented 4 years ago

1.1.4

mischievousdev commented 4 years ago

Update dhooks, latest fix will resolve the issue

sboulah commented 4 years ago

updated using pip and says that v1.1.4 is the latest

mischievousdev commented 4 years ago

Sorry my bad that's the latest version

Aloqeely commented 4 years ago

I've just tried with 2 webhooks (old and new) and both worked as expected, what discord client are you using? for ex: regular discord or canary etc

Aloqeely commented 4 years ago

actually, can you run this code and return the output?

import re
hook_url = "webhook url"

def hook_test1():
    URL_REGEX = r'^(?:https?://)?((canary|ptb)\.)?discord\.com/api/webhooks/(?P<id>[0-9]+)/(?P<token>[A-Za-z0-9\.\-\_]+)/?$'
    print(bool(re.match(URL_REGEX, hook_url)))

def hook_test2():
    URL_REGEX = r'^(?:https?://)?((canary|ptb)\.)?discord(app)?\.com/api/webhooks/(?P<id>[0-9]+)/(?P<token>[A-Za-z0-9\.\-\_]+)/?$'
    print(bool(re.match(URL_REGEX, hook_url)))

hook_test1()
hook_test2()
sboulah commented 4 years ago

Regular discord on my pc, I noticed that the new webhooks seem to have a different layout than the old ones

sboulah commented 4 years ago

Still getting the same error:

Traceback (most recent call last): File "c:/Users/samib/Documents/Python/Projects/newwebhooks.py", line 3, in <module> hook = Webhook('https://discordapp.com/api/webhooks/736933475734519898/R5_mA80O-Yrm0Xds_TBHjfpYrp5xIKc5M0369KoC3dNMqX-24OPkrKjltCqmiW6YuNIC') File "C:\Users\samib\AppData\Local\Programs\Python\Python38-32\lib\site-packages\dhooks\client.py", line 144, in __init__ self._parse_or_format_url() File "C:\Users\samib\AppData\Local\Programs\Python\Python38-32\lib\site-packages\dhooks\client.py", line 482, in _parse_or_format_url raise ValueError('Invalid webhook URL provided.') ValueError: Invalid webhook URL provided. PS C:\Users\samib\Documents\Python>

Aloqeely commented 4 years ago

oh i see, that webhook is still using the discordapp domain (you forgot to blur it 😅), i'll PR a fix but in the meantime replace discordapp.com with discord.com from your url

sboulah commented 4 years ago

Thanks, its alright this is on a test account and server

DeJMan commented 4 years ago

I changed it to discord.com instead and it still didn't work

I changed it to discord.com instead and it still didn't work

Aloqeely commented 4 years ago

are you using the latest version of dhooks (1.1.4)?

DeJMan commented 4 years ago

Ah I thought I was.

Apparently, heroku was using cached dependencies of an older dhooks library even though locally I was using the latest one.

Bit of tinkering and I got it to clear cache and update. It works fine now, thanks.

S0V3T commented 4 years ago

Have same issue

Aloqeely commented 4 years ago

Have same issue

Read through this and you'll hopefully find a fix for your issue, The cause of this issue has been fixed but @kyb3r needs to push it to pypi