Discord

Use this app to create a Discord source that emits messages from your guild to a Pipedream workflow.

Integrate the Discord API with the OpenSRS API

Setup the Discord API trigger to run a workflow which integrates with the OpenSRS API. Pipedream's integration platform allows you to integrate Discord and OpenSRS remarkably fast. Free for developers.

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Initiate Domain Transfer with OpenSRS API on New Message (Instant) from Discord API
Discord + OpenSRS
 
Try it
Register Domain with OpenSRS API on New Message (Instant) from Discord API
Discord + OpenSRS
 
Try it
Update DNS Records with OpenSRS API on New Message (Instant) from Discord API
Discord + OpenSRS
 
Try it
Initiate Domain Transfer with OpenSRS API on Message Deleted (Instant) from Discord API
Discord + OpenSRS
 
Try it
Initiate Domain Transfer with OpenSRS API on New Command Received (Instant) from Discord API
Discord + OpenSRS
 
Try it
New Message (Instant) from the Discord API

Emit new event for each message posted to one or more channels in a Discord server

 
Try it
Message Deleted (Instant) from the Discord API

Emit new event for each message deleted

 
Try it
New DNS Zone Change from the OpenSRS API

Emit new event when the DNS/ZONE check has passed or failed at the registry. See the documentation.

 
Try it
New Command Received (Instant) from the Discord API

Emit new event for each command posted to one or more channels in a Discord server

 
Try it
New Domain Registration from the OpenSRS API

Emit new event for each new domain registration. See the documentation.

 
Try it
Initiate Domain Transfer with the OpenSRS API

Initiate a domain transfer to OpenSRS. See the documentation.

 
Try it
Register Domain with the OpenSRS API

Register a new domain. See the documentation.

 
Try it
Send Message with the Discord API

Send a simple message to a Discord channel

 
Try it
Update DNS Records with the OpenSRS API

Update DNS records for a specified domain. See the documentation.

 
Try it
Send Message (Advanced) with the Discord API

Send a simple or structured message (using embeds) to a Discord channel

 
Try it

Overview of Discord

The Discord API interacts seamlessly with Pipedream, empowering you to craft customized automations and workflows for your Discord server. With this powerful integration, you can automate tasks like message posting, user management, and notifications, based on a myriad of triggers and actions from different apps. These automations can enhance the Discord experience for community moderators and members, by synchronizing with external tools, organizing community engagement, and streamlining notifications.

Connect Discord

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    discord: {
      type: "app",
      app: "discord",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://discord.com/api/users/@me`,
      headers: {
        Authorization: `Bearer ${this.discord.$auth.oauth_access_token}`,
        "accept": `application/json`,
      },
    })
  },
})

Connect OpenSRS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import { axios } from "@pipedream/platform";
import crypto from 'crypto';

export default defineComponent({
  props: {
    opensrs: {
      type: "app",
      app: "opensrs",
    }
  },
  async run({steps, $}) {
		const connectionDetails = {
			reseller_username: this.opensrs.$auth.reseller_username,
			api_key: this.opensrs.$auth.api_key,
			api_host_port: this.opensrs.$auth.api_host_port
		};

    //Payload of the request
		const xml = `<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
    <version>0.9</version>
</header>
<body>
<data_block>
    <dt_assoc>
        <item key="protocol">XCP</item>
        <item key="action">LOOKUP</item>
        <item key="object">DOMAIN</item>
        <item key="attributes">
         <dt_assoc>
                <item key="domain">${this.opensrs.$auth.domain}</item>
         </dt_assoc>
        </item>
    </dt_assoc>
</data_block>
</body>
</OPS_envelope>`;

		// Generate signature
		const generateSignature = (xml, apiKey) => {
			let md5 = crypto.createHash('md5');
			md5.update(xml + apiKey);
			let firstHash = md5.digest('hex');

			md5 = crypto.createHash('md5');
			md5.update(firstHash + apiKey);
			return md5.digest('hex');
		};
		const signature = generateSignature(xml, connectionDetails.api_key);

		// Prepare and call OpenSRS API
		const headers = {
			'Content-Type': 'text/xml',
			'X-Username': connectionDetails.reseller_username,
			'X-Signature': signature
		};

		return await axios($, {
			method: "POST",
			url: connectionDetails.api_host_port,
			headers,
			data: xml
		});
  },
})

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo