@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix mcr: <https://registry.apicrafter.io/vocab#> .
@prefix dt: <https://registry.apicrafter.io/datatype/> .
@prefix cat: <https://registry.apicrafter.io/category/> .
@prefix country: <https://registry.apicrafter.io/country/> .
@prefix tool: <https://registry.apicrafter.io/tool/> .

dt:discord_webhook_url a skos:Concept ;
    skos:inScheme <https://registry.apicrafter.io/> ;
    skos:topConceptOf <https://registry.apicrafter.io/> ;
    skos:notation "discord_webhook_url" ;
    skos:prefLabel "Discord webhook URL"@en ;
    skos:definition "URL of a Discord webhook: the API route /webhooks/<webhook id>/<webhook token> on discord.com. Anyone who knows the URL can post messages to the channel, so the URL itself is the secret. The regexp also accepts an API version in the path, the ptb and canary hosts and the former discordapp.com domain, as the pyWhat tool does."@en ;
    mcr:status "draft" ;
    mcr:isPII false ;
    mcr:classification "identifier" ;
    mcr:regexp "^https://(?:(?:ptb|canary)\\.)?discord(?:app)?\\.com/api(?:/v[0-9]+)?/webhooks/[0-9]+/[A-Za-z0-9_-]+$" ;
    rdfs:seeAlso <https://docs.discord.com/developers/resources/webhook> ;
    rdfs:seeAlso <https://github.com/bee-san/pyWhat/blob/main/pywhat/Data/regex.json> .
